#include <boost/gil/typedefs.hpp>
#include <boost/gil/extension/io/png_dynamic_io.hpp>
#include <utilgil.hpp>
#include <utilstl.hpp>

using namespace boost::gil;

//GCC Build String
//g++ sample3.cpp -lpng -lz -I . -I ~/lib/boost -I ~/lib  

int main(int args, char** argv)
{
        rgb8_image_t img(200,200);
        boost::gil::fill_pixels(boost::gil::view(img),
                boost::gil::rgb8_pixel_t(170,170,170));

        typedef boost::gil::point2<int> point_t;
        std::vector<point_t> points;
        points.push_back(point_t(10,10));
        points.push_back(point_t(30,100));
        points.push_back(point_t(50,50));
        points.push_back(point_t(70,150));
        points.push_back(point_t(90,10));
        points.push_back(point_t(110,50));
        points.push_back(point_t(130,170));
        points.push_back(point_t(150,40));
        points.push_back(point_t(190,130));

        std::for_each(points.begin(),points.end()-1,points.begin()+1,
                draw_line<boost::gil::rgb8_view_t>(boost::gil::view(img),
                        rgb8_pixel_t(0,0,0))); 
       
        png_write_view("sample3.png", boost::gil::view(img));
}