1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 #ifndef INCLUDED_VCL_INC_WIDGETTHEME_HXX
12 #define INCLUDED_VCL_INC_WIDGETTHEME_HXX
18 struct WidgetDrawStyle
22 uint32_t maCheckedColor
;
23 uint32_t maLightColor
;
24 uint32_t maLightBorderColor
;
25 uint32_t maShadowColor
;
26 uint32_t maDarkShadowColor
;
27 uint32_t maDefaultButtonTextColor
;
28 uint32_t maButtonTextColor
;
29 uint32_t maDefaultActionButtonTextColor
;
30 uint32_t maActionButtonTextColor
;
31 uint32_t maFlatButtonTextColor
;
32 uint32_t maDefaultButtonRolloverTextColor
;
33 uint32_t maButtonRolloverTextColor
;
34 uint32_t maDefaultActionButtonRolloverTextColor
;
35 uint32_t maActionButtonRolloverTextColor
;
36 uint32_t maFlatButtonRolloverTextColor
;
37 uint32_t maDefaultButtonPressedRolloverTextColor
;
38 uint32_t maButtonPressedRolloverTextColor
;
39 uint32_t maDefaultActionButtonPressedRolloverTextColor
;
40 uint32_t maActionButtonPressedRolloverTextColor
;
41 uint32_t maFlatButtonPressedRolloverTextColor
;
42 uint32_t maRadioCheckTextColor
;
43 uint32_t maGroupTextColor
;
44 uint32_t maLabelTextColor
;
45 uint32_t maWindowColor
;
46 uint32_t maWindowTextColor
;
47 uint32_t maDialogColor
;
48 uint32_t maDialogTextColor
;
49 uint32_t maWorkspaceColor
;
51 uint32_t maFieldColor
;
52 uint32_t maFieldTextColor
;
53 uint32_t maFieldRolloverTextColor
;
54 uint32_t maActiveColor
;
55 uint32_t maActiveTextColor
;
56 uint32_t maActiveBorderColor
;
57 uint32_t maDeactiveColor
;
58 uint32_t maDeactiveTextColor
;
59 uint32_t maDeactiveBorderColor
;
61 uint32_t maMenuBarColor
;
62 uint32_t maMenuBarRolloverColor
;
63 uint32_t maMenuBorderColor
;
64 uint32_t maMenuTextColor
;
65 uint32_t maMenuBarTextColor
;
66 uint32_t maMenuBarRolloverTextColor
;
67 uint32_t maMenuBarHighlightTextColor
;
68 uint32_t maMenuHighlightColor
;
69 uint32_t maMenuHighlightTextColor
;
70 uint32_t maHighlightColor
;
71 uint32_t maHighlightTextColor
;
72 uint32_t maActiveTabColor
;
73 uint32_t maInactiveTabColor
;
74 uint32_t maTabTextColor
;
75 uint32_t maTabRolloverTextColor
;
76 uint32_t maTabHighlightTextColor
;
77 uint32_t maDisableColor
;
79 uint32_t maHelpTextColor
;
81 uint32_t maVisitedLinkColor
;
82 uint32_t maToolTextColor
;
86 struct ControlDrawParameters
88 typedef struct _cairo cairo_t
;
89 ControlDrawParameters(cairo_t
* i_pCairo
, ControlPart i_ePart
, ControlState i_eState
)
90 : nSize(sizeof(ControlDrawParameters
))
94 , eButtonValue(ButtonValue::DontKnow
)
104 ButtonValue eButtonValue
;
109 typedef struct WidgetThemeLibrary_t WidgetThemeLibrary
;
111 typedef struct _rectangle
114 tools::Long width
, height
;
117 struct WidgetThemeLibrary_t
121 bool (*isNativeControlSupported
)(ControlType eType
, ControlPart ePart
);
122 bool (*getRegion
)(ControlType eType
, ControlPart ePart
, ControlState eState
,
123 const rectangle_t
& rBoundingControlRegion
, rectangle_t
& rNativeBoundingRegion
,
124 rectangle_t
& rNativeContentRegion
);
126 bool (*drawPushButton
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
127 tools::Long nHeight
);
128 bool (*drawRadiobutton
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
129 tools::Long nHeight
);
130 bool (*drawCheckbox
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
131 tools::Long nHeight
);
132 bool (*drawCombobox
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
133 tools::Long nHeight
);
134 bool (*drawEditbox
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
135 tools::Long nHeight
);
136 bool (*drawScrollbar
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
137 tools::Long nHeight
);
138 bool (*drawSpinButtons
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
139 tools::Long nHeight
);
140 bool (*drawSpinbox
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
141 tools::Long nHeight
);
142 bool (*drawTabItem
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
143 tools::Long nHeight
);
144 bool (*drawTabPane
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
145 tools::Long nHeight
);
146 bool (*drawTabHeader
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
147 tools::Long nHeight
);
148 bool (*drawTabBody
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
149 tools::Long nHeight
);
150 bool (*drawSlider
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
151 tools::Long nHeight
);
152 bool (*drawFixedline
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
153 tools::Long nHeight
);
154 bool (*drawToolbar
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
155 tools::Long nHeight
);
156 bool (*drawProgress
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
157 tools::Long nHeight
);
158 bool (*drawWindowsBackground
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
159 tools::Long nHeight
);
160 bool (*drawListbox
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
161 tools::Long nHeight
);
162 bool (*drawFrame
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
163 tools::Long nHeight
);
164 bool (*drawListNode
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
165 tools::Long nHeight
);
166 bool (*drawListNet
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
167 tools::Long nHeight
);
168 bool (*drawListHeader
)(ControlDrawParameters
const& rParameters
, tools::Long nWidth
,
169 tools::Long nHeight
);
171 bool (*updateSettings
)(WidgetDrawStyle
& rStyle
);
174 extern "C" vcl::WidgetThemeLibrary
* CreateWidgetThemeLibrary();
176 } // end vcl namespace
180 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */