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 maButtonTextColor
;
28 uint32_t maDefaultActionButtonTextColor
;
29 uint32_t maActionButtonTextColor
;
30 uint32_t maActionButtonRolloverTextColor
;
31 uint32_t maButtonRolloverTextColor
;
32 uint32_t maRadioCheckTextColor
;
33 uint32_t maGroupTextColor
;
34 uint32_t maLabelTextColor
;
35 uint32_t maWindowColor
;
36 uint32_t maWindowTextColor
;
37 uint32_t maDialogColor
;
38 uint32_t maDialogTextColor
;
39 uint32_t maWorkspaceColor
;
41 uint32_t maFieldColor
;
42 uint32_t maFieldTextColor
;
43 uint32_t maFieldRolloverTextColor
;
44 uint32_t maActiveColor
;
45 uint32_t maActiveTextColor
;
46 uint32_t maActiveBorderColor
;
47 uint32_t maDeactiveColor
;
48 uint32_t maDeactiveTextColor
;
49 uint32_t maDeactiveBorderColor
;
51 uint32_t maMenuBarColor
;
52 uint32_t maMenuBarRolloverColor
;
53 uint32_t maMenuBorderColor
;
54 uint32_t maMenuTextColor
;
55 uint32_t maMenuBarTextColor
;
56 uint32_t maMenuBarRolloverTextColor
;
57 uint32_t maMenuBarHighlightTextColor
;
58 uint32_t maMenuHighlightColor
;
59 uint32_t maMenuHighlightTextColor
;
60 uint32_t maHighlightColor
;
61 uint32_t maHighlightTextColor
;
62 uint32_t maActiveTabColor
;
63 uint32_t maInactiveTabColor
;
64 uint32_t maTabTextColor
;
65 uint32_t maTabRolloverTextColor
;
66 uint32_t maTabHighlightTextColor
;
67 uint32_t maDisableColor
;
69 uint32_t maHelpTextColor
;
71 uint32_t maVisitedLinkColor
;
72 uint32_t maToolTextColor
;
76 struct ControlDrawParameters
78 typedef struct _cairo cairo_t
;
79 ControlDrawParameters(cairo_t
* i_pCairo
, ControlPart i_ePart
, ControlState i_eState
)
80 : nSize(sizeof(ControlDrawParameters
))
84 , eButtonValue(ButtonValue::DontKnow
)
94 ButtonValue eButtonValue
;
99 typedef struct WidgetThemeLibrary_t WidgetThemeLibrary
;
101 typedef struct _rectangle
107 struct WidgetThemeLibrary_t
111 bool (*isNativeControlSupported
)(ControlType eType
, ControlPart ePart
);
112 bool (*getRegion
)(ControlType eType
, ControlPart ePart
, ControlState eState
,
113 const rectangle_t
& rBoundingControlRegion
, rectangle_t
& rNativeBoundingRegion
,
114 rectangle_t
& rNativeContentRegion
);
116 bool (*drawPushButton
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
117 bool (*drawRadiobutton
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
118 bool (*drawCheckbox
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
119 bool (*drawCombobox
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
120 bool (*drawEditbox
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
121 bool (*drawScrollbar
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
122 bool (*drawSpinButtons
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
123 bool (*drawSpinbox
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
124 bool (*drawTabItem
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
125 bool (*drawTabPane
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
126 bool (*drawTabHeader
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
127 bool (*drawTabBody
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
128 bool (*drawSlider
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
129 bool (*drawFixedline
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
130 bool (*drawToolbar
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
131 bool (*drawProgress
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
132 bool (*drawWindowsBackground
)(ControlDrawParameters
const& rParameters
, long nWidth
,
134 bool (*drawListbox
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
135 bool (*drawFrame
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
136 bool (*drawListNode
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
137 bool (*drawListNet
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
138 bool (*drawListHeader
)(ControlDrawParameters
const& rParameters
, long nWidth
, long nHeight
);
140 bool (*updateSettings
)(WidgetDrawStyle
& rStyle
);
143 extern "C" vcl::WidgetThemeLibrary
* CreateWidgetThemeLibrary();
145 } // end vcl namespace
149 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */