Interface margins and axes bounds properties.
[scilab.git] / scilab / modules / renderer / src / cpp / subwinDrawing / DrawableSubwin.h
1 /*------------------------------------------------------------------------*/
2 /* file: DrawableSubwin.h                                                 */
3 /* Copyright INRIA 2007                                                   */
4 /* Authors : Jean-Baptiste Silvy                                          */
5 /* desc : Class containing the drawing routine for a subwin object        */
6 /*------------------------------------------------------------------------*/
7
8 #ifndef _DRAWABLE_SUBWIN_H_
9 #define _DRAWABLE_SUBWIN_H_
10
11
12 #include "../DrawableClippedObject.h"
13 #include "Camera.h"
14 #include "DrawableSubwinBridge.h"
15
16 namespace sciGraphics
17 {
18
19 class DrawableSubwin : public DrawableClippedObject
20 {
21
22 public:
23
24   DrawableSubwin( sciPointObj * pObj ) ;
25
26   virtual ~DrawableSubwin( void ) ;
27
28   /**
29    * Set/Get the current camera
30    */
31   Camera * getCamera( void ) { return m_pCamera; }
32
33   void setCamera( Camera * cam ) { m_pCamera = cam ; }
34
35 protected:
36
37   /**
38    * Draw the graphic handle and store it representation in memory
39    * for later faster drawing.
40    */
41   virtual void draw( void ) ;
42
43   /**
44    * Fast draw of the graphic handle on the screen using the data created by draw.
45    * Warning, be sure that draw is called before show each time the handle is modified.
46    */
47   virtual void show( void ) ;
48
49   /**
50    * Return the real type of implementation object
51    */
52   DrawableSubwinBridge * getSubwinImp( void ) ;
53
54   /*--------------------------------------------------------------------------------------*/
55   /** Camera used to visualize this axes */
56   Camera * m_pCamera;
57   /*--------------------------------------------------------------------------------------*/
58
59
60 } ;
61
62 }
63
64 #endif /* _DRAWABLE_SUBWIN_H_  */