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.
Headers/App.h
/************************************************************************************* |
# |
# App.h |
# |
# This file contains the constants and structure definitions. |
# |
# Author(s): Michael Marinkovich & Guillermo Ortiz |
# marink@apple.com |
# |
# Modification History: |
# |
# 4/3/96 MWM Initial coding |
# |
# Copyright © 1992-96 Apple Computer, Inc., All Rights Reserved |
# |
# |
# You may incorporate this sample code into your applications without |
# restriction, though the sample code has been provided "AS IS" and the |
# responsibility for its operation is 100% yours. However, what you are |
# not permitted to do is to redistribute the source as "DSC Sample Code" |
# after having made changes. If you're going to re-distribute the source, |
# we require that you make it clear in the source that the code was |
# descended from Apple Sample Code, but that you've made changes. |
# |
*************************************************************************************/ |
#include <Printing.h> |
#include <QDOffscreen.h> |
//--------------------------------------------------------------------- |
// |
// JFIF (JPEG) markers |
// |
//--------------------------------------------------------------------- |
enum { |
kSOFMarker = 0xC0, // Start Of Frame N |
kSOFMarker2 = 0xC2, |
kDHTMarker = 0xC4, // DHT Marker |
kDACMarker = 0xCC, // DAC |
kRSTOMarker = 0xD0, // RSTO marker |
kSOIMarker = 0xD8, // Image start marker |
kEOIMarker = 0xD9, // Image end marker |
kSOSMarker = 0xDA, // SOS marker |
kDQTMarker = 0xDB, // DQT marker |
kAPPOMarker = 0xE0, // APPO marker |
kCommentMarker = 0xFE, // comment marker |
kStartMarker = 0xFF // marker loacted after this byte |
}; |
//--------------------------------------------------------------------- |
// |
// Macros |
// |
//--------------------------------------------------------------------- |
#define MIN(x,y) ( ((x)<(y)) ? (x) : (y) ) |
#define MAX(x,y) ( ((x)>(y)) ? (x) : (y) ) |
#define TopLeft( r ) ( *(Point *) &(r).top ) |
#define BotRight( r ) ( *(Point *) &(r).bottom ) |
//--------------------------------------------------------------------- |
// |
// General |
// |
//--------------------------------------------------------------------- |
#define kMinHeap 300 * 1024 |
#define kMinSpace 300 * 1024 |
//--------------------------------------------------------------------- |
// |
// Menus |
// |
//--------------------------------------------------------------------- |
#define rMBarID 128 |
enum { |
mApple = 128, |
iAbout = 1, |
mFile = 129, |
iNew = 1, |
iOpen = 2, |
iSave = 3, |
iClose = 4, |
iQuit = 6 |
}; |
//--------------------------------------------------------------------- |
// |
// Window stuff |
// |
//--------------------------------------------------------------------- |
// doc types |
enum { |
kDocKind = 94, |
kDialogKind = 95, |
kFloatKind = 96, |
kAboutKind = 97 |
}; |
#define kFudgeFactor 4 // fudge factor for boundary around window |
#define kTitleBarHeight 18 // title bar height |
// scroll values |
#define kScrollWidth 15 |
#define kScrollDelta 16 |
//--------------------------------------------------------------------- |
// |
// General resource ID's |
// |
//--------------------------------------------------------------------- |
#define rAboutPictID 3000 // about picture |
#define rErrorDlg 128 // main error dialog |
//--------------------------------------------------------------------- |
// |
// Alert Error ID's |
// |
//--------------------------------------------------------------------- |
#define kNeedsDisplayManager 128 // ID of no Display Manager |
#define kNeedsQuickTime 129 // ID of no QuickTime |
//--------------------------------------------------------------------- |
// |
// Custom Event Proc stuff |
// |
//--------------------------------------------------------------------- |
enum { |
kIdleProc = 1, |
kMenuProc, |
kInContentProc, |
kInGoAwayProc, |
kInZoomProc, |
kInGrowProc, |
kMUpProc, |
kKeyProc, |
kActivateProc, |
kUpdateProc |
}; |
//--------------------------------------------------------------------- |
// |
// Typedefs |
// |
//--------------------------------------------------------------------- |
// event handling proc |
typedef void (*CustomProc)(WindowRef window, void *refCon); |
// we just use the basic events for the callback procs |
struct DocRec |
{ |
CustomProc idleProc; // custom idle proc |
CustomProc mMenuProc; // custom menu proc |
CustomProc inContentProc; // custom content click Proc |
CustomProc inGoAwayProc; // custom inGoAway proc |
CustomProc inZoomProc; // custom inZoom proc |
CustomProc inGrowProc; // custom inGrow proc |
CustomProc mUpProc; // custom mouseUp proc |
CustomProc keyProc; // custom autoKey-keyDown proc |
CustomProc activateProc; // custom activate window proc |
CustomProc updateProc; // custom window update proc |
ControlRef hScroll; // horz scroll bar |
ControlRef vScroll; // vert scroll bar |
GWorldPtr world; // offscreen for pict imaging |
PicHandle pict; // windows picture |
THPrint printer; // apps print record - inited at window int |
Boolean dirty; // document needs saving |
}; |
typedef struct DocRec DocRec; |
typedef DocRec *DocPtr, **DocHnd; |
struct DLDataRec |
{ |
long refNum; // ref number of cuurent file |
long fileLength; |
Ptr origPtr; // address of start of buffer; |
Ptr endPtr; // ending address of the buffer |
}; |
typedef struct DLDataRec DLDataRec; |
typedef DLDataRec *DLDataPtr, **DLDataHnd; |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14