0023024: Update headers of OCCT files
[occt.git] / src / Aspect / Aspect_GraphicCallbackProc.hxx
CommitLineData
b311480e 1// Copyright (c) 1999-2012 OPEN CASCADE SAS
2//
3// The content of this file is subject to the Open CASCADE Technology Public
4// License Version 6.5 (the "License"). You may not use the content of this file
5// except in compliance with the License. Please obtain a copy of the License
6// at http://www.opencascade.org and read it completely before using this file.
7//
8// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10//
11// The Original Code and all software distributed under the License is
12// distributed on an "AS IS" basis, without warranty of any kind, and the
13// Initial Developer hereby disclaims all such warranties, including without
14// limitation, any warranties of merchantability, fitness for a particular
15// purpose or non-infringement. Please see the License for the specific terms
16// and conditions governing the rights and limitations under the License.
17
7fd59977 18/*============================================================================*/
19/*==== Titre: Aspect_GraphicCallbackProc.hxx */
20/*==== Role : The header file of primitive type "GraphicCallbackProc" from package */
21/*==== "V3d" */
22/*==== Implementation: This is a primitive type implemented with typedef */
23/*============================================================================*/
24
25#ifndef _Aspect_GraphicCallbackProc_HeaderFile
26#define _Aspect_GraphicCallbackProc_HeaderFile
27#include <Aspect_Display.hxx>
28#include <Aspect_Drawable.hxx>
29#include <Aspect_RenderingContext.hxx>
30
b299a91c
A
31// The flags below provide additional information to define the moment when
32// callback was invoked in redraw procedure. These flags are bitwise OR'ed
33// with the "reason" value of callback:
34// 1) OCC_PRE_REDRAW - callback was invoked before redrawing underlayer
35// ( at the beginning of redraw procedure );
36// 2) OCC_PRE_OVERLAY - callback was invoked before redrawing overlayer;
37// Otherwise, if no flags added to the "reason" value, the callback was
38// invoked at the end of redraw ( after the overlayer is redrawn )
39#define OCC_PRE_REDRAW 0x4000
7fd59977 40#define OCC_PRE_OVERLAY 0x8000
41
b299a91c
A
42// mask for all additional callbacks that invoked in process of redrawing
43#define OCC_REDRAW_ADDITIONAL_CALLBACKS ( OCC_PRE_REDRAW | OCC_PRE_OVERLAY )
44
7fd59977 45 typedef struct {
46 int reason;
47 int wsID;
48 int viewID;
49 Aspect_Display display;
50 Aspect_Drawable window;
51 Aspect_RenderingContext gcontext;
52 } Aspect_GraphicCallbackStruct;
53
54 typedef int (*Aspect_GraphicCallbackProc)(
55 Aspect_Drawable /* Window ID */,
56 void* /* user data */,
57 Aspect_GraphicCallbackStruct* /* call data */
58 );
59
60#if defined(__cplusplus) || defined(c_plusplus)
61/*==== Definition de Type ====================================================*/
62
63#include <Standard_Macro.hxx>
64class Handle(Standard_Type);
65const Handle(Standard_Type)& STANDARD_TYPE(Aspect_GraphicCallbackProc);
66
67/*============================================================================*/
68#endif
69
70#endif /* _Aspect_GraphicCallbackProc_HeaderFile */