20#ifndef INCLUDED_VCL_INC_SALOBJ_HXX
21#define INCLUDED_VCL_INC_SALOBJ_HXX
25#include <com/sun/star/uno/Sequence.hxx>
39 SalObject() : m_pInst( nullptr ), m_pCallback( nullptr ), m_bMouseTransparent( false ), m_bEraseBackground( true ) {}
48 virtual void Show(
bool bVisible ) = 0;
62 { m_pInst = pInst; m_pCallback = pProc; }
64 {
if (m_pCallback) m_pCallback( m_pInst, nEvent ); }
67 { m_bMouseTransparent = bMouseTransparent; }
69 {
return m_bMouseTransparent; }
72 { m_bEraseBackground = bEnable; }
74 {
return m_bEraseBackground; }
A SalFrame is a system window (e.g. an X11 window).
virtual void SetPosSize(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)=0
bool IsEraseBackgroundEnabled() const
VclPtr< SystemChildWindow > m_pInst
virtual void ResetClipRegion()=0
virtual void BeginSetClipRegion(sal_uInt32 nRects)=0
void CallCallback(SalObjEvent nEvent)
void SetMouseTransparent(bool bMouseTransparent)
virtual void UnionClipRegion(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)=0
virtual void SetForwardKey(bool)
bool IsMouseTransparent() const
void SetCallback(SystemChildWindow *pInst, SALOBJECTPROC pProc)
virtual Size GetOptimalSize() const
virtual void Enable(bool)
SALOBJECTPROC m_pCallback
virtual void Reparent(SalFrame *)
virtual void Show(bool bVisible)=0
void EnableEraseBackground(bool bEnable)
virtual void SetLeaveEnterBackgrounds(const css::uno::Sequence< css::uno::Any > &, const css::uno::Sequence< css::uno::Any > &)
virtual void EndSetClipRegion()=0
virtual const SystemEnvData * GetSystemData() const =0
#define VCL_PLUGIN_PUBLIC
void(* SALOBJECTPROC)(SystemChildWindow *pInst, SalObjEvent nEvent)