0022627: Change OCCT memory management defaults
[occt.git] / src / Aspect / Aspect_GraphicCallbackProc.hxx
CommitLineData
7fd59977 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
b299a91c
A
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
7fd59977 23#define OCC_PRE_OVERLAY 0x8000
24
b299a91c
A
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
7fd59977 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>
47class Handle(Standard_Type);
48const Handle(Standard_Type)& STANDARD_TYPE(Aspect_GraphicCallbackProc);
49
50/*============================================================================*/
51#endif
52
53#endif /* _Aspect_GraphicCallbackProc_HeaderFile */