20#ifndef INCLUDED_VCL_INC_SALFRAME_HXX
21#define INCLUDED_VCL_INC_SALFRAME_HXX
38namespace vcl {
class WindowData; }
54namespace vcl {
class KeyCode; }
99#define SAL_FRAME_EXT_STYLE_DOCUMENT SalExtStyle(0x00000001)
100#define SAL_FRAME_EXT_STYLE_DOCMODIFIED SalExtStyle(0x00000002)
103#define SAL_FRAME_POSSIZE_X (sal_uInt16(0x0001))
104#define SAL_FRAME_POSSIZE_Y (sal_uInt16(0x0002))
105#define SAL_FRAME_POSSIZE_WIDTH (sal_uInt16(0x0004))
106#define SAL_FRAME_POSSIZE_HEIGHT (sal_uInt16(0x0008))
141 virtual bool PostEvent(std::unique_ptr<ImplSVEvent> pData) = 0;
143 virtual void SetTitle(
const OUString& rTitle ) = 0;
145 virtual void SetRepresentedURL(
const OUString& );
152 virtual void Show(
bool bVisible,
bool bNoActivate =
false ) = 0;
310 {
return m_pProc && m_pProc( m_pWindow, nEvent, pEvent ); }
315 static Selection CalcDeleteSurroundingSelection(
const OUString& rSurroundingText,
316 sal_Int32 nCursorIndex,
int nOffset,
int nChars);
A SalFrame is a system window (e.g. an X11 window).
virtual void UnionClipRegion(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)=0
virtual void ToTop(SalFrameToTop nFlags)=0
virtual LanguageType GetInputLanguage()=0
bool CallCallback(SalEvent nEvent, const void *pEvent) const
Link< bool, void > m_aModalHierarchyHdl
virtual bool GetWindowState(vcl::WindowData *)=0
virtual void UpdateSettings(AllSettings &rSettings)=0
virtual void GetWorkArea(tools::Rectangle &rRect)=0
SalFrameGeometry maGeometry
absolute, unmirrored values
virtual void SetMaxClientSize(tools::Long nWidth, tools::Long nHeight)=0
virtual bool PostEvent(std::unique_ptr< ImplSVEvent > pData)=0
virtual bool HidePopover(void *)
virtual void SetIcon(sal_uInt16 nIcon)=0
virtual void CaptureMouse(bool bMouse)=0
VclPtr< vcl::Window > m_pWindow
virtual tools::Long GetWidth() const override
void NotifyModalHierarchy(bool bModal)
virtual void SetMenu(SalMenu *pSalMenu)=0
virtual void SetInputContext(SalInputContext *pContext)=0
virtual void SetParent(SalFrame *pNewParent)=0
virtual void SetExtendedFrameStyle(SalExtStyle nExtStyle)=0
virtual void ResetClipRegion()=0
virtual void ReleaseGraphics(SalGraphics *pGraphics)=0
virtual void GetClientSize(tools::Long &rWidth, tools::Long &rHeight)=0
virtual void BeginSetClipRegion(sal_uInt32 nRects)=0
virtual void SetPointer(PointerStyle ePointerStyle)=0
virtual void EndSetClipRegion()=0
virtual bool UpdatePopover(void *, const OUString &, vcl::Window *, const tools::Rectangle &)
virtual void StartPresentation(bool bStart)=0
virtual void * ShowPopover(const OUString &, vcl::Window *, const tools::Rectangle &, QuickHelpFlags)
virtual bool GetUseDarkMode() const
const SalFrameGeometry & GetUnmirroredGeometry() const
virtual void ShowFullScreen(bool bFullScreen, sal_Int32 nDisplay)=0
virtual bool GetUseReducedAnimation() const
virtual void SetWindowState(const vcl::WindowData *)=0
void SetModalHierarchyHdl(const Link< bool, void > &rLink)
virtual bool ShowTooltip(const OUString &, const tools::Rectangle &)
virtual tools::Long GetHeight() const override
virtual bool MapUnicodeToKeyCode(sal_Unicode aUnicode, LanguageType aLangType, vcl::KeyCode &rKeyCode)=0
virtual void SetTitle(const OUString &rTitle)=0
virtual SalFrame * GetParent() const =0
virtual void SetModal(bool)
virtual void SetScreenNumber(unsigned int nScreen)=0
virtual bool IsOffScreen() const override
virtual void EndExtTextInput(EndExtTextInputFlags nFlags)=0
virtual const SystemEnvData * GetSystemData() const =0
virtual void UpdateDarkMode()
vcl::Window * GetWindow() const
virtual SalPointerState GetPointerState()=0
std::unique_ptr< weld::Window > m_xFrameWeld
virtual SalGraphics * AcquireGraphics()=0
virtual void SetPluginParent(SystemParentData *pNewParent)=0
virtual void Show(bool bVisible, bool bNoActivate=false)=0
virtual void SetAlwaysOnTop(bool bOnTop)=0
virtual void SetMinClientSize(tools::Long nWidth, tools::Long nHeight)=0
virtual void SetPointerPos(tools::Long nX, tools::Long nY)=0
virtual OUString GetKeyName(sal_uInt16 nKeyCode)=0
virtual void PositionByToolkit(const tools::Rectangle &, FloatWinPopupFlags)
virtual KeyIndicatorState GetIndicatorState()=0
virtual void SetPosSize(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, sal_uInt16 nFlags)=0
virtual bool GetModal() const
virtual void ResolveWindowHandle(SystemEnvData &) const
virtual void SimulateKeyPress(sal_uInt16 nKeyCode)=0
virtual void SetApplicationID(const OUString &rApplicationID)=0
Interface used to share logic on sizing between SalVirtualDevices and SalFrames.
constexpr sal_Int32 height() const
constexpr sal_Int32 width() const
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
#define VCL_PLUGIN_PUBLIC
bool(* SALFRAMEPROC)(vcl::Window *pInst, SalEvent nEvent, const void *pEvent)