0022782: Uninitialized global variable used in conditionals in OpenGl package
[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 // The flags below provide additional information to define the moment when
15 // callback was invoked in redraw procedure. These flags are bitwise OR'ed
16 // with the "reason" value of callback:
17 // 1) OCC_PRE_REDRAW  - callback was invoked before redrawing underlayer
18 //                      ( at the beginning of redraw procedure );
19 // 2) OCC_PRE_OVERLAY - callback was invoked before redrawing overlayer;
20 // Otherwise, if no flags added to the "reason" value, the callback was
21 // invoked at the end of redraw ( after the overlayer is redrawn )
22 #define OCC_PRE_REDRAW  0x4000
23 #define OCC_PRE_OVERLAY 0x8000
24
25 // mask for all additional callbacks that invoked in process of redrawing
26 #define OCC_REDRAW_ADDITIONAL_CALLBACKS ( OCC_PRE_REDRAW | OCC_PRE_OVERLAY )
27
28  typedef struct {
29    int reason;
30    int wsID;
31    int viewID;
32    Aspect_Display display;
33    Aspect_Drawable window;
34    Aspect_RenderingContext gcontext;
35  } Aspect_GraphicCallbackStruct;
36
37  typedef int (*Aspect_GraphicCallbackProc)(
38     Aspect_Drawable     /* Window ID */,
39     void*               /* user data */, 
40     Aspect_GraphicCallbackStruct*  /* call data */ 
41  );
42
43 #if defined(__cplusplus) || defined(c_plusplus)
44 /*==== Definition de Type ====================================================*/
45
46 #include <Standard_Macro.hxx>
47 class Handle(Standard_Type);
48 const Handle(Standard_Type)& STANDARD_TYPE(Aspect_GraphicCallbackProc);
49
50 /*============================================================================*/
51 #endif
52
53 #endif /* _Aspect_GraphicCallbackProc_HeaderFile */