GXFile.h

/*
    File:       GXFile.h
 
    Contains:   GX print file support for simple text application
 
    Version:    SimpleText 1.4 or later
 
** Copyright 1993-1996 Apple Computer. 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 "SimpleText.h"
 
#define kGotoPageDialogID       kGXBaseID
 
#define kLabelString            kGXBaseID
#define kPageControlStrings     kGXBaseID+1
    #define iGoToPageString         1
    
#define kPageControlPlain       kGXBaseID
#define kPageControlRight       kPageControlPlain+1
#define kPageControlLeft        kPageControlPlain+2
 
#define kZoomControlPlain       kGXBaseID+3
#define kZoomControlRight       kZoomControlPlain+1
#define kZoomControlLeft        kZoomControlPlain+2
 
#define kGXPopUpMenu            kGXBaseID
    #define i50                     1
    #define i100                    2
    #define i112                    3
    #define i150                    4
    #define i200                    5
    #define i400                    6
    #define iScaleToFit             8
    #define iDontShowMargins        10
    
#define kGXToolMenu             kGXBaseID+1
    #define kIconBase               256
    #define kSelectionTool          1
    #define kRedMarkerTool          2
 
#ifndef REZ
    
    struct GXDataRecord
        {
        WindowDataRecord        w;
        
        gxViewPort              parentViewPort;     // viewPort in the window
        gxViewPort              childViewPort;      // viewPort inset from the other
        
        gxPrintFile             thePrintFile;
        short                   printFileRefNum;
        
        long                    numberOfPages;      // # of pages in this document
        long                    currentPage;        // currently visible page #
        Fixed                   zoomFactor;         // current zoom factor
        Boolean                 dontShowMargins;    // don't show page margins
 
        // mode when user clicks in content
        short                   contentClickMode;
 
        // current selection information
        Rect                    selectionRectangle;
        short                   patternPhase;
        
        // filled in during drag to avoid multiple shape traversals
        gxShape                 tempDragShape;
        
        // current page and format information
        gxShape                 currentPageShape;
        gxFormat                currentPageFormat;
 
        // filled in during shape traverse to locate the desired starting "index"
        long                    tempSearchIndex;
        
        // fields for currently selected item in the search
        long                    currentShapeIndex;
        long                    currentShapeStart;
        long                    currentShapeEnd;
        gxShape                 currentSelectionShape;
        gxMapping               currentSelectionMapping;
        
        // fields for annotation pictures
        gxShape                 ** pageAnnotations;
        };
    typedef struct GXDataRecord GXDataRecord, *GXDataPtr;   
#endif