3a6e79e8daced16dc40b1c05c9f6d4e25ace9ca4
[occt.git] / src / Aspect / Aspect_GraphicCallbackProc.hxx
1 /*============================================================================*/
2 /*==== Titre: Aspect_GraphicCallbackProc.hxx                                               */
3 /*==== Role : The header file of primitive type "GraphicCallbackProc" from package        */
4 /*==== "V3d"                                                           */
5 /*==== Implementation:  This is a primitive type implemented with typedef     */
6 /*============================================================================*/
7
8 #ifndef _Aspect_GraphicCallbackProc_HeaderFile
9 #define _Aspect_GraphicCallbackProc_HeaderFile
10 #include <Aspect_Display.hxx>
11 #include <Aspect_Drawable.hxx>
12 #include <Aspect_RenderingContext.hxx>
13
14 #define OCC_REDRAW_WINDOW 1
15 #define OCC_REDRAW_WINDOWAREA 2
16 #define OCC_REDRAW_BITMAP 3
17
18 /* 
19    This flag, when bitwise OR`ed with the "reason" value, 
20    informs the callback that it is called before redrawing the overlayer .
21    Otherwise, the callback is invoked after the overlayer is redrawn.        
22 */
23 #define OCC_PRE_OVERLAY 0x8000
24
25  typedef struct {
26    int reason;
27    int wsID;
28    int viewID;
29    Aspect_Display display;
30    Aspect_Drawable window;
31    Aspect_RenderingContext gcontext;
32  } Aspect_GraphicCallbackStruct;
33
34  typedef int (*Aspect_GraphicCallbackProc)(
35     Aspect_Drawable     /* Window ID */,
36     void*               /* user data */, 
37     Aspect_GraphicCallbackStruct*  /* call data */ 
38  );
39
40 #if defined(__cplusplus) || defined(c_plusplus)
41 /*==== Definition de Type ====================================================*/
42
43 #include <Standard_Macro.hxx>
44 class Handle(Standard_Type);
45 const Handle(Standard_Type)& STANDARD_TYPE(Aspect_GraphicCallbackProc);
46
47 /*============================================================================*/
48 #endif
49
50 #endif /* _Aspect_GraphicCallbackProc_HeaderFile */