
// ---------------------------------------------------------------------
//
// Viewer.hr - Picture Viewer - QuickTime for Windows
//
//             Version 1.0
//
//             (c) 1988-1992 Apple Computer, Inc. All Rights Reserved.
//
// ---------------------------------------------------------------------



// Prevent multiple inclusion
// --------------------------
   #ifndef VIEWER_HR
      #define VIEWER_HR


// Bitmaps, Icons, Menus, Accelerators
// -----------------
   #define VIEWER_VIEWER_BITMAP          101
   #define VIEWER_VIEWER_DEFICON         102
   #define VIEWER_VIEWER_ICON            103
   #define VIEWER_PICT_ICON              104
   #define VIEWER_FRAME_MENU             105
   #define VIEWER_ACCELERATORS           106
   #define VIEWER_GROWBOX_BITMAP         107
   #define VIEWER_CHECKERS_BITMAP        108

// Dialog box ids
       // Frame Window
   #define VIEWER_DLG_ABOUTVIEWER        201
   #define VIEWER_DLG_PRINTCANCEL        202
       // Picture Window
   #define VIEWER_DLG_OPTIONS            203
   #define VIEWER_DLG_GETINFO            204
       // Custom template for "print" common dialog
   #define CUSTOM_DLG_COMN_PRINT         205

       // Localized templates for dialogs needed by qtole.dll.
       // Offsets are defined in qtole.h. Compiler will not allow use
       // of ( OLE_DLG_FIRST + QTOLE_DLG_OFFSET_... ) form as it will in
       // string table
   #define OLE_DLG_FIRST                 230 
   #define OLE_DLG_FILESEARCH            230  // OLE_DLG_FIRST + QTOLE_DLG_OFFSET_SEARCHDLG


// Defines for image sizes
   #define NUM_OF_ZOOMS                    7
   #define IMAGE_SIZE_FIRST              141
   #define IMAGE_SIZE_25       ( IMAGE_SIZE_FIRST )
   #define IMAGE_SIZE_50       ( IMAGE_SIZE_FIRST + 1 )
   #define IMAGE_SIZE_75       ( IMAGE_SIZE_FIRST + 2 )
   #define IMAGE_SIZE_100      ( IMAGE_SIZE_FIRST + 3 )
   #define IMAGE_SIZE_150      ( IMAGE_SIZE_FIRST + 4 )
   #define IMAGE_SIZE_200      ( IMAGE_SIZE_FIRST + 5 )
   #define IMAGE_SIZE_400      ( IMAGE_SIZE_FIRST + 6 )

// Frame Window
// -----------
   #define VIEWER_FRAME_CLASS         "ViewerFrameClass"

     // Frame window menu ids
     // See note below these ids !!!
   #define VIEWER_FILE_OPEN               20
   #define VIEWER_FILE_CLOSE              21
   #define VIEWER_FILE_PRINT              22
   #define VIEWER_FILE_PRTSETUP           23
   #define VIEWER_FILE_EXIT               24

   #define VIEWER_EDIT_COPYPICTURE        30
   #define VIEWER_EDIT_OPTIONS            31
   #define VIEWER_EDIT_CANCELSEL          32

   #define VIEWER_IMAGE_GETINFO           40
   #define VIEWER_IMAGE_HALFSIZE       IMAGE_SIZE_50
   #define VIEWER_IMAGE_NORMALSIZE     IMAGE_SIZE_100
   #define VIEWER_IMAGE_DOUBLESIZE     IMAGE_SIZE_200

   #define VIEWER_WINDOW_TILE             50
   #define VIEWER_WINDOW_CASCADE          51
   #define VIEWER_WINDOW_ARRANGE          52

   #define VIEWER_HELP_VIEWERHELP         60
   #define VIEWER_HELP_USINGHELP          61
   #define VIEWER_HELP_ABOUTVIEWER        62

// The next define is the menu id of the first picture window. Each new window
// gets an id based on this value. These are the ids used by hwndClient to
// refer to the list of windows in the Windows popup. THIS FIRST ID VALUE
// MUST BE GREATER THAN ANY OF THE FRAME WINDOW MENU IDS ABOVE !!!!
   #define VIEWER_CLIENT_FIRSTCHILD      500


   #define MENU_FILE_POS                0    // position of File menu item
   #define MENU_EDIT_POS                1    // position of Edit menu item
   #define MENU_IMAGE_POS               2    // position of Image menu item
   #define MENU_WINDOW_POS              3    // position of Windows menu item

//  WM_USER ids
   #define WM_VIEWER_CMDLINE          (WM_USER + 1)
   #define WM_VIEWER_PICTUREDELETED   (WM_USER + 2)
   #define WM_VIEWER_PRINTPICTURE     (WM_USER + 3)
   #define WM_VIEWER_INITPOPUPS       (WM_USER + 4)
   #define WM_VIEWER_REENABLESCROLL   (WM_USER + 5)
   #define WM_VIEWER_OLE_OPTIONSDLG   (WM_USER + 6)
   #define WM_VIEWER_OLE_PLAYOBJECT   (WM_USER + 7)

// end WM_USER ids


      // About box control id
   #define VIEWER_ABOUT_BMPFRAME            10

      // Print Cancel dlg control id
   #define PRINT_CANCEL_PICTURENAME         10


// Picture Window specific ids
// -----------
   #define VIEWER_PICTURE_CLASS       "ViewerPictureClass"

     // GetInfo dialog box control ids
   #define IMAGE_INFO_NAME                     10
   #define IMAGE_INFO_FILESIZE                 11
   #define IMAGE_INFO_CURSIZE                  12
   #define IMAGE_INFO_WANDH                    13
   #define IMAGE_INFO_RESOLUTION               14
   #define IMAGE_INFO_COLORS                   15
   #define IMAGE_INFO_COMPRESSOR               16
   #define IMAGE_INFO_QUALITY                  17
   #define IMAGE_INFO_UNCOMPSIZE               18
   #define IMAGE_INFO_LINE1                    19
   #define IMAGE_INFO_LINE2                    20

      // WM_USER message ids used in info dialog
   #define WM_INFO_UPDATEFILENAME   (WM_USER + 1)
   #define WM_INFO_CURRENTSIZE      (WM_USER + 2)

      // WM_USER message ids used in Zoom window
   #define WM_ZOOM_MOVEBUCKLE       (WM_USER + 1)


// Edit options ids
// -----------

     // Edit options dialog box control ids
   #define EDIT_OPTIONS_SHOWPC           301
   #define EDIT_OPTIONS_CAPTION_TEXT     302
   #define EDIT_OPTIONS_CAPTION          303

   #define EDIT_OPTIONS_DRAWFRAME        304
   #define EDIT_OPTIONS_USEPALETTE       305

   #define EDIT_OPTIONS_COPYICON         306
   #define EDIT_OPTIONS_SHOWTITLEBAR     307

   #define EDIT_OPTIONS_ZOOMCURRENT      308
   #define EDIT_OPTIONS_ZOOMHALF         309
   #define EDIT_OPTIONS_ZOOMNORMAL       310
   #define EDIT_OPTIONS_ZOOMDOUBLE       311

   #define EDIT_OPTIONS_SAVEASDEF        312
   #define EDIT_OPTIONS_RESTRDEF         313


// Strings
// -------
   #define VIEWER_STRING_NOMEMORY          0x0100
   #define VIEWER_STRING_CAPTION           0x0101
   #define VIEWER_STRING_NOACCELORMENU     0x0102
   #define VIEWER_STRING_NOWINDOW          0x0103
   #define VIEWER_STRING_NODC              0x0104

   #define VIEWER_STRING_FILEEXT           0x0110
   #define VIEWER_STRING_OPENPICTFILTER    0x0111
   #define VIEWER_STRING_CDLG_FINDRESFAIL  0x0112
   #define VIEWER_STRING_CDLG_INITFAIL     0x0113
   #define VIEWER_STRING_CDLG_LOADRESFAIL  0x0114
   #define VIEWER_STRING_CDLG_LOCKRESFAIL  0x0115
   #define VIEWER_STRING_CDLG_MEMALLOCFAIL 0x0116
   #define VIEWER_STRING_CDLG_MEMLOCKFAIL  0x0117
   #define VIEWER_STRING_CDLG_STRUCTSIZE   0x0118
   #define VIEWER_STRING_CDLG_BADFILENAME  0x0119
   #define VIEWER_STRING_CDLG_PRTINITFAIL  0x011a
   #define VIEWER_STRING_CDLG_LOADDRVFAIL  0x011b
   #define VIEWER_STRING_CDLG_NODEFPRINTER 0x011c
   #define VIEWER_STRING_CDLG_NODEVICES    0x011d
   #define VIEWER_STRING_CDLG_NOFINDPNTR   0x011e
   #define VIEWER_STRING_CDLG_SETUPFAIL    0x011f
   #define VIEWER_STRING_CDLG_GENFAILURE   0x0120
   #define VIEWER_STRING_CDLG_FORMAT       0x0121
   #define VIEWER_STRING_CDLG_CAP          0x0122

   #define VIEWER_STRING_CANCELDLG         0x0130
   #define VIEWER_STRING_ABORTPROC         0x0131
   #define VIEWER_STRING_PRT_OUTOFDISK     0x0132
   #define VIEWER_STRING_PRT_NOMEMORY      0x0133
   #define VIEWER_STRING_PRT_GENERROR      0x0134
   #define VIEWER_STRING_PRT_CAPTION       0x0135

   #define VIEWER_STRING_NOHELPFILE        0x0140

   #define VIEWER_STRING_SIZEBYTES         0x0150
   #define VIEWER_STRING_SIZEKBYTES        0x0151
   #define VIEWER_STRING_SIZEBYTESONDISK   0x0152
   #define VIEWER_STRING_SIZEKBYTESONDISK  0x0153
   #define VIEWER_STRING_WANDH             0x0154
   #define VIEWER_STRING_NORESOLUTION      0x0155
   #define VIEWER_STRING_RESOLUTION        0x0156
   #define VIEWER_STRING_QUALITY           0x0157

   #define VIEWER_STRING_CODEC_NONE        0x0160
   #define VIEWER_STRING_CODEC_PHOTO       0x0161              
   #define VIEWER_STRING_CODEC_ANIMATION   0x0162
   #define VIEWER_STRING_CODEC_GRAPHICS    0x0163
   #define VIEWER_STRING_CODEC_VIDEO       0x0164
   #define VIEWER_STRING_CODEC_CVID        0x0165

   #define VIEWER_STRING_COLORS            0x0170
   #define VIEWER_STRING_CLRS_BANDW        0x0171
   #define VIEWER_STRING_CLRS_2GRAYS       0x0172
   #define VIEWER_STRING_CLRS_4COLORS      0x0173
   #define VIEWER_STRING_CLRS_4GRAYS       0x0174
   #define VIEWER_STRING_CLRS_16COLORS     0x0175
   #define VIEWER_STRING_CLRS_16GRAYS      0x0176
   #define VIEWER_STRING_CLRS_256COLORS    0x0177
   #define VIEWER_STRING_CLRS_256GRAYS     0x0178
   #define VIEWER_STRING_CLRS_THOUSANDS    0x0179
   #define VIEWER_STRING_CLRS_MILLIONS     0x017a
   #define VIEWER_STRING_CLRS_MILLNSPLUS   0x017b

   #define VIEWER_STRING_QTWNOEXIST        0x0180
   #define VIEWER_STRING_QTWBADDLL         0x0181
   #define VIEWER_STRING_QTW286            0x0182
   #define VIEWER_STRING_QTWWIN30          0x0183
   #define VIEWER_STRING_QTWFAILED         0x0184
   #define VIEWER_STRING_ENTMOVFAILED      0x0185
   #define VIEWER_STRING_OLEINITFAILED     0x0186

   #define VIEWER_STRING_NOMAKEPICTWND     0x0190
   #define VIEWER_STRING_NOOPENFILE        0x0191
   #define VIEWER_STRING_NOINFO            0x0192
   #define VIEWER_STRING_NOPICDATA         0x0193
   #define VIEWER_STRING_DRAWPICFAIL       0x0194
   #define VIEWER_STRING_NOPICINFILE       0x0195
   #define VIEWER_STRING_NOGETPIC          0x0196
   #define VIEWER_STRING_SELPALFAILED      0x0197
   #define VIEWER_STRING_NOMAKEDIB         0x0198

   #define VIEWER_STRING_COPYFAILED        0x01a0

   #define VIEWER_STRING_PERCENT           0x01b0
   #define VIEWER_STRING_FACENAME          0x01b1


//  These are the ids for the file menu popup OLE protocol strings
   #define VIEWER_STRING_CLOSE             0x01c0
   #define VIEWER_STRING_EXIT              0x01c1
   #define VIEWER_STRING_OLECLOSE          0x01c2
   #define VIEWER_STRING_OLEEXIT           0x01c3

//  These are strings use to access the default copy options in qtw.ini
   #define VIEWER_STRING_OPTIONS_NAME           0x01d0
   #define VIEWER_STRING_OPTIONS_SHOWPC         0x01d1
   #define VIEWER_STRING_OPTIONS_DRAWFRAME      0x01d2
   #define VIEWER_STRING_OPTIONS_USEPALETTE     0x01d3
   #define VIEWER_STRING_OPTIONS_COPYICON       0x01d4
   #define VIEWER_STRING_OPTIONS_SHOWTITLE      0x01d5
   #define VIEWER_STRING_OPTIONS_ZOOMHALF       0x01d6
   #define VIEWER_STRING_OPTIONS_ZOOMNORMAL     0x01d7
   #define VIEWER_STRING_OPTIONS_ZOOMDOUBLE     0x01d8

 // These are the ids for the strings that must be supplied for QTOLE.DLL
   #define OLE_STRING_FIRST                     0x01e0  
   #define OLE_STRING_READABLENAME     ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_READABLENAME )
   #define OLE_STRING_PLAY             ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_PLAY )
   #define OLE_STRING_EDIT             ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_EDIT )
   #define OLE_STRING_OPTIONS          ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_OPTIONS )

   #define OLE_STRING_UPDATE           ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_UPDATA )
   #define OLE_STRING_ALREADYINSERTING ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_ALREADYINSERTING )

   #define OLE_STRING_WHEREFILE        ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_WHEREFILE )
   #define OLE_STRING_UPDATEPATH       ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_UPDATEPATH )
   #define OLE_STRING_NOTFILESIZE      ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_NOTFILESIZE )
   #define OLE_STRING_NOTFILENAME      ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_NOTFILENAME )

   #define OLE_STRING_SEARCHDIRS       ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_SEARCHDIRS )
   #define OLE_STRING_FILENOTFOUND     ( OLE_STRING_FIRST + QTOLE_STR_OFFSET_FILENOTFOUND )

// End of viewer.hr
// -----------------
   #endif
