-/*============================================================================*/
-/*==== Titre: Aspect_GraphicCallbackProc.hxx */
-/*==== Role : The header file of primitive type "GraphicCallbackProc" from package */
-/*==== "V3d" */
-/*==== Implementation: This is a primitive type implemented with typedef */
-/*============================================================================*/
+// Copyright (c) 1999-2014 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
#ifndef _Aspect_GraphicCallbackProc_HeaderFile
#define _Aspect_GraphicCallbackProc_HeaderFile
+
#include <Aspect_Display.hxx>
#include <Aspect_Drawable.hxx>
#include <Aspect_RenderingContext.hxx>
+#include <Handle_Standard_Transient.hxx>
// The flags below provide additional information to define the moment when
// callback was invoked in redraw procedure. These flags are bitwise OR'ed
// mask for all additional callbacks that invoked in process of redrawing
#define OCC_REDRAW_ADDITIONAL_CALLBACKS ( OCC_PRE_REDRAW | OCC_PRE_OVERLAY )
- typedef struct {
- int reason;
- int wsID;
- int viewID;
- Aspect_Display display;
- Aspect_Drawable window;
- Aspect_RenderingContext gcontext;
- } Aspect_GraphicCallbackStruct;
-
- typedef int (*Aspect_GraphicCallbackProc)(
- Aspect_Drawable /* Window ID */,
- void* /* user data */,
- Aspect_GraphicCallbackStruct* /* call data */
- );
-
-#if defined(__cplusplus) || defined(c_plusplus)
-/*==== Definition de Type ====================================================*/
-
-#include <Standard_Macro.hxx>
+typedef struct
+{
+ int reason;
+ int wsID;
+ int viewID;
+ Handle(Standard_Transient) glContext;
+} Aspect_GraphicCallbackStruct;
+
+// Prototype for callback function to perform custom drawing within the same window and GL context.
+typedef int (*Aspect_GraphicCallbackProc) (Aspect_Drawable theWindowID,
+ void* theUserData,
+ Aspect_GraphicCallbackStruct* theCallData);
+
class Handle(Standard_Type);
const Handle(Standard_Type)& STANDARD_TYPE(Aspect_GraphicCallbackProc);
-/*============================================================================*/
-#endif
-
#endif /* _Aspect_GraphicCallbackProc_HeaderFile */