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;
33  uint32_t maGroupTextColor;
34  uint32_t maLabelTextColor;
35  uint32_t maWindowColor;
37  uint32_t maDialogColor;
39  uint32_t maWorkspaceColor;
40  uint32_t maMonoColor;
41  uint32_t maFieldColor;
42  uint32_t maFieldTextColor;
44  uint32_t maActiveColor;
47  uint32_t maDeactiveColor;
50  uint32_t maMenuColor;
51  uint32_t maMenuBarColor;
54  uint32_t maMenuTextColor;
60  uint32_t maHighlightColor;
62  uint32_t maActiveTabColor;
64  uint32_t maTabTextColor;
67  uint32_t maDisableColor;
68  uint32_t maHelpColor;
69  uint32_t maHelpTextColor;
70  uint32_t maLinkColor;
72  uint32_t maToolTextColor;
73  uint32_t maFontColor;
74 };
75 
77 {
78  typedef struct _cairo cairo_t;
79  ControlDrawParameters(cairo_t* i_pCairo, ControlPart i_ePart, ControlState i_eState)
80  : nSize(sizeof(ControlDrawParameters))
81  , pCairo(i_pCairo)
82  , ePart(i_ePart)
83  , eState(i_eState)
85  , bIsAction(false)
86  , nValue(0)
87  {
88  }
89 
90  uint32_t nSize;
95  bool bIsAction;
96  int64_t nValue;
97 };
98 
100 
101 typedef struct _rectangle
102 {
103  long x, y;
104  long width, height;
105 } rectangle_t;
106 
108 {
109  uint32_t nSize;
110 
112  bool (*getRegion)(ControlType eType, ControlPart ePart, ControlState eState,
113  const rectangle_t& rBoundingControlRegion, rectangle_t& rNativeBoundingRegion,
114  rectangle_t& rNativeContentRegion);
115 
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,
133  long nHeight);
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);
139 
140  bool (*updateSettings)(WidgetDrawStyle& rStyle);
141 };
142 
144 
145 } // end vcl namespace
146 
147 #endif
148 
149 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool(* updateSettings)(WidgetDrawStyle &rStyle)
uint32_t maActionButtonRolloverTextColor
bool(* drawSpinButtons)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
vcl::WidgetThemeLibrary * CreateWidgetThemeLibrary()
ControlDrawParameters(cairo_t *i_pCairo, ControlPart i_ePart, ControlState i_eState)
bool(* drawScrollbar)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawEditbox)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawSpinbox)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawTabBody)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawWindowsBackground)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawSlider)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawFrame)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* isNativeControlSupported)(ControlType eType, ControlPart ePart)
bool(* drawTabHeader)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawListNode)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawListHeader)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* getRegion)(ControlType eType, ControlPart ePart, ControlState eState, const rectangle_t &rBoundingControlRegion, rectangle_t &rNativeBoundingRegion, rectangle_t &rNativeContentRegion)
bool(* drawListNet)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawToolbar)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawCombobox)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawPushButton)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawListbox)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawFixedline)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
DocumentType const eType
ControlType
These types are all based on the supported variants vcl/salnativewidgets.hxx and must be kept in-sync...
bool(* drawTabItem)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawTabPane)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawCheckbox)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawRadiobutton)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
bool(* drawProgress)(ControlDrawParameters const &rParameters, long nWidth, long nHeight)
struct vcl::_rectangle rectangle_t