Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1092 lines
29 KiB

5 years ago
/*
File: QD3DViewer.h
Contains: MacOS Viewer Controller Interface File.
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
Copyright: (c) 2007 (c) 1995-1998 by Apple Computer, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __QD3DVIEWER__
#define __QD3DVIEWER__
#ifndef __QD3D__
#include <QD3D.h>
#endif
#ifndef __QD3DGROUP__
#include <QD3DGroup.h>
#endif
#if TARGET_OS_MAC
#ifndef __EVENTS__
#include <Events.h>
#endif
#ifndef __MACTYPES__
#include <MacTypes.h>
#endif
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#endif /* TARGET_OS_MAC */
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
#if defined(__fourbyteints__) && !__fourbyteints__
#define __QD3DVIEWER__RESTORE_TWOBYTEINTS
#pragma fourbyteints on
#endif
#pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
#pragma option enum=int
#elif PRAGMA_ENUM_PACK
#if __option(pack_enums)
#define __QD3DVIEWER__RESTORE_PACKED_ENUMS
#pragma options(!pack_enums)
#endif
#endif
typedef void * TQ3ViewerObject;
typedef CALLBACK_API_C( TQ3Status , TQ3ViewerWindowResizeCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
typedef CALLBACK_API_C( TQ3Status , TQ3ViewerPaneResizeNotifyCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
#if TARGET_OS_MAC
typedef CALLBACK_API_C( OSErr , TQ3ViewerDrawingCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
enum {
kQ3ViewerShowBadge = 1 << 0,
kQ3ViewerActive = 1 << 1,
kQ3ViewerControllerVisible = 1 << 2,
kQ3ViewerDrawFrame = 1 << 3,
kQ3ViewerDraggingOff = 1 << 4,
kQ3ViewerButtonCamera = 1 << 5,
kQ3ViewerButtonTruck = 1 << 6,
kQ3ViewerButtonOrbit = 1 << 7,
kQ3ViewerButtonZoom = 1 << 8,
kQ3ViewerButtonDolly = 1 << 9,
kQ3ViewerButtonReset = 1 << 10,
kQ3ViewerOutputTextMode = 1 << 11,
kQ3ViewerDragMode = 1 << 12,
kQ3ViewerDrawGrowBox = 1 << 13,
kQ3ViewerDrawDragBorder = 1 << 14,
kQ3ViewerDraggingInOff = 1 << 15,
kQ3ViewerDraggingOutOff = 1 << 16,
kQ3ViewerButtonOptions = 1 << 17,
kQ3ViewerPaneGrowBox = 1 << 18,
kQ3ViewerDefault = 1 << 31
};
enum {
kQ3ViewerEmpty = 0,
kQ3ViewerHasModel = 1 << 0,
kQ3ViewerHasUndo = 1 << 1
};
enum TQ3ViewerCameraView {
kQ3ViewerCameraRestore = 0,
kQ3ViewerCameraFit = 1,
kQ3ViewerCameraFront = 2,
kQ3ViewerCameraBack = 3,
kQ3ViewerCameraLeft = 4,
kQ3ViewerCameraRight = 5,
kQ3ViewerCameraTop = 6,
kQ3ViewerCameraBottom = 7
};
typedef enum TQ3ViewerCameraView TQ3ViewerCameraView;
/******************************************************************************
** **
** Return viewer version number **
** **
*****************************************************************************/
#if CALL_NOT_IN_CARBON
/*
* Q3ViewerGetVersion()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetVersion(
unsigned long * majorRevision,
unsigned long * minorRevision);
/******************************************************************************
** **
** Return viewer release version number **
** (in 'vers' format - e.g. 0x01518000 ==> 1.5.1 release) **
** **
*****************************************************************************/
/*
* Q3ViewerGetReleaseVersion()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetReleaseVersion(unsigned long * releaseRevision);
/******************************************************************************
** **
** Creation and destruction **
** Note that this is not a QuickDraw 3D object **
** **
*****************************************************************************/
/*
* Q3ViewerNew()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3ViewerObject )
Q3ViewerNew(
CGrafPtr port,
Rect * rect,
unsigned long flags);
/*
* Q3ViewerDispose()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerDispose(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Functions to attach data to a viewer **
** **
*****************************************************************************/
/*
* Q3ViewerUseFile()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerUseFile(
TQ3ViewerObject theViewer,
long refNum);
/*
* Q3ViewerUseData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerUseData(
TQ3ViewerObject theViewer,
void * data,
long size);
/******************************************************************************
** **
** Functions to write data out from the Viewer **
** **
*****************************************************************************/
/*
* Q3ViewerWriteFile()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerWriteFile(
TQ3ViewerObject theViewer,
long refNum);
/*
* Q3ViewerWriteData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( unsigned long )
Q3ViewerWriteData(
TQ3ViewerObject theViewer,
Handle data);
/******************************************************************************
** **
** Use this function to force the Viewer to re-draw **
** **
*****************************************************************************/
/*
* Q3ViewerDraw()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerDraw(TQ3ViewerObject theViewer);
/*
* Q3ViewerDrawContent()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerDrawContent(TQ3ViewerObject theViewer);
/*
* Q3ViewerDrawControlStrip()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerDrawControlStrip(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Function used by the Viewer to filter and handle events **
** **
*****************************************************************************/
/*
* Q3ViewerEvent()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
Q3ViewerEvent(
TQ3ViewerObject theViewer,
EventRecord * evt);
/******************************************************************************
** **
** This function returns a PICT of the contents of the **
** Viewer's window. The application should dispose the PICT. **
** **
*****************************************************************************/
/*
* Q3ViewerGetPict()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( PicHandle )
Q3ViewerGetPict(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Calls for dealing with Buttons **
** **
*****************************************************************************/
/*
* Q3ViewerGetButtonRect()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetButtonRect(
TQ3ViewerObject theViewer,
unsigned long button,
Rect * rect);
/*
* Q3ViewerGetCurrentButton()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( unsigned long )
Q3ViewerGetCurrentButton(TQ3ViewerObject theViewer);
/*
* Q3ViewerSetCurrentButton()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetCurrentButton(
TQ3ViewerObject theViewer,
unsigned long button);
/******************************************************************************
** **
** Functions to set/get the group to be displayed by the Viewer. **
** **
*****************************************************************************/
/*
* Q3ViewerUseGroup()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerUseGroup(
TQ3ViewerObject theViewer,
TQ3GroupObject group);
/*
* Q3ViewerGetGroup()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3GroupObject )
Q3ViewerGetGroup(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Functions to set/get the color used to clear the window **
** **
*****************************************************************************/
/*
* Q3ViewerSetBackgroundColor()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetBackgroundColor(
TQ3ViewerObject theViewer,
TQ3ColorARGB * color);
/*
* Q3ViewerGetBackgroundColor()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetBackgroundColor(
TQ3ViewerObject theViewer,
TQ3ColorARGB * color);
/******************************************************************************
** **
** Getting/Setting a Viewer's View object. **
** **
*****************************************************************************/
/*
* Q3ViewerGetView()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3ViewObject )
Q3ViewerGetView(TQ3ViewerObject theViewer);
/*
* Q3ViewerRestoreView()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerRestoreView(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Calls for setting/getting viewer flags **
** **
*****************************************************************************/
/*
* Q3ViewerSetFlags()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetFlags(
TQ3ViewerObject theViewer,
unsigned long flags);
/*
* Q3ViewerGetFlags()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( unsigned long )
Q3ViewerGetFlags(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Calls related to bounds/dimensions. Bounds is the size of **
** the window. Dimensions can either be the Rect from the ViewHints **
** or the current dimensions of the window (if you do a Set). **
** **
*****************************************************************************/
/*
* Q3ViewerSetBounds()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetBounds(
TQ3ViewerObject theViewer,
Rect * bounds);
/*
* Q3ViewerGetBounds()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetBounds(
TQ3ViewerObject theViewer,
Rect * bounds);
/*
* Q3ViewerSetDimension()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetDimension(
TQ3ViewerObject theViewer,
unsigned long width,
unsigned long height);
/*
* Q3ViewerGetDimension()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetDimension(
TQ3ViewerObject theViewer,
unsigned long * width,
unsigned long * height);
/*
* Q3ViewerGetMinimumDimension()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetMinimumDimension(
TQ3ViewerObject theViewer,
unsigned long * width,
unsigned long * height);
/******************************************************************************
** **
** Port related calls **
** **
*****************************************************************************/
/*
* Q3ViewerSetPort()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetPort(
TQ3ViewerObject theViewer,
CGrafPtr port);
/*
* Q3ViewerGetPort()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( CGrafPtr )
Q3ViewerGetPort(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Adjust Cursor should be called from idle loop to allow the Viewer **
** to change the cursor according to the cursor position/object under **
** the cursor. **
** **
*****************************************************************************/
/*
* Q3ViewerAdjustCursor()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
Q3ViewerAdjustCursor(
TQ3ViewerObject theViewer,
Point * pt);
/*
* Q3ViewerCursorChanged()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerCursorChanged(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Returns the state of the viewer. See the constant defined at the **
** top of this file. **
** **
*****************************************************************************/
/*
* Q3ViewerGetState()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( unsigned long )
Q3ViewerGetState(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** Clipboard utilities **
** **
*****************************************************************************/
/*
* Q3ViewerClear()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerClear(TQ3ViewerObject theViewer);
/*
* Q3ViewerCut()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerCut(TQ3ViewerObject theViewer);
/*
* Q3ViewerCopy()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerCopy(TQ3ViewerObject theViewer);
/*
* Q3ViewerPaste()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerPaste(TQ3ViewerObject theViewer);
/******************************************************************************
** **
** New Event Model **
** **
*****************************************************************************/
/*
* Q3ViewerMouseDown()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
Q3ViewerMouseDown(
TQ3ViewerObject theViewer,
long x,
long y);
/*
* Q3ViewerContinueTracking()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
Q3ViewerContinueTracking(
TQ3ViewerObject theViewer,
long x,
long y);
/*
* Q3ViewerMouseUp()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
Q3ViewerMouseUp(
TQ3ViewerObject theViewer,
long x,
long y);
/*
* Q3ViewerHandleKeyEvent()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
Q3ViewerHandleKeyEvent(
TQ3ViewerObject theViewer,
EventRecord * evt);
/******************************************************************************
** **
** CallBacks **
** **
*****************************************************************************/
/*
* Q3ViewerSetDrawingCallbackMethod()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetDrawingCallbackMethod(
TQ3ViewerObject theViewer,
TQ3ViewerDrawingCallbackMethod callbackMethod,
const void * data);
/*
* Q3ViewerSetWindowResizeCallback()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetWindowResizeCallback(
TQ3ViewerObject theViewer,
TQ3ViewerWindowResizeCallbackMethod windowResizeCallbackMethod,
const void * data);
/*
* Q3ViewerSetPaneResizeNotifyCallback()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetPaneResizeNotifyCallback(
TQ3ViewerObject theViewer,
TQ3ViewerPaneResizeNotifyCallbackMethod paneResizeNotifyCallbackMethod,
const void * data);
/******************************************************************************
** **
** Undo **
** **
*****************************************************************************/
/*
* Q3ViewerUndo()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerUndo(TQ3ViewerObject theViewer);
/*
* Q3ViewerGetUndoString()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
Q3ViewerGetUndoString(
TQ3ViewerObject theViewer,
char * str,
unsigned long * cnt);
/******************************************************************************
** **
** Camera Support **
** **
*****************************************************************************/
/*
* Q3ViewerGetCameraCount()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetCameraCount(
TQ3ViewerObject theViewer,
unsigned long * cnt);
/*
* Q3ViewerSetCameraByNumber()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetCameraByNumber(
TQ3ViewerObject theViewer,
unsigned long cameraNo);
/*
* Q3ViewerSetCameraByView()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetCameraByView(
TQ3ViewerObject theViewer,
TQ3ViewerCameraView viewType);
/******************************************************************************
** **
** Pop-up Button Options **
** **
*****************************************************************************/
/*
* Q3ViewerSetRendererType()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetRendererType(
TQ3ViewerObject theViewer,
TQ3ObjectType rendererType);
/*
* Q3ViewerGetRendererType()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetRendererType(
TQ3ViewerObject theViewer,
TQ3ObjectType * rendererType);
/*
* Q3ViewerChangeBrightness()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerChangeBrightness(
TQ3ViewerObject theViewer,
float brightness);
/*
* Q3ViewerSetRemoveBackfaces()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetRemoveBackfaces(
TQ3ViewerObject theViewer,
TQ3Boolean remove);
/*
* Q3ViewerGetRemoveBackfaces()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetRemoveBackfaces(
TQ3ViewerObject theViewer,
TQ3Boolean * remove);
/*
* Q3ViewerSetPhongShading()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerSetPhongShading(
TQ3ViewerObject theViewer,
TQ3Boolean phong);
/*
* Q3ViewerGetPhongShading()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( OSErr )
Q3ViewerGetPhongShading(
TQ3ViewerObject theViewer,
TQ3Boolean * phong);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_MAC */
#if PRAGMA_ENUM_ALWAYSINT
#pragma enumsalwaysint reset
#ifdef __QD3DVIEWER__RESTORE_TWOBYTEINTS
#pragma fourbyteints off
#endif
#elif PRAGMA_ENUM_OPTIONS
#pragma option enum=reset
#elif defined(__QD3DVIEWER__RESTORE_PACKED_ENUMS)
#pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* __QD3DVIEWER__ */