moreupdates
[synfig.git] / synfig-core / trunk / src / synfig / context.h
1 /* === S Y N F I G ========================================================= */
2 /*!     \file context.h
3 **      \brief Template Header
4 **
5 **      $Id: context.h,v 1.2 2005/01/24 03:08:17 darco Exp $
6 **
7 **      \legal
8 **      Copyright (c) 2002 Robert B. Quattlebaum Jr.
9 **
10 **      This software and associated documentation
11 **      are CONFIDENTIAL and PROPRIETARY property of
12 **      the above-mentioned copyright holder.
13 **
14 **      You may not copy, print, publish, or in any
15 **      other way distribute this software without
16 **      a prior written agreement with
17 **      the copyright holder.
18 **      \endlegal
19 */
20 /* ========================================================================= */
21
22 /* === S T A R T =========================================================== */
23
24 #ifndef __SYNFIG_CONTEXT_H
25 #define __SYNFIG_CONTEXT_H
26
27 /* === H E A D E R S ======================================================= */
28
29 #include "canvasbase.h"
30 #include "rect.h"
31
32 /* === M A C R O S ========================================================= */
33
34 /* === T Y P E D E F S ===================================================== */
35
36 /* === C L A S S E S & S T R U C T S ======================================= */
37
38 namespace synfig {
39
40 class Vector;
41 typedef Vector Point;
42 class Color;
43 class Surface;
44 class RendDesc;
45 class ProgressCallback;
46 class Layer;
47 class Time;
48 class Rect;
49         
50 /*!     \class Context
51 **      \todo writeme
52 **      \see Layer, Canvas */
53 class Context : public CanvasBase::const_iterator
54 {
55 public:
56         Context() { }
57
58         Context(const CanvasBase::const_iterator &x):CanvasBase::const_iterator(x) { }
59
60         Context operator=(const CanvasBase::const_iterator &x)
61         { return CanvasBase::const_iterator::operator=(x); }
62         
63         /*!     \todo write me */
64         Color get_color(const Point &pos)const;
65
66         /*!     \todo write me */
67         bool accelerated_render(Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb) const;
68
69         /*!     \todo write me */
70         void set_time(Time time)const;
71
72         /*!     \writeme */
73         void set_time(Time time,const Vector &pos)const;
74
75         Rect get_full_bounding_rect()const;
76
77         /*! \writeme */
78         virtual etl::handle<Layer> hit_check(const Point &point)const;
79
80 }; // END of class Context
81         
82 }; // END of namespace synfig
83         
84 /* === E N D =============================================================== */
85
86 #endif