20#ifndef INCLUDED_VCL_CTRL_HXX
21#define INCLUDED_VCL_CTRL_HXX
23#include <rtl/ustring.hxx>
58 tools::Long GetIndexForPoint(
const Point& rPoint )
const;
92 SAL_DLLPRIVATE
void ImplInitControlData();
99 virtual void FillLayoutData()
const;
102 void AppendLayoutData(
const Control& rSubControl )
const;
105 void CreateLayoutData()
const;
107 bool HasLayoutData()
const;
121 bool ImplCallEventListenersAndHandler(
122 VclEventId nEvent, std::function<
void()>
const & callHandler
125 void CallEventListeners(
VclEventId nEvent,
void* pData =
nullptr );
138 std::vector< tools::Rectangle >* _pVector, OUString* _pDisplayText,
139 const Size* i_pDeviceSize =
nullptr )
const;
143 Size* o_pDeviceSize =
nullptr )
const;
150 void ImplInitSettings();
154 virtual bool FocusWindowBelongsToControl(
const vcl::Window* pFocusWin)
const;
156 SAL_DLLPRIVATE
void ImplClearLayoutData()
const;
180 virtual void dispose()
override;
182 virtual void EnableRTL (
bool bEnable =
true )
override;
184 virtual bool EventNotify(
NotifyEvent& rNEvt )
override;
186 virtual void Resize()
override;
189 virtual void SetText(
const OUString& rStr )
override;
191 virtual OUString GetDisplayText()
const override;
196 tools::Long GetIndexForPoint(
const Point& rPoint )
const;
220 void SetLayoutDataParent(
const Control* pParent )
const;
222 virtual Size GetOptimalSize()
const override;
227 void SetReferenceDevice(
OutputDevice* _referenceDevice );
230 vcl::Font GetUnzoomedControlPointFont()
const;
231 void SetShowAccelerator (
bool val);
234 virtual void LogicInvalidate(
const tools::Rectangle* pRectangle )
override;
std::optional< vcl::ControlLayoutData > mxLayoutData
Link< Control &, void > maLoseFocusHdl
VclPtr< OutputDevice > mpReferenceDevice
Control(const Control &)=delete
bool HasControlFocus() const
determines whether the control currently has the focus
void SetLoseFocusHdl(const Link< Control &, void > &rLink)
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
virtual void SetText(const OUString &rStr) override
std::vector< tools::Rectangle > m_aUnicodeBoundRects
std::vector< tools::Long > m_aLineIndices
VclPtr< const Control > m_pParent