|
|
1.1 ! root 1: /* ! 2: * BTTNCUR.H ! 3: * Buttons & Cursors Version 1.1, March 1993 ! 4: * ! 5: * Public include file for the Button Images and Cursor DLL, including ! 6: * structures, definitions, and function prototypes. ! 7: * ! 8: * Copyright (c)1992-1993 Microsoft Corporation, All Rights Reserved, ! 9: * as applied to redistribution of this source code in source form ! 10: * License is granted to use of compiled code in shipped binaries. ! 11: */ ! 12: ! 13: ! 14: #ifndef _BTTNCUR_H_ ! 15: #define _BTTNCUR_H_ ! 16: ! 17: #ifdef __cplusplus ! 18: extern "C" ! 19: { ! 20: #endif ! 21: ! 22: ! 23: //Standard image bitmap ! 24: ! 25: //WARNING: Obsolete. Use the return from UIToolDisplayData ! 26: #define IDB_STANDARDIMAGES 400 ! 27: ! 28: //New values for display types ! 29: #define IDB_STANDARDIMAGESMIN 400 ! 30: #define IDB_STANDARDIMAGES96 400 ! 31: #define IDB_STANDARDIMAGES72 401 ! 32: #define IDB_STANDARDIMAGES120 402 ! 33: ! 34: ! 35: ! 36: //Image indices inside the standard bitmap. ! 37: #define TOOLIMAGE_MIN 0 ! 38: #define TOOLIMAGE_EDITCUT 0 ! 39: #define TOOLIMAGE_EDITCOPY 1 ! 40: #define TOOLIMAGE_EDITPASTE 2 ! 41: #define TOOLIMAGE_FILENEW 3 ! 42: #define TOOLIMAGE_FILEOPEN 4 ! 43: #define TOOLIMAGE_FILESAVE 5 ! 44: #define TOOLIMAGE_FILEPRINT 6 ! 45: #define TOOLIMAGE_HELP 7 ! 46: #define TOOLIMAGE_HELPCONTEXT 8 ! 47: #define TOOLIMAGE_MAX 8 ! 48: ! 49: ! 50: //Additional Standard Cursors as defined in the UI Design Guide. ! 51: #define IDC_NEWUICURSORMIN 500 ! 52: #define IDC_RIGHTARROW 500 ! 53: #define IDC_CONTEXTHELP 501 ! 54: #define IDC_MAGNIFY 502 ! 55: #define IDC_NODROP 503 ! 56: #define IDC_TABLETOP 504 ! 57: #define IDC_HSIZEBAR 505 ! 58: #define IDC_VSIZEBAR 506 ! 59: #define IDC_HSPLITBAR 507 ! 60: #define IDC_VSPLITBAR 508 ! 61: #define IDC_SMALLARROWS 509 ! 62: #define IDC_LARGEARROWS 510 ! 63: #define IDC_HARROWS 511 ! 64: #define IDC_VARROWS 512 ! 65: #define IDC_NESWARROWS 513 ! 66: #define IDC_NWSEARROWS 514 ! 67: #define IDC_NEWUICURSORMAX 514 ! 68: ! 69: ! 70: ! 71: //Standard sizes for toolbar buttons and bitmaps on display types ! 72: ! 73: //WARNING: These are obsolete for version 1.0 compatibility/ ! 74: #define TOOLBUTTON_STDWIDTH 24 ! 75: #define TOOLBUTTON_STDHEIGHT 22 ! 76: #define TOOLBUTTON_STDIMAGEWIDTH 16 ! 77: #define TOOLBUTTON_STDIMAGEHEIGHT 15 ! 78: ! 79: /* ! 80: * Applications can call UIToolDisplayData to get the particular ! 81: * values to use for the current display instead of using these values ! 82: * directly. However, if the application has the aspect ratio already ! 83: * then these are available for them. ! 84: */ ! 85: ! 86: //Sizes for 72 DPI (EGA) ! 87: #define TOOLBUTTON_STD72WIDTH 24 ! 88: #define TOOLBUTTON_STD72HEIGHT 16 ! 89: #define TOOLBUTTON_STD72IMAGEWIDTH 16 ! 90: #define TOOLBUTTON_STD72IMAGEHEIGHT 11 ! 91: ! 92: //Sizes for 96 DPI (VGA) ! 93: #define TOOLBUTTON_STD96WIDTH 24 ! 94: #define TOOLBUTTON_STD96HEIGHT 22 ! 95: #define TOOLBUTTON_STD96IMAGEWIDTH 16 ! 96: #define TOOLBUTTON_STD96IMAGEHEIGHT 15 ! 97: ! 98: //Sizes for 120 DPI (8514/a) ! 99: #define TOOLBUTTON_STD120WIDTH 32 ! 100: #define TOOLBUTTON_STD120HEIGHT 31 ! 101: #define TOOLBUTTON_STD120IMAGEWIDTH 24 ! 102: #define TOOLBUTTON_STD120IMAGEHEIGHT 23 ! 103: ! 104: ! 105: //Sizes of a standard button bar depending on the display ! 106: #define CYBUTTONBAR72 23 ! 107: #define CYBUTTONBAR96 29 ! 108: #define CYBUTTONBAR120 38 ! 109: ! 110: ! 111: ! 112: /* ! 113: * The low-word of the state contains the display state where each ! 114: * value is mutually exclusive and contains one or more grouping bits. ! 115: * Each group represents buttons that share some sub-state in common. ! 116: * ! 117: * The high-order byte controls which colors in the source bitmap, ! 118: * black, white, gray, and dark gray, are to be converted into the ! 119: * system colors COLOR_BTNTEXT, COLOR_HILIGHT, COLOR_BTNFACE, and ! 120: * COLOR_BTNSHADOW. Any or all of these bits may be set to allow ! 121: * the application control over specific colors. ! 122: * ! 123: * The actual state values are split into a command group and an ! 124: * attribute group. Up, mouse down, and disabled states are identical, ! 125: * but only attributes can have down, down disabled, and indeterminate ! 126: * states. ! 127: * ! 128: * BUTTONGROUP_BLANK is defined so an application can draw only the button ! 129: * without an image in the up, down, mouse down, or indeterminate ! 130: * state, that is, BUTTONGROUP_BLANK is inclusive with BUTTONGROUP_DOWN ! 131: * and BUTTONGROUP_LIGHTFACE. ! 132: */ ! 133: ! 134: ! 135: #define BUTTONGROUP_DOWN 0x0001 ! 136: #define BUTTONGROUP_ACTIVE 0x0002 ! 137: #define BUTTONGROUP_DISABLED 0x0004 ! 138: #define BUTTONGROUP_LIGHTFACE 0x0008 ! 139: #define BUTTONGROUP_BLANK 0x0010 ! 140: ! 141: //Command buttons only ! 142: #define COMMANDBUTTON_UP (BUTTONGROUP_ACTIVE) ! 143: #define COMMANDBUTTON_MOUSEDOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_DOWN) ! 144: #define COMMANDBUTTON_DISABLED (BUTTONGROUP_DISABLED) ! 145: ! 146: //Attribute buttons only ! 147: #define ATTRIBUTEBUTTON_UP (BUTTONGROUP_ACTIVE) ! 148: #define ATTRIBUTEBUTTON_MOUSEDOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_DOWN) ! 149: #define ATTRIBUTEBUTTON_DISABLED (BUTTONGROUP_DISABLED) ! 150: #define ATTRIBUTEBUTTON_DOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_DOWN | BUTTONGROUP_LIGHTFACE) ! 151: #define ATTRIBUTEBUTTON_INDETERMINATE (BUTTONGROUP_ACTIVE | BUTTONGROUP_LIGHTFACE) ! 152: #define ATTRIBUTEBUTTON_DOWNDISABLED (BUTTONGROUP_DISABLED | BUTTONGROUP_DOWN | BUTTONGROUP_LIGHTFACE) ! 153: ! 154: //Blank buttons only ! 155: #define BLANKBUTTON_UP (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK) ! 156: #define BLANKBUTTON_DOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK | BUTTONGROUP_DOWN | BUTTONGROUP_LIGHTFACE) ! 157: #define BLANKBUTTON_MOUSEDOWN (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK | BUTTONGROUP_DOWN) ! 158: #define BLANKBUTTON_INDETERMINATE (BUTTONGROUP_ACTIVE | BUTTONGROUP_BLANK | BUTTONGROUP_LIGHTFACE) ! 159: ! 160: ! 161: /* ! 162: * Specific bits to prevent conversions of specific colors to system ! 163: * colors. If an application uses this newer library and never specified ! 164: * any bits, then they benefit from color conversion automatically. ! 165: */ ! 166: #define PRESERVE_BLACK 0x0100 ! 167: #define PRESERVE_DKGRAY 0x0200 ! 168: #define PRESERVE_LTGRAY 0x0400 ! 169: #define PRESERVE_WHITE 0x0800 ! 170: ! 171: #define PRESERVE_ALL (PRESERVE_BLACK | PRESERVE_DKGRAY | PRESERVE_LTGRAY | PRESERVE_WHITE) ! 172: #define PRESERVE_NONE 0 //Backwards compatible ! 173: ! 174: ! 175: ! 176: //Structure for UIToolConfigureForDisplay ! 177: typedef struct tagTOOLDISPLAYDATA ! 178: { ! 179: UINT uDPI; //Display driver DPI ! 180: UINT cyBar; //Vertical size for a bar containing buttons. ! 181: UINT cxButton; //Dimensions of a button. ! 182: UINT cyButton; ! 183: UINT cxImage; //Dimensions of bitmap image ! 184: UINT cyImage; ! 185: UINT uIDImages; //Standard resource ID for display-sensitive images ! 186: } TOOLDISPLAYDATA, FAR *LPTOOLDISPLAYDATA; ! 187: ! 188: ! 189: ! 190: //Public functions in BTTNCUR.DLL ! 191: HCURSOR WINAPI UICursorLoad(UINT); ! 192: BOOL WINAPI UIToolConfigureForDisplay(LPTOOLDISPLAYDATA); ! 193: BOOL WINAPI UIToolButtonDraw(HDC, int, int, int, int, HBITMAP, int, int, int, UINT); ! 194: BOOL WINAPI UIToolButtonDrawTDD(HDC, int, int, int, int, HBITMAP, int, int, int, UINT, LPTOOLDISPLAYDATA); ! 195: ! 196: ! 197: #ifdef __cplusplus ! 198: } ! 199: #endif ! 200: ! 201: #endif //_BTTNCUR_H_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.