00001 /* === S Y N F I G ========================================================= */ 00021 /* ========================================================================= */ 00022 00023 /* === S T A R T =========================================================== */ 00024 00025 #ifndef __SYNFIG_CONTEXT_H 00026 #define __SYNFIG_CONTEXT_H 00027 00028 /* === H E A D E R S ======================================================= */ 00029 00030 #include "canvasbase.h" 00031 #include "rect.h" 00032 00033 /* === M A C R O S ========================================================= */ 00034 00035 /* === T Y P E D E F S ===================================================== */ 00036 00037 /* === C L A S S E S & S T R U C T S ======================================= */ 00038 00039 namespace synfig { 00040 00041 class Vector; 00042 typedef Vector Point; 00043 class Color; 00044 class Surface; 00045 class RendDesc; 00046 class ProgressCallback; 00047 class Layer; 00048 class Time; 00049 class Rect; 00050 00054 class Context : public CanvasBase::const_iterator 00055 { 00056 public: 00057 Context() { } 00058 00059 Context(const CanvasBase::const_iterator &x):CanvasBase::const_iterator(x) { } 00060 00061 Context operator=(const CanvasBase::const_iterator &x) 00062 { return CanvasBase::const_iterator::operator=(x); } 00063 00065 Color get_color(const Point &pos)const; 00066 00068 bool accelerated_render(Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb) const; 00069 00071 void set_time(Time time)const; 00072 00074 void set_time(Time time,const Vector &pos)const; 00075 00076 Rect get_full_bounding_rect()const; 00077 00079 etl::handle<Layer> hit_check(const Point &point)const; 00080 00081 }; // END of class Context 00082 00083 }; // END of namespace synfig 00084 00085 /* === E N D =============================================================== */ 00086 00087 #endif