/* -*- C++ -*- * Copyright ©2008 Hugo Mills * * This software is distributed under the terms of the GNU GPL v3 * For more information on the GPL, see the file COPYING or * visit http://www.gnu.org/ * * This software is distributed without warranty */ #ifndef CONTENT_FILLED_H #define CONTENT_FILLED_H #include "magellan/content.h" #include "config.h" class ContentFilled : public Content { public: ContentFilled( int minx, int miny, int maxx, int maxy, bool smooth ); ContentFilled( int maxx, int maxy, bool smooth ); ContentFilled(); virtual ~ContentFilled() { } virtual void plot( Output* bm, XfView* vp, XfMap* proj, XfOrbit* orb, XfSphere* sph ); static Content* parse( ConfigLexer* lex, const std::string& type, const std::string& subtype = "" ); virtual bool getpixel(ivec3&, const dvec2&) const = 0; protected: void blend(ivec3&, const ivec3&, const ivec3&, const ivec3&, const ivec3&, double, double) const; private: int minx, miny, maxx, maxy; double xconv, yconv; bool smooth; void init(); }; #endif