vcl: Merge SalDisplay and SalX11Display
SalX11Display is the only subclass of the abstract SalDisplay class. Merge them and keep the SalX11Display name to clarify that this is specific to the gen/x11 VCL plugin. Further simplification (e.g. in the dtor can follow in separate commits). Change-Id: Ia0eae9f03c25ff82cbc0834f290c0a828c7c49ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200299 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
|
||||
class X11SkiaSalVirtualDevice final : public SalVirtualDevice
|
||||
{
|
||||
SalDisplay* mpDisplay;
|
||||
SalX11Display* mpDisplay;
|
||||
std::unique_ptr<X11SalGraphics> mpGraphics;
|
||||
bool mbGraphicsAcquired; // is Graphics used
|
||||
SalX11Screen mnXScreen;
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
virtual tools::Long GetWidth() const override { return mnWidth; }
|
||||
virtual tools::Long GetHeight() const override { return mnHeight; }
|
||||
|
||||
SalDisplay* GetDisplay() const { return mpDisplay; }
|
||||
SalX11Display* GetDisplay() const { return mpDisplay; }
|
||||
const SalX11Screen& GetXScreenNumber() const { return mnXScreen; }
|
||||
|
||||
virtual SalGraphics* AcquireGraphics() override;
|
||||
|
||||
+16
-24
@@ -39,7 +39,7 @@
|
||||
|
||||
#include <vclpluginapi.h>
|
||||
|
||||
class SalDisplay;
|
||||
class SalX11Display;
|
||||
|
||||
|
||||
/* From <X11/Intrinsic.h> */
|
||||
@@ -91,7 +91,7 @@ struct OwnershipFlag {
|
||||
|
||||
class SalColormap
|
||||
{
|
||||
const SalDisplay* m_pDisplay;
|
||||
const SalX11Display* m_pDisplay;
|
||||
Colormap m_hColormap;
|
||||
std::vector<Color> m_aPalette; // Pseudocolor
|
||||
SalVisual m_aVisual;
|
||||
@@ -101,7 +101,7 @@ class SalColormap
|
||||
Pixel m_nUsed; // Pseudocolor
|
||||
|
||||
public:
|
||||
SalColormap( const SalDisplay* pSalDisplay,
|
||||
SalColormap( const SalX11Display* pSalDisplay,
|
||||
Colormap hColormap,
|
||||
SalX11Screen nXScreen );
|
||||
SalColormap( sal_uInt16 nDepth );
|
||||
@@ -113,7 +113,7 @@ public:
|
||||
SalColormap & operator =(SalColormap &&) = default;
|
||||
|
||||
Colormap GetXColormap() const { return m_hColormap; }
|
||||
const SalDisplay* GetDisplay() const { return m_pDisplay; }
|
||||
const SalX11Display* GetDisplay() const { return m_pDisplay; }
|
||||
inline Display* GetXDisplay() const;
|
||||
const SalVisual& GetVisual() const { return m_aVisual; }
|
||||
Pixel GetWhitePixel() const { return m_nWhitePixel; }
|
||||
@@ -192,7 +192,7 @@ public:
|
||||
virtual ~GLX11Window() override;
|
||||
};
|
||||
|
||||
class VCLPLUG_GEN_PUBLIC SalDisplay : public SalGenericDisplay
|
||||
class VCLPLUG_GEN_PUBLIC SalX11Display : public SalGenericDisplay
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -261,7 +261,6 @@ protected:
|
||||
|
||||
mutable Time m_nLastUserEventTime; // mutable because changed on first access
|
||||
|
||||
virtual void Dispatch( XEvent *pEvent ) = 0;
|
||||
SAL_DLLPRIVATE void InitXinerama();
|
||||
SAL_DLLPRIVATE void InitRandR( ::Window aRoot ) const;
|
||||
SAL_DLLPRIVATE static void DeInitRandR();
|
||||
@@ -273,12 +272,19 @@ protected:
|
||||
public:
|
||||
SAL_DLLPRIVATE static bool BestVisual(Display *pDisp, int nScreen, XVisualInfo &rVI);
|
||||
|
||||
SAL_DLLPRIVATE SalDisplay( Display* pDisp );
|
||||
SAL_DLLPRIVATE SalX11Display(Display* pDisp);
|
||||
|
||||
virtual ~SalDisplay() override;
|
||||
virtual ~SalX11Display() override;
|
||||
|
||||
SAL_DLLPRIVATE void Init();
|
||||
|
||||
void Dispatch(XEvent* pEvent);
|
||||
void Yield();
|
||||
virtual void TriggerUserEventProcessing() override;
|
||||
|
||||
bool IsEvent();
|
||||
void SetupInput();
|
||||
|
||||
#ifdef DBG_UTIL
|
||||
void PrintInfo() const;
|
||||
void DbgPrintDisplayEvent(const char *pComment, const XEvent *pEvent) const;
|
||||
@@ -344,30 +350,16 @@ public:
|
||||
inline Display *SalColormap::GetXDisplay() const
|
||||
{ return m_pDisplay->GetDisplay(); }
|
||||
|
||||
class SalX11Display final : public SalDisplay
|
||||
{
|
||||
public:
|
||||
SalX11Display( Display* pDisp );
|
||||
virtual ~SalX11Display() override;
|
||||
|
||||
virtual void Dispatch( XEvent *pEvent ) override;
|
||||
void Yield();
|
||||
virtual void TriggerUserEventProcessing() override;
|
||||
|
||||
bool IsEvent();
|
||||
void SetupInput();
|
||||
};
|
||||
|
||||
namespace vcl_sal {
|
||||
// get foreign key names
|
||||
OUString getKeysymReplacementName(
|
||||
std::u16string_view pLang,
|
||||
KeySym nSymbol );
|
||||
|
||||
inline SalDisplay *getSalDisplay(GenericUnixSalData const * data)
|
||||
inline SalX11Display* getSalDisplay(GenericUnixSalData const * data)
|
||||
{
|
||||
assert(data != nullptr);
|
||||
return static_cast<SalDisplay *>(data->GetDisplay());
|
||||
return static_cast<SalX11Display*>(data->GetDisplay());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ class X11SalFrame final : public SalFrame
|
||||
bool mbTransientForRoot;
|
||||
std::list< X11SalFrame* > maChildren; // List of child frames
|
||||
|
||||
SalDisplay *pDisplay_;
|
||||
SalX11Display* pDisplay_;
|
||||
SalX11Screen m_nXScreen;
|
||||
::Window mhWindow;
|
||||
cairo_surface_t* mpSurface;
|
||||
@@ -167,7 +167,7 @@ public:
|
||||
void Init( SalFrameStyleFlags nSalFrameStyle, SalX11Screen nScreen,
|
||||
SystemParentData const * pParentData, bool bUseGeometry = false );
|
||||
|
||||
SalDisplay* GetDisplay() const
|
||||
SalX11Display* GetDisplay() const
|
||||
{
|
||||
return pDisplay_;
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ public:
|
||||
X11Common();
|
||||
|
||||
const SalColormap& GetColormap() const { return *m_pColormap; }
|
||||
const SalDisplay* GetDisplay() const { return GetColormap().GetDisplay(); }
|
||||
const SalX11Display* GetDisplay() const { return GetColormap().GetDisplay(); }
|
||||
const SalVisual& GetVisual() const { return GetColormap().GetVisual(); }
|
||||
Display* GetXDisplay() const { return GetColormap().GetXDisplay(); }
|
||||
Drawable GetDrawable() const { return m_hDrawable; }
|
||||
@@ -128,7 +128,7 @@ private:
|
||||
|
||||
public:
|
||||
Drawable GetDrawable() const { return maX11Common.GetDrawable(); }
|
||||
const SalDisplay* GetDisplay() const { return maX11Common.GetDisplay(); }
|
||||
const SalX11Display* GetDisplay() const { return maX11Common.GetDisplay(); }
|
||||
const SalVisual& GetVisual() const { return maX11Common.GetVisual(); }
|
||||
Display* GetXDisplay() const { return maX11Common.GetXDisplay(); }
|
||||
};
|
||||
|
||||
+2
-2
@@ -34,7 +34,7 @@ typedef struct _cairo_surface cairo_surface_t;
|
||||
|
||||
class X11SalVirtualDevice final : public SalVirtualDevice
|
||||
{
|
||||
SalDisplay *pDisplay_;
|
||||
SalX11Display* pDisplay_;
|
||||
std::unique_ptr<X11SalGraphics> pGraphics_;
|
||||
|
||||
Pixmap hDrawable_;
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
{
|
||||
return pDisplay_->GetDisplay();
|
||||
}
|
||||
SalDisplay *GetDisplay() const
|
||||
SalX11Display* GetDisplay() const
|
||||
{
|
||||
return pDisplay_;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
#include "salframe.h"
|
||||
#include <vector>
|
||||
|
||||
class SalDisplay;
|
||||
class SalX11Display;
|
||||
class X11SalFrame;
|
||||
|
||||
namespace vcl_sal {
|
||||
@@ -123,8 +123,8 @@ public:
|
||||
static const int decoration_All = 0x10000000;
|
||||
|
||||
protected:
|
||||
SalDisplay* m_pSalDisplay; // Display to use
|
||||
Display* m_pDisplay; // X Display of SalDisplay
|
||||
SalX11Display* m_pSalDisplay; // Display to use
|
||||
Display* m_pDisplay; // X Display of SalX11Display
|
||||
OUString m_aWMName;
|
||||
Atom m_aWMAtoms[ NetAtomMax];
|
||||
int m_nDesktops;
|
||||
@@ -138,7 +138,7 @@ protected:
|
||||
bool m_bWMshouldSwitchWorkspace;
|
||||
bool m_bWMshouldSwitchWorkspaceInit;
|
||||
|
||||
WMAdaptor( SalDisplay * )
|
||||
WMAdaptor(SalX11Display*)
|
||||
;
|
||||
void initAtoms();
|
||||
bool getNetWmName();
|
||||
@@ -154,9 +154,9 @@ public:
|
||||
virtual ~WMAdaptor();
|
||||
|
||||
/*
|
||||
* creates a valid WMAdaptor instance for the SalDisplay
|
||||
* creates a valid WMAdaptor instance for the SalX11Display
|
||||
*/
|
||||
static std::unique_ptr<WMAdaptor> createWMAdaptor( SalDisplay* );
|
||||
static std::unique_ptr<WMAdaptor> createWMAdaptor(SalX11Display*);
|
||||
|
||||
/*
|
||||
* may return an empty string if the window manager could
|
||||
|
||||
@@ -147,7 +147,7 @@ void X11SkiaSalGraphicsImpl::Flush() { performFlush(); }
|
||||
|
||||
std::unique_ptr<skwindow::WindowContext> createVulkanWindowContext(bool temporary)
|
||||
{
|
||||
SalDisplay* salDisplay = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* salDisplay = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
const XVisualInfo* visual;
|
||||
XVisualInfo* visuals = nullptr;
|
||||
if (!temporary)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
void X11SalGraphics::Init(X11SkiaSalVirtualDevice* pDevice)
|
||||
{
|
||||
SalDisplay* pDisplay = pDevice->GetDisplay();
|
||||
SalX11Display* pDisplay = pDevice->GetDisplay();
|
||||
|
||||
m_nXScreen = pDevice->GetXScreenNumber();
|
||||
maX11Common.m_pColormap = &pDisplay->GetColormap(m_nXScreen);
|
||||
|
||||
@@ -107,7 +107,7 @@ void RandRWrapper::releaseWrapper()
|
||||
#include <cstdio>
|
||||
#endif
|
||||
|
||||
void SalDisplay::InitRandR( ::Window aRoot ) const
|
||||
void SalX11Display::InitRandR(::Window aRoot) const
|
||||
{
|
||||
#ifdef USE_RANDR
|
||||
RandRWrapper::get( GetDisplay() ).XRRSelectInput( GetDisplay(), aRoot, RRScreenChangeNotifyMask );
|
||||
@@ -117,17 +117,17 @@ void SalDisplay::InitRandR( ::Window aRoot ) const
|
||||
#endif
|
||||
}
|
||||
|
||||
void SalDisplay::DeInitRandR()
|
||||
void SalX11Display::DeInitRandR()
|
||||
{
|
||||
#ifdef USE_RANDR
|
||||
RandRWrapper::releaseWrapper();
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
SAL_INFO("vcl.app", "SalDisplay::DeInitRandR().");
|
||||
SAL_INFO("vcl.app", "SalX11Display::DeInitRandR().");
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void SalDisplay::processRandREvent( XEvent* pEvent )
|
||||
void SalX11Display::processRandREvent( XEvent* pEvent )
|
||||
{
|
||||
#ifdef USE_RANDR
|
||||
XConfigureEvent* pCnfEvent=reinterpret_cast<XConfigureEvent*>(pEvent);
|
||||
|
||||
@@ -131,9 +131,7 @@ sal_GetServerVendor( Display *p_display )
|
||||
return vendor_unknown;
|
||||
}
|
||||
|
||||
bool SalDisplay::BestVisual( Display *pDisplay,
|
||||
int nScreen,
|
||||
XVisualInfo &rVI )
|
||||
bool SalX11Display::BestVisual(Display* pDisplay, int nScreen, XVisualInfo& rVI)
|
||||
{
|
||||
VisualID nDefVID = XVisualIDFromVisual( DefaultVisual( pDisplay, nScreen ) );
|
||||
VisualID nVID = 0;
|
||||
@@ -228,7 +226,7 @@ static int DisplayYield(int fd, void* data)
|
||||
return 1;
|
||||
}
|
||||
|
||||
SalDisplay::SalDisplay( Display *display ) :
|
||||
SalX11Display::SalX11Display(Display* display) :
|
||||
pXLib_( nullptr ),
|
||||
mpKbdExtension( nullptr ),
|
||||
pDisp_( display ),
|
||||
@@ -244,21 +242,37 @@ SalDisplay::SalDisplay( Display *display ) :
|
||||
m_nLastUserEventTime( CurrentTime )
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
SAL_INFO("vcl.app", "SalDisplay::SalDisplay().");
|
||||
SAL_INFO("vcl.app", "SalX11Display::SalX11Display().");
|
||||
#endif
|
||||
GenericUnixSalData *pData = GetGenericUnixSalData();
|
||||
|
||||
SAL_WARN_IF( pData->GetDisplay(), "vcl", "Second SalDisplay created !!!" );
|
||||
SAL_WARN_IF( pData->GetDisplay(), "vcl", "Second SalX11Display created !!!" );
|
||||
pData->SetDisplay( this );
|
||||
|
||||
m_nXDefaultScreen = SalX11Screen( DefaultScreen( pDisp_ ) );
|
||||
|
||||
Init();
|
||||
|
||||
pXLib_ = GetX11SalData()->GetLib();
|
||||
pXLib_->Insert( ConnectionNumber( pDisp_ ),
|
||||
this,
|
||||
reinterpret_cast<YieldFunc>(DisplayHasEvent),
|
||||
reinterpret_cast<YieldFunc>(DisplayQueue),
|
||||
reinterpret_cast<YieldFunc>(DisplayYield) );
|
||||
}
|
||||
|
||||
SalDisplay::~SalDisplay()
|
||||
SalX11Display::~SalX11Display()
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
SAL_INFO("vcl.app", "SalDisplay::~SalDisplay().");
|
||||
SAL_INFO("vcl.app", "SalX11Display::~SalX11Display().");
|
||||
#endif
|
||||
if( pDisp_ )
|
||||
{
|
||||
doDestruct();
|
||||
XCloseDisplay( pDisp_ );
|
||||
pDisp_ = nullptr;
|
||||
}
|
||||
|
||||
if( pDisp_ )
|
||||
{
|
||||
doDestruct();
|
||||
@@ -272,7 +286,7 @@ SalDisplay::~SalDisplay()
|
||||
DeInitRandR();
|
||||
}
|
||||
|
||||
void SalDisplay::doDestruct()
|
||||
void SalX11Display::doDestruct()
|
||||
{
|
||||
GenericUnixSalData *pData = GetGenericUnixSalData();
|
||||
|
||||
@@ -319,40 +333,13 @@ void SalDisplay::doDestruct()
|
||||
pData->SetDisplay( nullptr );
|
||||
}
|
||||
|
||||
SalX11Display::SalX11Display( Display *display )
|
||||
: SalDisplay( display )
|
||||
{
|
||||
Init();
|
||||
|
||||
pXLib_ = GetX11SalData()->GetLib();
|
||||
pXLib_->Insert( ConnectionNumber( pDisp_ ),
|
||||
this,
|
||||
reinterpret_cast<YieldFunc>(DisplayHasEvent),
|
||||
reinterpret_cast<YieldFunc>(DisplayQueue),
|
||||
reinterpret_cast<YieldFunc>(DisplayYield) );
|
||||
}
|
||||
|
||||
SalX11Display::~SalX11Display()
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
SAL_INFO("vcl.app", "SalX11Display::~SalX11Display().");
|
||||
#endif
|
||||
if( pDisp_ )
|
||||
{
|
||||
doDestruct();
|
||||
XCloseDisplay( pDisp_ );
|
||||
pDisp_ = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void SalX11Display::TriggerUserEventProcessing()
|
||||
{
|
||||
if( pXLib_ )
|
||||
pXLib_->TriggerUserEventProcessing();
|
||||
}
|
||||
|
||||
SalDisplay::ScreenData *
|
||||
SalDisplay::initScreen( SalX11Screen nXScreen ) const
|
||||
SalX11Display::ScreenData* SalX11Display::initScreen(SalX11Screen nXScreen) const
|
||||
{
|
||||
if( nXScreen.getXScreen() >= m_aScreens.size() )
|
||||
nXScreen = m_nXDefaultScreen;
|
||||
@@ -364,7 +351,7 @@ SalDisplay::initScreen( SalX11Screen nXScreen ) const
|
||||
XVisualInfo aVI;
|
||||
Colormap aColMap;
|
||||
|
||||
if( SalDisplay::BestVisual( pDisp_, nXScreen.getXScreen(), aVI ) ) // DefaultVisual
|
||||
if (SalX11Display::BestVisual(pDisp_, nXScreen.getXScreen(), aVI)) // DefaultVisual
|
||||
aColMap = DefaultColormap( pDisp_, nXScreen.getXScreen() );
|
||||
else
|
||||
aColMap = XCreateColormap( pDisp_,
|
||||
@@ -483,7 +470,7 @@ SalDisplay::initScreen( SalX11Screen nXScreen ) const
|
||||
return pSD;
|
||||
}
|
||||
|
||||
void SalDisplay::Init()
|
||||
void SalX11Display::Init()
|
||||
{
|
||||
for( Cursor & aCsr : aPointerCache_ )
|
||||
aCsr = None;
|
||||
@@ -570,7 +557,7 @@ void SalX11Display::SetupInput()
|
||||
}
|
||||
|
||||
// Sound
|
||||
void SalDisplay::Beep() const
|
||||
void SalX11Display::Beep() const
|
||||
{
|
||||
XBell( pDisp_, 100 );
|
||||
}
|
||||
@@ -612,7 +599,7 @@ unsigned int GetKeySymMask(Display* dpy, KeySym nKeySym)
|
||||
|
||||
}
|
||||
|
||||
void SalDisplay::SimulateKeyPress( sal_uInt16 nKeyCode )
|
||||
void SalX11Display::SimulateKeyPress(sal_uInt16 nKeyCode)
|
||||
{
|
||||
if (nKeyCode != KEY_CAPSLOCK)
|
||||
return;
|
||||
@@ -631,7 +618,7 @@ void SalDisplay::SimulateKeyPress( sal_uInt16 nKeyCode )
|
||||
XkbLockModifiers (dpy, XkbUseCoreKbd, nMask, nMask);
|
||||
}
|
||||
|
||||
KeyIndicatorState SalDisplay::GetIndicatorState() const
|
||||
KeyIndicatorState SalX11Display::GetIndicatorState() const
|
||||
{
|
||||
unsigned int _state = 0;
|
||||
KeyIndicatorState nState = KeyIndicatorState::NONE;
|
||||
@@ -647,7 +634,7 @@ KeyIndicatorState SalDisplay::GetIndicatorState() const
|
||||
return nState;
|
||||
}
|
||||
|
||||
OUString SalDisplay::GetKeyNameFromKeySym( KeySym nKeySym ) const
|
||||
OUString SalX11Display::GetKeyNameFromKeySym(KeySym nKeySym) const
|
||||
{
|
||||
OUString aLang = Application::GetSettings().GetUILanguageTag().getLanguage();
|
||||
OUString aRet;
|
||||
@@ -691,7 +678,7 @@ static KeySym sal_XModifier2Keysym( Display *pDisplay,
|
||||
0,0 );
|
||||
}
|
||||
|
||||
void SalDisplay::ModifierMapping()
|
||||
void SalX11Display::ModifierMapping()
|
||||
{
|
||||
XModifierKeymap *pXModMap = XGetModifierMapping( pDisp_ );
|
||||
|
||||
@@ -719,7 +706,7 @@ void SalDisplay::ModifierMapping()
|
||||
XFreeModifiermap( pXModMap );
|
||||
}
|
||||
|
||||
OUString SalDisplay::GetKeyName( sal_uInt16 nKeyCode ) const
|
||||
OUString SalX11Display::GetKeyName(sal_uInt16 nKeyCode) const
|
||||
{
|
||||
OUString aStrMap;
|
||||
OUString aCustomKeyName;
|
||||
@@ -949,7 +936,7 @@ OUString SalDisplay::GetKeyName( sal_uInt16 nKeyCode ) const
|
||||
#define IsISOKey( n ) (0x0000FE00==((n)&0xFFFFFF00))
|
||||
#endif
|
||||
|
||||
sal_uInt16 SalDisplay::GetKeyCode( KeySym keysym, char*pcPrintable ) const
|
||||
sal_uInt16 SalX11Display::GetKeyCode(KeySym keysym, char* pcPrintable) const
|
||||
{
|
||||
sal_uInt16 nKey = 0;
|
||||
|
||||
@@ -1357,7 +1344,7 @@ sal_uInt16 SalDisplay::GetKeyCode( KeySym keysym, char*pcPrintable ) const
|
||||
return nKey;
|
||||
}
|
||||
|
||||
KeySym SalDisplay::GetKeySym( XKeyEvent *pEvent,
|
||||
KeySym SalX11Display::GetKeySym( XKeyEvent *pEvent,
|
||||
char *pPrintable,
|
||||
int *pLen,
|
||||
KeySym *pUnmodifiedKeySym,
|
||||
@@ -1460,7 +1447,7 @@ const unsigned char nullcurs_bits[] = { 0x00, 0x00, 0x00, 0x00 };
|
||||
nXHot = name##curs_x_hot; \
|
||||
nYHot = name##curs_y_hot
|
||||
|
||||
Cursor SalDisplay::GetPointer( PointerStyle ePointerStyle )
|
||||
Cursor SalX11Display::GetPointer(PointerStyle ePointerStyle)
|
||||
{
|
||||
Cursor &aCur = aPointerCache_[ePointerStyle];
|
||||
|
||||
@@ -1801,7 +1788,7 @@ Cursor SalDisplay::GetPointer( PointerStyle ePointerStyle )
|
||||
return aCur;
|
||||
}
|
||||
|
||||
int SalDisplay::CaptureMouse( SalFrame *pCapture )
|
||||
int SalX11Display::CaptureMouse(SalFrame* pCapture)
|
||||
{
|
||||
static const char* pEnv = getenv( "SAL_NO_MOUSEGRABS" );
|
||||
|
||||
@@ -1832,7 +1819,7 @@ int SalDisplay::CaptureMouse( SalFrame *pCapture )
|
||||
|
||||
if( ret != GrabSuccess )
|
||||
{
|
||||
SAL_WARN("vcl", "SalDisplay::CaptureMouse could not grab pointer: " << ret);
|
||||
SAL_WARN("vcl", "SalX11Display::CaptureMouse could not grab pointer: " << ret);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -1859,7 +1846,7 @@ void SalX11Display::Yield()
|
||||
|
||||
XEvent aEvent;
|
||||
DBG_ASSERT(GetSalInstance()->GetYieldMutex()->IsCurrentThread(),
|
||||
"will crash soon since solar mutex not locked in SalDisplay::Yield" );
|
||||
"will crash soon since solar mutex not locked in SalX11Display::Yield" );
|
||||
|
||||
XNextEvent( pDisp_, &aEvent );
|
||||
|
||||
@@ -1869,13 +1856,13 @@ void SalX11Display::Yield()
|
||||
if( GetX11SalData()->HasXErrorOccurred() )
|
||||
{
|
||||
XFlush( pDisp_ );
|
||||
DbgPrintDisplayEvent("SalDisplay::Yield (WasXError)", &aEvent);
|
||||
DbgPrintDisplayEvent("SalX11Display::Yield (WasXError)", &aEvent);
|
||||
}
|
||||
#endif
|
||||
GetX11SalData()->ResetXErrorOccurred();
|
||||
}
|
||||
|
||||
void SalX11Display::Dispatch( XEvent *pEvent )
|
||||
void SalX11Display::Dispatch(XEvent* pEvent)
|
||||
{
|
||||
SalI18N_InputMethod* const pInputMethod =
|
||||
pXLib_ ? pXLib_->GetInputMethod() : nullptr;
|
||||
@@ -1982,7 +1969,7 @@ void SalX11Display::Dispatch( XEvent *pEvent )
|
||||
}
|
||||
|
||||
#ifdef DBG_UTIL
|
||||
void SalDisplay::DbgPrintDisplayEvent(const char *pComment, const XEvent *pEvent) const
|
||||
void SalX11Display::DbgPrintDisplayEvent(const char* pComment, const XEvent* pEvent) const
|
||||
{
|
||||
static const char* const EventNames[] =
|
||||
{
|
||||
@@ -2153,7 +2140,7 @@ void SalDisplay::DbgPrintDisplayEvent(const char *pComment, const XEvent *pEvent
|
||||
<< " w=" << pEvent->xany.window);
|
||||
}
|
||||
|
||||
void SalDisplay::PrintInfo() const
|
||||
void SalX11Display::PrintInfo() const
|
||||
{
|
||||
if( IsDisplay() )
|
||||
{
|
||||
@@ -2194,7 +2181,7 @@ void SalDisplay::PrintInfo() const
|
||||
}
|
||||
#endif
|
||||
|
||||
void SalDisplay::addXineramaScreenUnique( int i, tools::Long i_nX, tools::Long i_nY, tools::Long i_nWidth, tools::Long i_nHeight )
|
||||
void SalX11Display::addXineramaScreenUnique( int i, tools::Long i_nX, tools::Long i_nY, tools::Long i_nWidth, tools::Long i_nHeight )
|
||||
{
|
||||
// see if any frame buffers are at the same coordinates
|
||||
// this can happen with weird configuration e.g. on
|
||||
@@ -2218,7 +2205,7 @@ void SalDisplay::addXineramaScreenUnique( int i, tools::Long i_nX, tools::Long i
|
||||
m_aXineramaScreens.emplace_back( AbsoluteScreenPixelPoint( i_nX, i_nY ), AbsoluteScreenPixelSize( i_nWidth, i_nHeight ) );
|
||||
}
|
||||
|
||||
void SalDisplay::InitXinerama()
|
||||
void SalX11Display::InitXinerama()
|
||||
{
|
||||
if( m_aScreens.size() > 1 )
|
||||
{
|
||||
@@ -2264,7 +2251,7 @@ extern "C"
|
||||
{
|
||||
static Bool timestamp_predicate( Display*, XEvent* i_pEvent, XPointer i_pArg )
|
||||
{
|
||||
SalDisplay* pSalDisplay = reinterpret_cast<SalDisplay*>(i_pArg);
|
||||
SalX11Display* pSalDisplay = reinterpret_cast<SalX11Display*>(i_pArg);
|
||||
if( i_pEvent->type == PropertyNotify &&
|
||||
i_pEvent->xproperty.window == pSalDisplay->GetDrawable( pSalDisplay->GetDefaultXScreen() ) &&
|
||||
i_pEvent->xproperty.atom == pSalDisplay->getWMAdaptor()->getAtom( WMAdaptor::SAL_GETTIMEEVENT )
|
||||
@@ -2275,7 +2262,7 @@ extern "C"
|
||||
}
|
||||
}
|
||||
|
||||
Time SalDisplay::GetEventTimeImpl( bool i_bAlwaysReget ) const
|
||||
Time SalX11Display::GetEventTimeImpl(bool i_bAlwaysReget) const
|
||||
{
|
||||
if( m_nLastUserEventTime == CurrentTime || i_bAlwaysReget )
|
||||
{
|
||||
@@ -2285,7 +2272,7 @@ Time SalDisplay::GetEventTimeImpl( bool i_bAlwaysReget ) const
|
||||
Atom nAtom = getWMAdaptor()->getAtom( WMAdaptor::SAL_GETTIMEEVENT );
|
||||
XChangeProperty( GetDisplay(), GetDrawable( GetDefaultXScreen() ),
|
||||
nAtom, nAtom, 8, PropModeReplace, &c, 1 );
|
||||
XIfEvent( GetDisplay(), &aEvent, timestamp_predicate, reinterpret_cast<XPointer>(const_cast<SalDisplay *>(this)));
|
||||
XIfEvent( GetDisplay(), &aEvent, timestamp_predicate, reinterpret_cast<XPointer>(const_cast<SalX11Display*>(this)));
|
||||
m_nLastUserEventTime = aEvent.xproperty.time;
|
||||
}
|
||||
return m_nLastUserEventTime;
|
||||
@@ -2306,7 +2293,7 @@ SalVisual::SalVisual( const XVisualInfo* pXVI )
|
||||
|
||||
// Color is RGB (ABGR) a=0xFF000000, r=0xFF0000, g=0xFF00, b=0xFF
|
||||
|
||||
SalColormap::SalColormap( const SalDisplay *pDisplay, Colormap hColormap,
|
||||
SalColormap::SalColormap( const SalX11Display* pDisplay, Colormap hColormap,
|
||||
SalX11Screen nXScreen )
|
||||
: m_pDisplay( pDisplay ),
|
||||
m_hColormap( hColormap )
|
||||
|
||||
@@ -85,7 +85,7 @@ X11SalInstance::~X11SalInstance()
|
||||
// close session management
|
||||
SessionManagerClient::close();
|
||||
|
||||
// dispose SalDisplay list from SalData
|
||||
// dispose SalX11Display list from SalData
|
||||
// would be done in a static destructor else which is
|
||||
// a little late
|
||||
GetX11SalData()->Dispose();
|
||||
@@ -221,7 +221,7 @@ void X11SalInstance::AddToRecentDocumentList(const OUString&, const OUString&, c
|
||||
|
||||
void X11SalInstance::PostPrintersChanged()
|
||||
{
|
||||
SalDisplay* pDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* pDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
for (auto pSalFrame : pDisp->getFrames() )
|
||||
pDisp->PostEvent( pSalFrame, nullptr, SalEvent::PrinterChanged );
|
||||
}
|
||||
|
||||
@@ -518,7 +518,7 @@ void SessionManagerClient::open(SalSession * pSession)
|
||||
pClientID = nullptr;
|
||||
}
|
||||
|
||||
SalDisplay* pDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* pDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
if( pDisp->GetDrawable(pDisp->GetDefaultXScreen()) && !m_aClientID.isEmpty() )
|
||||
{
|
||||
SAL_INFO("vcl.sm.debug", " SmcOpenConnection open: pDisp->GetDrawable = true");
|
||||
|
||||
@@ -49,7 +49,7 @@ class NetWMAdaptor : public WMAdaptor
|
||||
void initAtoms();
|
||||
virtual bool isValid() const override;
|
||||
public:
|
||||
explicit NetWMAdaptor( SalDisplay* );
|
||||
explicit NetWMAdaptor(SalX11Display*);
|
||||
|
||||
virtual void setWMName( X11SalFrame* pFrame, const OUString& rWMName ) const override;
|
||||
virtual void maximizeFrame( X11SalFrame* pFrame, bool bHorizontal = true, bool bVertical = true ) const override;
|
||||
@@ -69,7 +69,7 @@ class GnomeWMAdaptor : public WMAdaptor
|
||||
void initAtoms();
|
||||
virtual bool isValid() const override;
|
||||
public:
|
||||
explicit GnomeWMAdaptor( SalDisplay * );
|
||||
explicit GnomeWMAdaptor(SalX11Display*);
|
||||
|
||||
virtual void maximizeFrame( X11SalFrame* pFrame, bool bHorizontal = true, bool bVertical = true ) const override;
|
||||
virtual void enableAlwaysOnTop( X11SalFrame* pFrame, bool bEnable ) const override;
|
||||
@@ -173,7 +173,7 @@ static int compareProtocol( const void* pLeft, const void* pRight )
|
||||
}
|
||||
}
|
||||
|
||||
std::unique_ptr<WMAdaptor> WMAdaptor::createWMAdaptor( SalDisplay* pSalDisplay )
|
||||
std::unique_ptr<WMAdaptor> WMAdaptor::createWMAdaptor(SalX11Display* pSalDisplay)
|
||||
{
|
||||
std::unique_ptr<WMAdaptor> pAdaptor;
|
||||
|
||||
@@ -217,7 +217,7 @@ std::unique_ptr<WMAdaptor> WMAdaptor::createWMAdaptor( SalDisplay* pSalDisplay )
|
||||
* WMAdaptor constructor
|
||||
*/
|
||||
|
||||
WMAdaptor::WMAdaptor( SalDisplay* pDisplay ) :
|
||||
WMAdaptor::WMAdaptor(SalX11Display* pDisplay) :
|
||||
m_pSalDisplay( pDisplay ),
|
||||
m_bEnableAlwaysOnTopWorks( false ),
|
||||
m_bLegacyPartialFullscreen( false ),
|
||||
@@ -332,7 +332,7 @@ WMAdaptor::~WMAdaptor()
|
||||
* NetWMAdaptor constructor
|
||||
*/
|
||||
|
||||
NetWMAdaptor::NetWMAdaptor( SalDisplay* pSalDisplay ) :
|
||||
NetWMAdaptor::NetWMAdaptor(SalX11Display* pSalDisplay) :
|
||||
WMAdaptor( pSalDisplay )
|
||||
{
|
||||
// currently all _NET WMs do transient like expected
|
||||
@@ -516,7 +516,7 @@ NetWMAdaptor::NetWMAdaptor( SalDisplay* pSalDisplay ) :
|
||||
* GnomeWMAdaptor constructor
|
||||
*/
|
||||
|
||||
GnomeWMAdaptor::GnomeWMAdaptor( SalDisplay* pSalDisplay ) :
|
||||
GnomeWMAdaptor::GnomeWMAdaptor(SalX11Display* pSalDisplay) :
|
||||
WMAdaptor( pSalDisplay ),
|
||||
m_bValid( false )
|
||||
{
|
||||
|
||||
@@ -155,7 +155,7 @@ void X11SalGraphics::GetResolution( sal_Int32 &rDPIX, sal_Int32 &rDPIY ) // cons
|
||||
return;
|
||||
}
|
||||
|
||||
const SalDisplay *pDisplay = GetDisplay();
|
||||
const SalX11Display* pDisplay = GetDisplay();
|
||||
if (!pDisplay)
|
||||
{
|
||||
SAL_WARN( "vcl", "Null display");
|
||||
|
||||
@@ -75,7 +75,7 @@ std::unique_ptr<SalVirtualDevice> X11SalInstance::CreateVirtualDevice(SalGraphic
|
||||
|
||||
void X11SalGraphics::Init(X11SalVirtualDevice *pDevice, SalColormap* pColormap, bool bDeleteColormap, bool bAlphaMaskTransparent)
|
||||
{
|
||||
SalDisplay *pDisplay = pDevice->GetDisplay();
|
||||
SalX11Display* pDisplay = pDevice->GetDisplay();
|
||||
m_nXScreen = pDevice->GetXScreenNumber();
|
||||
|
||||
int nVisualDepth = pDisplay->GetColormap( m_nXScreen ).GetVisual().GetDepth();
|
||||
|
||||
@@ -95,7 +95,7 @@ static ::Window hPresentationWindow = None, hPresFocusWindow = None;
|
||||
static ::std::list< ::Window > aPresentationReparentList;
|
||||
static int nVisibleFloats = 0;
|
||||
|
||||
static void doReparentPresentationDialogues( SalDisplay const * pDisplay )
|
||||
static void doReparentPresentationDialogues(SalX11Display const * pDisplay )
|
||||
{
|
||||
GetGenericUnixSalData()->ErrorTrapPush();
|
||||
for (auto const& elem : aPresentationReparentList)
|
||||
@@ -784,7 +784,7 @@ X11SalFrame::~X11SalFrame()
|
||||
if( mpParent )
|
||||
mpParent->maChildren.remove( this );
|
||||
|
||||
// deregister on SalDisplay
|
||||
// deregister on SalX11Display
|
||||
pDisplay_->deregisterFrame( this );
|
||||
|
||||
// unselect all events, some may be still in the queue anyway
|
||||
|
||||
@@ -59,7 +59,7 @@ X11SalObject* X11SalObject::CreateObject( SalFrame* pParent, SystemWindowData* p
|
||||
|
||||
pObject->mpParent = pParent;
|
||||
|
||||
SalDisplay* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
const SystemEnvData& rEnv = pParent->GetSystemData();
|
||||
Display* pDisp = pSalDisp->GetDisplay();
|
||||
::Window aObjectParent = static_cast<::Window>(rEnv.GetWindowHandle(pParent));
|
||||
@@ -469,7 +469,7 @@ bool X11SalObject::Dispatch( XEvent* pEvent )
|
||||
|
||||
void X11SalObject::SetLeaveEnterBackgrounds(const css::uno::Sequence<css::uno::Any>& rLeaveArgs, const css::uno::Sequence<css::uno::Any>& rEnterArgs)
|
||||
{
|
||||
SalDisplay* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
Display* pDisp = pSalDisp->GetDisplay();
|
||||
::Window aObjectParent = maParentWin;
|
||||
|
||||
|
||||
@@ -42,21 +42,21 @@ X11SalSystem::~X11SalSystem()
|
||||
// for the moment only handle xinerama case
|
||||
unsigned int X11SalSystem::GetDisplayScreenCount()
|
||||
{
|
||||
SalDisplay* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
return pSalDisp->IsXinerama() ? pSalDisp->GetXineramaScreens().size() :
|
||||
pSalDisp->GetXScreenCount();
|
||||
}
|
||||
|
||||
unsigned int X11SalSystem::GetDisplayBuiltInScreen()
|
||||
{
|
||||
SalDisplay* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
return pSalDisp->GetDefaultXScreen().getXScreen();
|
||||
}
|
||||
|
||||
AbsoluteScreenPixelRectangle X11SalSystem::GetDisplayScreenPosSizePixel( unsigned int nScreen )
|
||||
{
|
||||
AbsoluteScreenPixelRectangle aRet;
|
||||
SalDisplay* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
SalX11Display* pSalDisp = vcl_sal::getSalDisplay(GetGenericUnixSalData());
|
||||
if( pSalDisp->IsXinerama() )
|
||||
{
|
||||
const std::vector< AbsoluteScreenPixelRectangle >& rScreens = pSalDisp->GetXineramaScreens();
|
||||
@@ -69,7 +69,7 @@ AbsoluteScreenPixelRectangle X11SalSystem::GetDisplayScreenPosSizePixel( unsigne
|
||||
}
|
||||
else
|
||||
{
|
||||
const SalDisplay::ScreenData& rScreen =
|
||||
const SalX11Display::ScreenData& rScreen =
|
||||
pSalDisp->getDataForScreen( SalX11Screen( nScreen ) );
|
||||
aRet = AbsoluteScreenPixelRectangle( AbsoluteScreenPixelPoint( 0, 0 ), rScreen.m_aSize );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user