LibreOffice Module vcl (master)  1
FileDefinitionWidgetDraw.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_FILEDEFINITIONWIDGETDRAW_HXX
12 #define INCLUDED_VCL_INC_FILEDEFINITIONWIDGETDRAW_HXX
13 
15 #include "salgdi.hxx"
16 #include "WidgetDrawInterface.hxx"
17 
18 namespace vcl
19 {
21 {
22 private:
25 
26  std::shared_ptr<WidgetDefinition> m_pWidgetDefinition;
27 
28  bool resolveDefinition(ControlType eType, ControlPart ePart, ControlState eState,
29  const ImplControlValue& rValue, long nX, long nY, long nWidth,
30  long nHeight);
31 
32 public:
34 
35  bool isActive() const { return m_bIsActive; }
36 
37  bool isNativeControlSupported(ControlType eType, ControlPart ePart) override;
38 
40  const tools::Rectangle& rBoundingControlRegion, const Point& aPos,
41  bool& rIsInside) override;
42 
43  bool drawNativeControl(ControlType eType, ControlPart ePart,
44  const tools::Rectangle& rBoundingControlRegion, ControlState eState,
45  const ImplControlValue& aValue, const OUString& aCaptions) override;
46 
48  const tools::Rectangle& rBoundingControlRegion, ControlState eState,
49  const ImplControlValue& aValue, const OUString& aCaption,
50  tools::Rectangle& rNativeBoundingRegion,
51  tools::Rectangle& rNativeContentRegion) override;
52 
53  bool updateSettings(AllSettings& rSettings) override;
54 };
55 
56 } // end vcl namespace
57 
58 #endif
59 
60 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool resolveDefinition(ControlType eType, ControlPart ePart, ControlState eState, const ImplControlValue &rValue, long nX, long nY, long nWidth, long nHeight)
bool updateSettings(AllSettings &rSettings) override
bool getNativeControlRegion(ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion) override
Get the native control regions for the control part.
bool hitTestNativeControl(ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, const Point &aPos, bool &rIsInside) override
Query if a position is inside the native widget part.
bool isNativeControlSupported(ControlType eType, ControlPart ePart) override
Query the platform layer for native control support.
ControlType
These types are all based on the supported variants vcl/salnativewidgets.hxx and must be kept in-sync...
bool drawNativeControl(ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaptions) override
Draw the requested control.
FileDefinitionWidgetDraw(SalGraphics &rGraphics)
std::shared_ptr< WidgetDefinition > m_pWidgetDefinition