LibreOffice Module vcl (master)  1
WidgetThemeLibrary.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  */
10 
11 #ifndef INCLUDED_VCL_INC_WIDGETTHEME_HXX
12 #define INCLUDED_VCL_INC_WIDGETTHEME_HXX
13 
14 #include <cstdint>
15 
16 namespace vcl
17 {
19 {
20  uint32_t nSize;
21  uint32_t maFaceColor;
22  uint32_t maCheckedColor;
23  uint32_t maLightColor;
25  uint32_t maShadowColor;
43  uint32_t maGroupTextColor;
44  uint32_t maLabelTextColor;
45  uint32_t maWindowColor;
47  uint32_t maDialogColor;
49  uint32_t maWorkspaceColor;
50  uint32_t maMonoColor;
51  uint32_t maFieldColor;
52  uint32_t maFieldTextColor;
54  uint32_t maActiveColor;
57  uint32_t maDeactiveColor;
60  uint32_t maMenuColor;
61  uint32_t maMenuBarColor;
64  uint32_t maMenuTextColor;
70  uint32_t maHighlightColor;
72  uint32_t maActiveTabColor;
74  uint32_t maTabTextColor;
77  uint32_t maDisableColor;
78  uint32_t maHelpColor;
79  uint32_t maHelpTextColor;
80  uint32_t maLinkColor;
82  uint32_t maToolTextColor;
83  uint32_t maFontColor;
84 };
85 
87 {
88  typedef struct _cairo cairo_t;
89  ControlDrawParameters(cairo_t* i_pCairo, ControlPart i_ePart, ControlState i_eState)
90  : nSize(sizeof(ControlDrawParameters))
91  , pCairo(i_pCairo)
92  , ePart(i_ePart)
93  , eState(i_eState)
95  , bIsAction(false)
96  , nValue(0)
97  {
98  }
99 
100  uint32_t nSize;
105  bool bIsAction;
106  int64_t nValue;
107 };
108 
110 
111 typedef struct _rectangle
112 {
115 } rectangle_t;
116 
118 {
119  uint32_t nSize;
120 
122  bool (*getRegion)(ControlType eType, ControlPart ePart, ControlState eState,
123  const rectangle_t& rBoundingControlRegion, rectangle_t& rNativeBoundingRegion,
124  rectangle_t& rNativeContentRegion);
125 
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);
170 
171  bool (*updateSettings)(WidgetDrawStyle& rStyle);
172 };
173 
175 
176 } // end vcl namespace
177 
178 #endif
179 
180 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool(* drawToolbar)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* updateSettings)(WidgetDrawStyle &rStyle)
bool(* drawListNet)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
uint32_t maActionButtonRolloverTextColor
vcl::WidgetThemeLibrary * CreateWidgetThemeLibrary()
bool(* drawProgress)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
ControlDrawParameters(cairo_t *i_pCairo, ControlPart i_ePart, ControlState i_eState)
long Long
bool(* drawSpinButtons)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
uint32_t maDefaultButtonPressedRolloverTextColor
bool(* drawTabBody)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawEditbox)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawFixedline)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawListNode)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawWindowsBackground)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
uint32_t maDefaultButtonRolloverTextColor
bool(* isNativeControlSupported)(ControlType eType, ControlPart ePart)
DocumentType eType
bool(* drawSlider)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawPushButton)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* getRegion)(ControlType eType, ControlPart ePart, ControlState eState, const rectangle_t &rBoundingControlRegion, rectangle_t &rNativeBoundingRegion, rectangle_t &rNativeContentRegion)
bool(* drawListHeader)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
uint32_t maActionButtonPressedRolloverTextColor
bool(* drawListbox)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawTabPane)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
uint32_t maDefaultActionButtonRolloverTextColor
bool(* drawCheckbox)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
uint32_t maFlatButtonPressedRolloverTextColor
ControlType
These types are all based on the supported variants vcl/salnativewidgets.hxx and must be kept in-sync...
uint32_t maDefaultActionButtonPressedRolloverTextColor
bool(* drawRadiobutton)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawFrame)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawSpinbox)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawCombobox)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawTabItem)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
bool(* drawScrollbar)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)
struct vcl::_rectangle rectangle_t
uint32_t maButtonPressedRolloverTextColor
bool(* drawTabHeader)(ControlDrawParameters const &rParameters, tools::Long nWidth, tools::Long nHeight)