home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************/
- /* */
- /* Copyright (C) 1987-1996 Microsoft Corp. */
- /* All Rights Reserved */
- /* */
- /****************************************************************************/
- /****************************** Module Header *******************************
- * Module Name: globals.h
- *
- * Declares global data for the image editor.
- *
- * History:
- *
- ****************************************************************************/
-
-
- /*
- * Initialized data and structures -----------------------------------------
- */
-
- extern INIENTRY gaie[]; // Initialization data structure.
-
- extern BOOL gfGrid; // TRUE if the grid is on.
- extern BOOL gfShowColor; // TRUE if Color palette is to be shown.
- extern BOOL gfShowView; // TRUE if View window is to be shown.
- extern BOOL gfShowToolbox; // TRUE if Toolbox is to be shown.
- extern INT gnBrushSize; // Current brush size.
-
- extern CHAR szAppPos[]; // App window's position keyname.
- extern CHAR szTBPos[]; // Toolbox window's position keyname.
- extern CHAR szViewPos[]; // View window's position keyname.
- extern CHAR szColorPos[]; // Color palette window's position keyname.
- extern CHAR szrgbScreen[]; // Screen color keyname.
-
-
- /*
- * Instance handles, window handles and class strings ----------------------
- */
-
- extern HANDLE ghInst; // App instance handle.
- extern HANDLE haccelTbl; // Accelerator table handle.
- extern HCURSOR hcurWait; // Standard hourglass cursor.
-
- extern HWND ghwndMain; // Main app window handle.
- extern HWND ghwndWork; // Workspace window handle.
- extern HWND ghwndPropBar; // Properties Bar window handle.
- extern HWND ghwndToolbox; // Toolbox window handle.
- extern HWND ghwndView; // View window handle.
- extern HWND ghwndColor; // Color palette window handle.
-
- extern CHAR szMainClass[]; // Main window class.
- extern CHAR szWorkClass[]; // Work window class.
- extern CHAR szToolboxClass[]; // Toolbox window class.
- extern CHAR szToolBtnClass[]; // Toolbox button window class.
- extern CHAR szViewClass[]; // View window class.
- extern CHAR szColorBoxClass[]; // Color box window class.
- extern CHAR szColorLRClass[]; // Color Left-Right sample class.
-
-
- /*
- * Device list globals -----------------------------------------------------
- */
-
- extern PDEVICE gpIconDeviceHead; // Head of icon device list.
- extern INT gnIconDevices; // Number of icon devices.
- extern PDEVICE gpCursorDeviceHead; // Head of cursor device list.
- extern INT gnCursorDevices; // Number of cursor devices.
-
-
- /*
- * Globals that describe the current file and image being edited -----------
- */
-
- extern CHAR gszFullFileName[]; // Full path name of current file.
- extern PSTR gpszFileName; // Current file name (or NULL).
- extern INT giType; // Type of object being edited currently.
- extern PIMAGEINFO gpImageHead; // Head of image linked list.
- extern INT gnImages; // Number of images in the file.
- extern BOOL fFileDirty; // TRUE if the file is dirty.
-
- extern PIMAGEINFO gpImageCur; // Pointer to current image.
- extern INT gcxImage; // Width of the image.
- extern INT gcyImage; // Height of the image.
- extern INT gnColors; // Number of colors of current image.
- extern BOOL fImageDirty; // TRUE if the image is dirty.
-
-
- /*
- * Drawing DC's and bitmaps ------------------------------------------------
- */
-
- extern HDC ghdcImage; // Image XOR DC.
- extern HBITMAP ghbmImage; // Image XOR bitmap.
-
- extern HDC ghdcANDMask; // Image AND mask DC.
- extern HBITMAP ghbmANDMask; // Image AND mask bitmap.
-
- extern HBITMAP ghbmUndo; // Backup of XOR bitmap for undo.
- extern HBITMAP ghbmUndoMask; // Backup of AND mask bitmap for undo.
-
-
- /*
- * Globals for the color palette and drawing -------------------------------
- */
-
- extern INT giColorLeft; // Index to the left color in gargbCurrent.
- extern INT giColorRight; // Index to the right color in gargbCurrent.
- extern INT gfModeLeft; // Mode of the left color brush.
- extern INT gfModeRight; // Mode of the right color brush.
- extern HBRUSH ghbrLeft; // Brush with left mouse button color.
- extern HBRUSH ghbrLeftSolid; // Brush with solid left button color.
- extern HBRUSH ghbrRight; // Brush with right mouse button color.
- extern HBRUSH ghbrRightSolid; // Brush with solid right button color.
- extern HBRUSH ghbrScreen; // Brush with screen color.
- extern HBRUSH ghbrInverse; // Brush with inverse screen color.
- extern HPEN ghpenLeft; // Left color pen.
- extern HPEN ghpenRight; // Right color pen.
- extern DWORD grgbScreenDefault; // Default screen color.
- extern DWORD grgbScreen; // RGB of screen color.
- extern DWORD grgbInverse; // RGB of inverse screen color.
- extern DWORD *gargbCurrent; // Points to the current color table.
- extern DWORD gargbColor[]; // Current color color table.
- extern DWORD gargbMono[]; // Current monochrome color table.
- extern HPEN hpenDarkGray; // A dark gray pen.
-
- extern DRAWPROC gpfnDrawProc; // Current drawing functions.
- extern INT gCurTool; // Current tool (TOOL_* define).
- extern HBRUSH ghbrDraw; // Current drawing brush.
- extern HBRUSH ghbrDrawSolid; // Current solid drawing brush.
- extern HPEN ghpenDraw; // Current drawing pen.
- extern INT gfDrawMode; // Mode of current drawing brush.
-
- extern DWORD gargbDefaultColor[]; // The default color palette.
-
- extern DWORD gargbDefaultMono[]; // The default monochrome palette.
-
- extern DWORD gargbColorTable2[]; // Color table for monochrome DIB's.
-
- extern TOOLS gaTools[]; // Tool table.
-
-
- /*
- * Globals and tables for messages and help --------------------------------
- */
-
- extern MESSAGEDATA gamdMessages[]; // Message box messages table.
-
- extern INT gidCurrentDlg; // Current dialog id (null if none).
- extern INT gMenuSelected; // Currently selected menu item.
- extern CHAR gszHelpFile[]; // Path to the help file.
- extern HHOOK ghhkMsgFilter; // Hook handle for message filter func.
- extern FARPROC lpfnMsgFilterHookFunc; // The message filter proc instance.
-
- extern HELPMAP gahmapMenu[]; // Menu item to help topic mapping table.
-
- extern HELPMAP gahmapDialog[]; // Dialog id to help topic mapping table.
-
-
- /*
- * Misc. globals -----------------------------------------------------------
- */
-
- extern INT gcxWorkSpace; // Width of workspace window.
- extern INT gcyWorkSpace; // Height of workspace window.
- extern INT gZoomFactor; // Magnification factor of image.
-
- extern RECT grcPick; // The current picking rectangle.
- extern INT gcxPick; // Width of picking rectangle.
- extern INT gcyPick; // Height of picking rectangle.
-
- extern UINT ClipboardFormat; // ID of private clipboard format.
- extern BOOL fStretchClipboardData; // TRUE to default to stretch on paste.
-
- extern INT iNewFileType; // New file type the user selected.
-
- extern INT gcyBorder; // System border height.
- extern INT gcyPropBar; // Height of PropBar window.
-
- extern WNDPROC lpfnPropBarDlgProc; // Proc inst. of PropBar dialog proc.
- extern WNDPROC lpfnColorDlgProc; // Proc inst. of Color palette dlg proc.
-