michael@0: /* vim: se cin sw=2 ts=2 et : */ michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * michael@0: * This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef nsUXThemeConstants_h michael@0: #define nsUXThemeConstants_h michael@0: michael@0: /* michael@0: * The following constants are used to determine how a widget is drawn using michael@0: * Windows' Theme API. For more information on theme parts and states see michael@0: * http://msdn.microsoft.com/en-us/library/bb773210(VS.85).aspx michael@0: */ michael@0: michael@0: #include michael@0: #include michael@0: michael@0: #define THEME_COLOR 204 michael@0: #define THEME_FONT 210 michael@0: michael@0: // Generic state constants michael@0: #define TS_NORMAL 1 michael@0: #define TS_HOVER 2 michael@0: #define TS_ACTIVE 3 michael@0: #define TS_DISABLED 4 michael@0: #define TS_FOCUSED 5 michael@0: michael@0: // These constants are reversed for the trackbar (scale) thumb michael@0: #define TKP_FOCUSED 4 michael@0: #define TKP_DISABLED 5 michael@0: michael@0: // Toolbarbutton constants michael@0: #define TB_CHECKED 5 michael@0: #define TB_HOVER_CHECKED 6 michael@0: michael@0: // Button constants michael@0: #define BP_BUTTON 1 michael@0: #define BP_RADIO 2 michael@0: #define BP_CHECKBOX 3 michael@0: #define BP_GROUPBOX 4 michael@0: michael@0: // Textfield constants michael@0: /* This is the EP_EDITTEXT part */ michael@0: #define TFP_TEXTFIELD 1 michael@0: #define TFP_EDITBORDER_NOSCROLL 6 michael@0: #define TFS_READONLY 6 michael@0: michael@0: /* These are the state constants for the EDITBORDER parts */ michael@0: #define TFS_EDITBORDER_NORMAL 1 michael@0: #define TFS_EDITBORDER_HOVER 2 michael@0: #define TFS_EDITBORDER_FOCUSED 3 michael@0: #define TFS_EDITBORDER_DISABLED 4 michael@0: michael@0: // Treeview/listbox constants michael@0: #define TREEVIEW_BODY 1 michael@0: michael@0: // Scrollbar constants michael@0: #define SP_BUTTON 1 michael@0: #define SP_THUMBHOR 2 michael@0: #define SP_THUMBVERT 3 michael@0: #define SP_TRACKSTARTHOR 4 michael@0: #define SP_TRACKENDHOR 5 michael@0: #define SP_TRACKSTARTVERT 6 michael@0: #define SP_TRACKENDVERT 7 michael@0: #define SP_GRIPPERHOR 8 michael@0: #define SP_GRIPPERVERT 9 michael@0: michael@0: // Vista only; implict hover state. michael@0: // BASE + 0 = UP, + 1 = DOWN, etc. michael@0: #define SP_BUTTON_IMPLICIT_HOVER_BASE 17 michael@0: michael@0: // Scale constants michael@0: #define TKP_TRACK 1 michael@0: #define TKP_TRACKVERT 2 michael@0: #define TKP_THUMB 3 michael@0: #define TKP_THUMBBOTTOM 4 michael@0: #define TKP_THUMBTOP 5 michael@0: #define TKP_THUMBVERT 6 michael@0: #define TKP_THUMBLEFT 7 michael@0: #define TKP_THUMBRIGHT 8 michael@0: michael@0: // Track state contstants michael@0: #define TRS_NORMAL 1 michael@0: michael@0: // Track vertical state constants michael@0: #define TRVS_NORMAL 1 michael@0: michael@0: // Spin constants michael@0: #define SPNP_UP 1 michael@0: #define SPNP_DOWN 2 michael@0: michael@0: // Tab constants michael@0: #define TABP_TAB 4 michael@0: #define TABP_TAB_SELECTED 5 michael@0: #define TABP_PANELS 9 michael@0: #define TABP_PANEL 10 michael@0: michael@0: // Tooltip constants michael@0: #define TTP_STANDARD 1 michael@0: michael@0: // Dropdown constants michael@0: #define CBP_DROPMARKER 1 michael@0: #define CBP_DROPBORDER 4 michael@0: /* This is actually the 'READONLY' style */ michael@0: #define CBP_DROPFRAME 5 michael@0: #define CBP_DROPMARKER_VISTA 6 michael@0: michael@0: // Menu Constants michael@0: #define MENU_BARBACKGROUND 7 michael@0: #define MENU_BARITEM 8 michael@0: #define MENU_POPUPBACKGROUND 9 michael@0: #define MENU_POPUPBORDERS 10 michael@0: #define MENU_POPUPCHECK 11 michael@0: #define MENU_POPUPCHECKBACKGROUND 12 michael@0: #define MENU_POPUPGUTTER 13 michael@0: #define MENU_POPUPITEM 14 michael@0: #define MENU_POPUPSEPARATOR 15 michael@0: #define MENU_POPUPSUBMENU 16 michael@0: #define MENU_SYSTEMCLOSE 17 michael@0: #define MENU_SYSTEMMAXIMIZE 18 michael@0: #define MENU_SYSTEMMINIMIZE 19 michael@0: #define MENU_SYSTEMRESTORE 20 michael@0: michael@0: #define MB_ACTIVE 1 michael@0: #define MB_INACTIVE 2 michael@0: michael@0: #define MS_NORMAL 1 michael@0: #define MS_SELECTED 2 michael@0: #define MS_DEMOTED 3 michael@0: michael@0: #define MBI_NORMAL 1 michael@0: #define MBI_HOT 2 michael@0: #define MBI_PUSHED 3 michael@0: #define MBI_DISABLED 4 michael@0: #define MBI_DISABLEDHOT 5 michael@0: #define MBI_DISABLEDPUSHED 6 michael@0: michael@0: #define MC_CHECKMARKNORMAL 1 michael@0: #define MC_CHECKMARKDISABLED 2 michael@0: #define MC_BULLETNORMAL 3 michael@0: #define MC_BULLETDISABLED 4 michael@0: michael@0: #define MCB_DISABLED 1 michael@0: #define MCB_NORMAL 2 michael@0: #define MCB_BITMAP 3 michael@0: michael@0: #define MPI_NORMAL 1 michael@0: #define MPI_HOT 2 michael@0: #define MPI_DISABLED 3 michael@0: #define MPI_DISABLEDHOT 4 michael@0: michael@0: #define MSM_NORMAL 1 michael@0: #define MSM_DISABLED 2 michael@0: michael@0: // Rebar constants michael@0: #define RP_BAND 3 michael@0: #define RP_BACKGROUND 6 michael@0: michael@0: // Constants only found in new (98+, 2K+, XP+, etc.) Windows. michael@0: #ifdef DFCS_HOT michael@0: #undef DFCS_HOT michael@0: #endif michael@0: #define DFCS_HOT 0x00001000 michael@0: michael@0: #ifdef COLOR_MENUHILIGHT michael@0: #undef COLOR_MENUHILIGHT michael@0: #endif michael@0: #define COLOR_MENUHILIGHT 29 michael@0: michael@0: #ifdef SPI_GETFLATMENU michael@0: #undef SPI_GETFLATMENU michael@0: #endif michael@0: #define SPI_GETFLATMENU 0x1022 michael@0: #ifndef SPI_GETMENUSHOWDELAY michael@0: #define SPI_GETMENUSHOWDELAY 106 michael@0: #endif //SPI_GETMENUSHOWDELAY michael@0: #ifndef WS_EX_LAYOUTRTL michael@0: #define WS_EX_LAYOUTRTL 0x00400000L // Right to left mirroring michael@0: #endif michael@0: michael@0: michael@0: // Our extra constants for passing a little bit more info to the renderer. michael@0: #define DFCS_RTL 0x00010000 michael@0: michael@0: // Toolbar separator dimension which can't be gotten from Windows michael@0: #define TB_SEPARATOR_HEIGHT 2 michael@0: michael@0: namespace mozilla { michael@0: namespace widget { michael@0: namespace themeconst { michael@0: michael@0: // Pulled from sdk/include/vsstyle.h michael@0: enum { michael@0: WP_CAPTION = 1, michael@0: WP_SMALLCAPTION = 2, michael@0: WP_MINCAPTION = 3, michael@0: WP_SMALLMINCAPTION = 4, michael@0: WP_MAXCAPTION = 5, michael@0: WP_SMALLMAXCAPTION = 6, michael@0: WP_FRAMELEFT = 7, michael@0: WP_FRAMERIGHT = 8, michael@0: WP_FRAMEBOTTOM = 9, michael@0: WP_SMALLFRAMELEFT = 10, michael@0: WP_SMALLFRAMERIGHT = 11, michael@0: WP_SMALLFRAMEBOTTOM = 12, michael@0: WP_SYSBUTTON = 13, michael@0: WP_MDISYSBUTTON = 14, michael@0: WP_MINBUTTON = 15, michael@0: WP_MDIMINBUTTON = 16, michael@0: WP_MAXBUTTON = 17, michael@0: WP_CLOSEBUTTON = 18, michael@0: WP_SMALLCLOSEBUTTON = 19, michael@0: WP_MDICLOSEBUTTON = 20, michael@0: WP_RESTOREBUTTON = 21, michael@0: WP_MDIRESTOREBUTTON = 22, michael@0: WP_HELPBUTTON = 23, michael@0: WP_MDIHELPBUTTON = 24, michael@0: WP_HORZSCROLL = 25, michael@0: WP_HORZTHUMB = 26, michael@0: WP_VERTSCROLL = 27, michael@0: WP_VERTTHUMB = 28, michael@0: WP_DIALOG = 29, michael@0: WP_CAPTIONSIZINGTEMPLATE = 30, michael@0: WP_SMALLCAPTIONSIZINGTEMPLATE = 31, michael@0: WP_FRAMELEFTSIZINGTEMPLATE = 32, michael@0: WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33, michael@0: WP_FRAMERIGHTSIZINGTEMPLATE = 34, michael@0: WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35, michael@0: WP_FRAMEBOTTOMSIZINGTEMPLATE = 36, michael@0: WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37, michael@0: WP_FRAME = 38 michael@0: }; michael@0: michael@0: enum FRAMESTATES { michael@0: FS_ACTIVE = 1, michael@0: FS_INACTIVE = 2 michael@0: }; michael@0: michael@0: enum { michael@0: BS_NORMAL = 1, michael@0: BS_HOT = 2, michael@0: BS_PUSHED = 3, michael@0: BS_DISABLED = 4, michael@0: BS_INACTIVE = 5 /* undocumented, inactive caption button */ michael@0: }; michael@0: michael@0: }}} // mozilla::widget::themeconst michael@0: michael@0: #endif