home *** CD-ROM | disk | FTP | other *** search
- #ifndef GRAPHICSBUFFERS_H_
- #include "GraphicsBuffers.h"
- #endif
-
- #ifndef PICSTYPES_H_
- #include "PICS_Types.h"
- #endif
-
- #ifndef PICSINFO_H_
- #include "PICS_Info.h"
- #endif
-
- #ifndef __STRINGUTILS__
- #include "StringUtils.h"
- #endif
-
- #ifndef DIALOGUTILS_H_
- #include "DialogUtils.h"
- #endif
-
- #ifndef _QDUTILS_H_
- #include "QDUtils.h"
- #endif
-
- enum {
- kPICSViewerTemplateID = 1000,
- kPICSViewerSpeedMenuID = kPICSViewerTemplateID,
-
- kPICSViewerPromptSaveID = 1100,
- kPICSViewerPromptSave = 1,
- kPICSViewerPromptCancel,
- kPICSViewerPromptDontSave
- };
-
- enum {
- kSmallWidth = 400, // Viewing area of small viewer
- kSmallHeight = 250,
-
- kUsualSpeedIncrement = 1,
- kLargerSpeedIncrement = 5,
- kUsualMoveIncrement = 1,
- kLargerMoveIncrement = 5
- };
-
- enum {
- kCrossCursorID = 128,
- kLightningCursorID,
- kScissorCursorID,
- kAltCrossCursorID,
- kHandOpenCursorID,
- kHandClosedCursorID,
- kHorizontalArrowID,
- kVerticalArrowID
- };
-
- enum {
- kNoAction,
- kSelectionAction,
- kCompositeAction,
- kSplitAction,
- kMoveSelectionAction,
- kLeftAdjustSelectionAction,
- kTopAdjustSelectionAction,
- kRightAdjustSelectionAction,
- kBottomAdjustSelectionAction
- };
-
- enum {
- kNormalMagnification = 1,
- kDoubleMagnification,
- kTripleMagnification,
- kQuadMagnification
- };
-
- enum {
- kPICSViewer_ButtonBoxID = 128,
- kPICSViewer_SpeedPopupID = kPICSViewerSpeedMenuID,
-
- kPICSViewer_StopBtnUpID = 129, // PICT rsrc id's
- kPICSViewer_RewindBtnUpID,
- kPICSViewer_StepBackBtnUpID,
- kPICSViewer_PlayBtnUpID,
- kPICSViewer_StepForwardBtnUpID,
- kPICSViewer_ForwardBtnUpID,
-
- kPICSViewer_StopBtnDownID,
- kPICSViewer_RewindBtnDownID,
- kPICSViewer_StepBackBtnDownID,
- kPICSViewer_PlayBtnDownID,
- kPICSViewer_StepForwardBtnDownID,
- kPICSViewer_ForwardBtnDownID
- };
-
- enum {
- kPICSViewer_StopBtn = 1,
- kPICSViewer_RewindBtn,
- kPICSViewer_StepBackBtn,
- kPICSViewer_PlayBtn,
- kPICSViewer_StepForwardBtn,
- kPICSViewer_ForwardBtn,
-
- kPICSViewer_CompositeBtn,
- kPICSViewer_SplitBtn,
-
- kPICSViewer_SpeedField,
- kPICSViewer_SpeedPopupBtn,
- kPICSViewer_SpeedUpBtn,
- kPICSViewer_SpeedDownBtn,
-
- kPICSViewer_LoopBtn,
- kPICSViewer_BounceBackBtn,
-
- kPICSViewer_TrackMouseBtn,
-
- kPICSViewer_PopupInfoBtn,
-
- kPICSViewer_CurFrameField,
- kPICSViewer_NumFramesField,
- kPICSViewer_PICSWidthField,
- kPICSViewer_PICSHeightField,
- kPICSViewer_TrackMouseField,
- kPICSViewer_TrackCropField,
-
- kPICSViewer_OutputBox,
- kPICSViewer_SpeedBox,
- kPICSViewer_BtnBox,
-
- kPICSViewer_Line1,
- kPICSViewer_Line2,
- kPICSViewer_Line3
- };
-
- // ---------------------------------------------------------------------------
-
- typedef struct {
- GraphicsBufferPtr buffer;
- Rect bounds;
- } PICSViewerBtn;
- static PICSViewerBtn sBtnData;
-
- typedef struct {
- DialogPtr window;
- GraphicsBufferPtr buffer;
- long bufferDepth;
-
- Rect picsFrame;
- Rect outputFrame;
-
- Rect marqueeRect;
- Point trackingPoint;
-
- short trackMouse;
- short currentAction;
-
- short fileRefNum;
- short fileModified;
- long fileSize;
-
- short numFrames;
- short curFrame;
- short animationMethod;
- short usesDeltaPictures;
- short magnification;
-
- short doLoop;
- short doBounceBack;
-
- PICSInfo picsInfo;
- FSSpec picsFile;
- } PICSViewerData;
-
- // ---------------------------------------------------------------------------
-
- PICSViewerData *_ExtractPICSViewer(DialogPtr srcViewer);
-
- Boolean _ClosePICSViewer(PICSViewerData *viewer);
- Boolean _SavePICSViewer(PICSViewerData *viewer);
- void _ClickPICSViewer(PICSViewerData *viewer, short itemClicked);
- void _KeyDownPICSViewer(PICSViewerData *viewer, char keyPressed);
- void _UpdatePICSViewer(PICSViewerData *viewer);
- void _IdlePICSViewer(PICSViewerData *viewer);
- void _SetPICSViewerCursor(PICSViewerData *viewer);
-
- void _UpdatePICSViewerInfo(PICSViewerData *viewer);
- void _ActivatePICSViewer(PICSViewerData *viewer, Boolean activate);
-
- void _DrawPICSViewerBtn(PICSViewerData *viewer, short btn, Boolean pushed);
- void _DrawPICS(PICSViewerData *viewer);
- void _SetPICSViewerModified(PICSViewerData *viewer, Boolean modified);
- Boolean _IsPICSViewerModified(PICSViewerData *viewer);
- void _SelectEntirePICSViewerFrame(PICSViewerData *viewer, Boolean select);
- void _CopyPICSViewerFrame(PICSViewerData *viewer);
-
- void _RewindPICSViewer(PICSViewerData *viewer);
- void _StepBackPICSViewer(PICSViewerData *viewer);
- void _PlaySynchPICSViewer(PICSViewerData *viewer);
- void _StepForwardPICSViewer(PICSViewerData *viewer);
- void _ForwardPICSViewer(PICSViewerData *viewer);
-
- void _IncreasePICSViewerSpeed(PICSViewerData *viewer);
- void _DecreasePICSViewerSpeed(PICSViewerData *viewer);
-
- void _ShowPICSViewerPopupInfo(PICSViewerData *viewer);
-
- void _ActionPICSViewer(PICSViewerData *viewer);
- void _KeyDownPICSViewerSelection(PICSViewerData *viewer, char keyPressed);
- void _CompositePICSViewer(PICSViewerData *viewer);
- void _SplitPICSViewer(PICSViewerData *viewer);
-
- // ---------------------------------------------------------------------------
-
- void _SetMarqueeColor(RGBColor *marqueeColor);
- void _FrameMarquee(PICSViewerData *viewer);
- void _TrackUpdateMarquee(const Rect *rectToUpdate, const Rect *currentMarquee);
-
- void _SetMarqueeRect(
- PICSViewerData *viewer,
- const Rect *newMarquee,
- Boolean updateInfo);
-
- void _UpdateMarqueeRectInfo(PICSViewerData *viewer);
- void _EraseMarquee(PICSViewerData *viewer, const Rect *rectToErase);
-
- // ---------------------------------------------------------------------------
-
- // Shortcuts when opening a PICS viewer
-
- // Regardless of size, use the large window
- #define USELARGEWINDOW_SHORTCUT ShiftKeyDown()
- // If use monitor depth for buffer, use pic's depth instead, or vice-versa
- #define REVERSEANIMATION_SHORTCUT OptionKeyDown()
-
-
- // Shortcuts when playing a PICS viewer
-
- // Play at fastest speed possible
- #define FASTESTANIM_SHORTCUT ShiftKeyDown()
- // Draw marquee when playing PICS
- #define DRAWMARQUEE_SHORTCUT CapsKeyDown()
-
-
- #define LARGERINCREMENT_SHORTCUT ShiftKeyDown()
-
-
- #define SHRINKSELECTION_SHORTCUT OptionKeyDown()
- #define GROWSELECTION_SHORTCUT ControlKeyDown()
-
-
- #define MOVESELECTION_SHORTCUT SpaceKeyDown()
-
- // Misc shortcuts
- #define VIEWDELTA_DEBUG CapsKeyDown()
-
-
- #define kEmptyStr "\p "
-
- // ---------------------------------------------------------------------------
-