Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Source/Viewer_System.c
/* |
* Viewer_System.c |
* |
* QuickDraw 3D 1.6 Sample |
* Robert Dierkes |
* |
* 12/22/98 RDD Created. |
*/ |
/*------------------*/ |
/* Include Files */ |
/*------------------*/ |
#include "QD3D.h" |
#if defined(OS_MACINTOSH) && OS_MACINTOSH |
#include "QD3DViewer.h" |
#include <CodeFragments.h> /* kUnresolvedCFragSymbolAddress */ |
#include <Gestalt.h> |
#include <Resources.h> |
#include <Sound.h> |
#endif |
#include "Viewer_Main.h" |
#include "Viewer_System.h" |
#include "Viewer_Error.h" |
/*----------------------*/ |
/* Global Declarations */ |
/*----------------------*/ |
/* |
* QuickDraw3D_Initialize |
*/ |
TQ3Boolean QuickDraw3D_Initialize( |
void) |
{ |
TQ3Status status = kQ3Failure; |
OSErr error; |
long response; |
unsigned long viewerRelRev; |
error = Gestalt(gestaltQD3D, &response); |
if ((error != noErr) || |
(! (response & (1 << gestaltQD3DPresent)))) { |
Error_ShowMessage(kQuickDraw3DNotInstalledStr); |
return kQ3False; |
} |
/* |
* Test for specific symbol as recommended in develop, March 1995 |
* NOTE: QuickDraw3DLib must be weak linked for this comparison to work. |
*/ |
if (((void *) Q3Initialize) == (void *) kUnresolvedCFragSymbolAddress) { |
Error_ShowMessage(kQuickDraw3DNotInstalledStr); |
return kQ3False; |
} |
status = Q3Initialize(); |
if (status == kQ3Failure) { |
ERROR_DEBUG_STR ("QuickDraw3D_Initialize: Q3Initialize returned failure."); |
return kQ3False; |
} |
/* Get QuickDraw 3D version */ |
error = Gestalt(gestaltQD3DVersion, &response); |
if ((error != noErr) || |
(response < kQD3DGestaltVersion_1_6_0)) { |
Error_ShowMessage(kQuickDraw3DNotCurrentStr); |
return kQ3False; |
} |
/* Get Viewer version */ |
error = Q3ViewerGetReleaseVersion(&viewerRelRev); |
if ((error != noErr) || |
(response < kQD3DGestaltVersion_1_6_0)) { |
Error_ShowMessage(kQuickDraw3DViewerNotCurrentStr); |
return kQ3False; |
} |
return kQ3True; |
} |
/* |
* QuickDraw3D_Exit |
*/ |
TQ3Boolean QuickDraw3D_Exit( |
void) |
{ |
if (Q3Exit() == kQ3Failure) { |
ERROR_DEBUG_STR ("QuickDraw3D_Exit: Q3Exit returned failure."); |
return kQ3False; |
} |
return kQ3True; |
} |
#pragma mark - |
/* |
* System_Beep |
*/ |
void System_Beep( |
void) |
{ |
#if defined(OS_MACINTOSH) && OS_MACINTOSH |
SysBeep(1); |
#endif |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14