LibreOffice Module vcl (master) 1
WidgetDrawInterface.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_WIDGETDRAWINTERFACE_HXX
12#define INCLUDED_VCL_INC_WIDGETDRAWINTERFACE_HXX
13
14#include <vcl/dllapi.h>
16#include <vcl/settings.hxx>
17
18namespace vcl
19{
21{
22public:
23 virtual ~WidgetDrawInterface() COVERITY_NOEXCEPT_FALSE {}
24
32 virtual inline bool isNativeControlSupported(ControlType eType, ControlPart ePart);
33
47 virtual inline bool hitTestNativeControl(ControlType eType, ControlPart ePart,
48 const tools::Rectangle& rBoundingControlRegion,
49 const Point& aPos, bool& rIsInside);
50
64 virtual inline bool drawNativeControl(ControlType eType, ControlPart ePart,
65 const tools::Rectangle& rBoundingControlRegion,
66 ControlState eState, const ImplControlValue& aValue,
67 const OUString& aCaptions, const Color& rBackgroundColor);
68
88 virtual inline bool getNativeControlRegion(ControlType eType, ControlPart ePart,
89 const tools::Rectangle& rBoundingControlRegion,
90 ControlState eState, const ImplControlValue& aValue,
91 const OUString& aCaption,
92 tools::Rectangle& rNativeBoundingRegion,
93 tools::Rectangle& rNativeContentRegion);
94
95 virtual inline bool updateSettings(AllSettings& rSettings);
96};
97
99
101 const Point&, bool&)
102{
103 return false;
104}
105
107 ControlState, const ImplControlValue&, const OUString&,
108 const Color& /*rBackgroundColor*/)
109{
110 return false;
111}
112
115 const OUString&, tools::Rectangle&,
117{
118 return false;
119}
120
122}
123
124#endif
125
126/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
ControlType
These types are all based on the supported variants vcl/salnativewidgets.hxx and must be kept in-sync...
virtual bool hitTestNativeControl(ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, const Point &aPos, bool &rIsInside)
Query if a position is inside the native widget part.
virtual bool getNativeControlRegion(ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion)
Get the native control regions for the control part.
virtual bool drawNativeControl(ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaptions, const Color &rBackgroundColor)
Draw the requested control.
virtual ~WidgetDrawInterface() COVERITY_NOEXCEPT_FALSE
virtual bool updateSettings(AllSettings &rSettings)
virtual bool isNativeControlSupported(ControlType eType, ControlPart ePart)
Query the platform layer for native control support.
#define VCL_PLUGIN_PUBLIC
Definition: dllapi.h:40