home *** CD-ROM | disk | FTP | other *** search
- /*
- * BTTNCUR.H
- * Buttons & Cursors Version 1.1, March 1993
- *
- * Public include file for the Button Images and Cursor DLL, including
- * structures, definitions, and function prototypes.
- *
- * Copyright (c)1992-1996 Microsoft Corporation, All Rights Reserved,
- * as applied to redistribution of this source code in source form
- * License is granted to use of compiled code in shipped binaries.
- */
-
-
- #ifndef _BTTNCUR_H_
- #define _BTTNCUR_H_
-
- #ifdef __cplusplus
- extern "C"
- {
- #endif
-
-
- //Standard image bitmap
-
- //WARNING: Obsolete. Use the return from UIToolDisplayData
- #define IDB_STANDARDIMAGES 400
-
- //New values for display types
- #define IDB_STANDARDIMAGESMIN 400
- #define IDB_STANDARDIMAGES96 400
- #define IDB_STANDARDIMAGES72 401
- #define IDB_STANDARDIMAGES120 402
-
-
-
- //Image indices inside the standard bitmap.
- #define TOOLIMAGE_MIN 0
- #define TOOLIMAGE_EDITCUT 0
- #define TOOLIMAGE_EDITCOPY 1
- #define TOOLIMAGE_EDITPASTE 2
- #define TOOLIMAGE_FILENEW 3
- #define TOOLIMAGE_FILEOPEN 4
- #define TOOLIMAGE_FILESAVE 5
- #define TOOLIMAGE_FILEPRINT 6
- #define TOOLIMAGE_HELP 7
- #define TOOLIMAGE_HELPCONTEXT 8
- #define TOOLIMAGE_MAX 8
-
-
- //Additional Standard Cursors as defined in the UI Design Guide.
- #define IDC_NEWUICURSORMIN 500
- #define IDC_RIGHTARROW 500
- #define IDC_CONTEXTHELP 501
- #define IDC_MAGNIFY 502
- #define IDC_NODROP 503
- #define IDC_TABLETOP 504
- #define IDC_HSIZEBAR 505
- #define IDC_VSIZEBAR 506
- #define IDC_HSPLITBAR 507
- #define IDC_VSPLITBAR 508
- #define IDC_SMALLARROWS 509
- #define IDC_LARGEARROWS 510
- #define IDC_HARROWS 511
- #define IDC_VARROWS 512
- #define IDC_NESWARROWS 513
- #define IDC_NWSEARROWS 514
- #define IDC_NEWUICURSORMAX 514
-
-
-
- //Standard sizes for toolbar buttons and bitmaps on display types
-
- //WARNING: These are obsolete for version 1.0 compatibility/
- #define TOOLBUTTON_STDWIDTH 24
- #define TOOLBUTTON_STDHEIGHT 22
- #define TOOLBUTTON_STDIMAGEWIDTH 16
- #define TOOLBUTTON_STDIMAGEHEIGHT 15
-
- /*
- * Applications can call UIToolDisplayData to get the particular
- * values to use for the current display instead of using these values
- * directly. However, if the application has the aspect ratio already
- * then these are available for them.
- */
-
- //Sizes for 72 DPI (EGA)
- #define TOOLBUTTON_STD72WIDTH 24
- #define TOOLBUTTON_STD72HEIGHT 16
- #define TOOLBUTTON_STD72IMAGEWIDTH 16
- #define TOOLBUTTON_STD72IMAGEHEIGHT 11
-
- //Sizes for 96 DPI (VGA)
- #define TOOLBUTTON_STD96WIDTH 24
- #define TOOLBUTTON_STD96HEIGHT 22
- #define TOOLBUTTON_STD96IMAGEWIDTH 16
- #define TOOLBUTTON_STD96IMAGEHEIGHT 15
-
- //Sizes for 120 DPI (8514/a)
- #define TOOLBUTTON_STD120WIDTH 32
- #define TOOLBUTTON_STD120HEIGHT 31
- #define TOOLBUTTON_STD120IMAGEWIDTH 24
- #define TOOLBUTTON_STD120IMAGEHEIGHT 23
-
-
- //Sizes of a standard button bar depending on the display
- #define CYBUTTONBAR72 23
- #define CYBUTTONBAR96 29
- #define CYBUTTONBAR120 38
-
-
-
- /*
- * The low-word of the state contains the display state where each
- * value is mutually exclusive and contains one or more grouping bits.
- * Each group represents buttons that share some sub-state in common.
- *
- * The high-order byte controls which colors in the source bitmap,
- * black, white, gray, and dark gray, are to be converted into the
- * system colors COLOR_BTNTEXT, COLOR_HILIGHT, COLOR_BTNFACE, and
- * COLOR_BTNSHADOW. Any or all of these bits may be set to allow
- * the application control over specific colors.
- *
- * The actual state values are split into a command group and an
- * attribute group. Up, mouse down, and disabled states are identical,
- * but only attributes can have down, down disabled, and indeterminate
- * states.
- *
- * BUTTONGROUP_BLANK is defined so an application can draw only the button
- * without an image in the up, down, mouse down, or indeterminate
- * state, that is, BUTTONGROUP_BLANK is inclusive with BUTTONGROUP_DOWN
- * and BUTTONGROUP_LIGHTFACE.
- */
-
-
- #define BUTTONGROUP_DOWN 0x0001
- #define BUTTONGROUP_ACTIVE 0x0002
- #define BUTTONGROUP_DISABLED 0x0004
- #define BUTTONGROUP_LIGHTFACE 0x0008
- #define BUTTONGROUP_BLANK 0x0010
-
- //Command buttons only
- #define COMMANDBUTTON_UP (BUTTONGROUP_ACTIVE)
- #define COMMANDBUTTON_MOUSEDOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_DOWN)
- #define COMMANDBUTTON_DISABLED (BUTTONGROUP_DISABLED)
-
- //Attribute buttons only
- #define ATTRIBUTEBUTTON_UP (BUTTONGROUP_ACTIVE)
- #define ATTRIBUTEBUTTON_MOUSEDOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_DOWN)
- #define ATTRIBUTEBUTTON_DISABLED (BUTTONGROUP_DISABLED)
- #define ATTRIBUTEBUTTON_DOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_DOWN | BUTTONGROUP_LIGHTFACE)
- #define ATTRIBUTEBUTTON_INDETERMINATE (BUTTONGROUP_ACTIVE | BUTTONGROUP_LIGHTFACE)
- #define ATTRIBUTEBUTTON_DOWNDISABLED (BUTTONGROUP_DISABLED | BUTTONGROUP_DOWN | BUTTONGROUP_LIGHTFACE)
-
- //Blank buttons only
- #define BLANKBUTTON_UP (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK)
- #define BLANKBUTTON_DOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK | BUTTONGROUP_DOWN | BUTTONGROUP_LIGHTFACE)
- #define BLANKBUTTON_MOUSEDOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK | BUTTONGROUP_DOWN)
- #define BLANKBUTTON_INDETERMINATE (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK | BUTTONGROUP_LIGHTFACE)
-
-
- /*
- * Specific bits to prevent conversions of specific colors to system
- * colors. If an application uses this newer library and never specified
- * any bits, then they benefit from color conversion automatically.
- */
- #define PRESERVE_BLACK 0x0100
- #define PRESERVE_DKGRAY 0x0200
- #define PRESERVE_LTGRAY 0x0400
- #define PRESERVE_WHITE 0x0800
-
- #define PRESERVE_ALL (PRESERVE_BLACK | PRESERVE_DKGRAY | PRESERVE_LTGRAY | PRESERVE_WHITE)
- #define PRESERVE_NONE 0 //Backwards compatible
-
-
-
- //Structure for UIToolConfigureForDisplay
- typedef struct tagTOOLDISPLAYDATA
- {
- UINT uDPI; //Display driver DPI
- UINT cyBar; //Vertical size for a bar containing buttons.
- UINT cxButton; //Dimensions of a button.
- UINT cyButton;
- UINT cxImage; //Dimensions of bitmap image
- UINT cyImage;
- UINT uIDImages; //Standard resource ID for display-sensitive images
- } TOOLDISPLAYDATA, FAR *LPTOOLDISPLAYDATA;
-
-
-
- //Public functions in BTTNCUR.DLL
- HCURSOR WINAPI UICursorLoad(UINT);
- BOOL WINAPI UIToolConfigureForDisplay(LPTOOLDISPLAYDATA);
- BOOL WINAPI UIToolButtonDraw(HDC, int, int, int, int, HBITMAP, int, int, int, UINT);
- BOOL WINAPI UIToolButtonDrawTDD(HDC, int, int, int, int, HBITMAP, int, int, int, UINT, LPTOOLDISPLAYDATA);
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif //_BTTNCUR_H_
-