LibreOffice Module vcl (master) 1
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
SalDisplay Class Referenceabstract

#include <saldisp.hxx>

Inheritance diagram for SalDisplay:
[legend]
Collaboration diagram for SalDisplay:
[legend]

Classes

struct  ScreenData
 

Public Member Functions

 SalDisplay (Display *pDisp)
 
virtual ~SalDisplay () override
 
void Init ()
 
void PrintInfo () const
 
void DbgPrintDisplayEvent (const char *pComment, const XEvent *pEvent) const
 
void Beep () const
 
void ModifierMapping ()
 
void SimulateKeyPress (sal_uInt16 nKeyCode)
 
KeyIndicatorState GetIndicatorState () const
 
OUString GetKeyNameFromKeySym (KeySym keysym) const
 
OUString GetKeyName (sal_uInt16 nKeyCode) const
 
sal_uInt16 GetKeyCode (KeySym keysym, char *pcPrintable) const
 
KeySym GetKeySym (XKeyEvent *pEvent, char *pPrintable, int *pLen, KeySym *pUnmodifiedKeySym, Status *pStatus, XIC=nullptr) const
 
Cursor GetPointer (PointerStyle ePointerStyle)
 
int CaptureMouse (SalFrame *pCapture)
 
ScreenData * initScreen (SalX11Screen nXScreen) const
 
const ScreenData & getDataForScreen (SalX11Screen nXScreen) const
 
::Window GetDrawable (SalX11Screen nXScreen) const
 
Display * GetDisplay () const
 
const SalX11Screen & GetDefaultXScreen () const
 
const Size & GetScreenSize (SalX11Screen nXScreen) const
 
srv_vendor_t GetServerVendor () const
 
bool IsDisplay () const
 
const SalColormap & GetColormap (SalX11Screen nXScreen) const
 
const SalVisual & GetVisual (SalX11Screen nXScreen) const
 
const Pair & GetResolution () const
 
Time GetLastUserEventTime () const
 
Time GetX11ServerTime () const
 
SalI18N_InputMethod * GetInputMethod () const
 
SalI18N_KeyboardExtension * GetKbdExtension () const
 
void SetKbdExtension (SalI18N_KeyboardExtension *pKbdExtension)
 
::vcl_sal::WMAdaptor * getWMAdaptor () const
 
bool IsXinerama () const
 
const std::vector< tools::Rectangle > & GetXineramaScreens () const
 
::Window GetRootWindow (SalX11Screen nXScreen) const
 
unsigned int GetXScreenCount () const
 
const SalFrameSet & getFrames () const
 
std::list< SalObject * > & getSalObjects ()
 
- Public Member Functions inherited from SalGenericDisplay
 SalGenericDisplay ()
 
virtual ~SalGenericDisplay () override
 
void registerFrame (SalFrame *pFrame)
 
virtual void deregisterFrame (SalFrame *pFrame)
 
void emitDisplayChanged ()
 
void SendInternalEvent (SalFrame *pFrame, void *pData, SalEvent nEvent=SalEvent::UserEvent)
 
void CancelInternalEvent (SalFrame *pFrame, void *pData, SalEvent nEvent)
 
bool DispatchInternalEvent (bool bHandleAllCurrentEvent=false)
 
bool MouseCaptured (const SalFrame *pFrameData) const
 
SalFrame * GetCaptureFrame () const
 
- Public Member Functions inherited from SalUserEventList
 SalUserEventList ()
 
virtual ~SalUserEventList () COVERITY_NOEXCEPT_FALSE
 
const SalFrameSet & getFrames () const
 
SalFrame * anyFrame () const
 
void insertFrame (SalFrame *pFrame)
 
void eraseFrame (SalFrame *pFrame)
 
bool isFrameAlive (const SalFrame *pFrame) const
 
void PostEvent (SalFrame *pFrame, void *pData, SalEvent nEvent)
 
void RemoveEvent (SalFrame *pFrame, void *pData, SalEvent nEvent)
 
bool HasUserEvents () const
 
bool DispatchUserEvents (bool bHandleAllCurrentEvents)
 

Static Public Member Functions

static bool BestVisual (Display *pDisp, int nScreen, XVisualInfo &rVI)
 

Protected Member Functions

virtual void Dispatch (XEvent *pEvent)=0
 
void InitXinerama ()
 
void InitRandR (::Window aRoot) const
 
void processRandREvent (XEvent *)
 
void doDestruct ()
 
void addXineramaScreenUnique (int i, tools::Long i_nX, tools::Long i_nY, tools::Long i_nWidth, tools::Long i_nHeight)
 
Time GetEventTimeImpl (bool bAlwaysReget=false) const
 
- Protected Member Functions inherited from SalGenericDisplay
virtual void ProcessEvent (SalUserEvent aEvent) override
 
- Protected Member Functions inherited from SalUserEventList
virtual void ProcessEvent (SalUserEvent aEvent)=0
 
virtual void TriggerUserEventProcessing ()=0
 
virtual void TriggerAllUserEventsProcessed ()
 
bool HasUserEvents_NoLock () const
 

Static Protected Member Functions

static void DeInitRandR ()
 

Protected Attributes

SalXLib * pXLib_
 
SalI18N_KeyboardExtension * mpKbdExtension
 
Display * pDisp_
 
SalX11Screen m_nXDefaultScreen
 
std::vector< ScreenData > m_aScreens
 
ScreenData m_aInvalidScreenData
 
Pair aResolution_
 
sal_uLong nMaxRequestSize_
 
srv_vendor_t meServerVendor
 
o3tl::enumarray< PointerStyle, Cursor > aPointerCache_
 
bool bNumLockFromXS_
 
int nNumLockIndex_
 
KeySym nShiftKeySym_
 
KeySym nCtrlKeySym_
 
KeySym nMod1KeySym_
 
std::unique_ptr< vcl_sal::WMAdaptor > m_pWMAdaptor
 
bool m_bXinerama
 
std::vector< tools::Rectangle > m_aXineramaScreens
 
std::vector< int > m_aXineramaScreenIndexMap
 
std::list< SalObject * > m_aSalObjects
 
Time m_nLastUserEventTime
 
- Protected Attributes inherited from SalGenericDisplay
SalFrame * m_pCapture
 
- Protected Attributes inherited from SalUserEventList
std::mutex m_aUserEventsMutex
 
std::list< SalUserEvent > m_aUserEvents
 
std::list< SalUserEvent > m_aProcessingUserEvents
 
bool m_bAllUserEventProcessedSignaled
 
SalFrameSet m_aFrames
 
oslThreadIdentifier m_aProcessingThread
 

Detailed Description

Definition at line 205 of file saldisp.hxx.

Constructor & Destructor Documentation

◆ SalDisplay()

SalDisplay::SalDisplay ( Display *  pDisp)

◆ ~SalDisplay()

virtual SalDisplay::~SalDisplay ( )
overridevirtual

Member Function Documentation

◆ addXineramaScreenUnique()

void SalDisplay::addXineramaScreenUnique ( int  i,
tools::Long  i_nX,
tools::Long  i_nY,
tools::Long  i_nWidth,
tools::Long  i_nHeight 
)
protected

◆ Beep()

void SalDisplay::Beep ( ) const

◆ BestVisual()

static bool SalDisplay::BestVisual ( Display *  pDisp,
int  nScreen,
XVisualInfo &  rVI 
)
static

◆ CaptureMouse()

int SalDisplay::CaptureMouse ( SalFrame *  pCapture)

◆ DbgPrintDisplayEvent()

void SalDisplay::DbgPrintDisplayEvent ( const char *  pComment,
const XEvent *  pEvent 
) const

◆ DeInitRandR()

static void SalDisplay::DeInitRandR ( )
staticprotected

◆ Dispatch()

virtual void SalDisplay::Dispatch ( XEvent *  pEvent)
protectedpure virtual

Implemented in SalX11Display.

◆ doDestruct()

void SalDisplay::doDestruct ( )
protected

◆ GetColormap()

const SalColormap & SalDisplay::GetColormap ( SalX11Screen  nXScreen) const
inline

Definition at line 331 of file saldisp.hxx.

◆ getDataForScreen()

const ScreenData & SalDisplay::getDataForScreen ( SalX11Screen  nXScreen) const
inline

Definition at line 316 of file saldisp.hxx.

References SalX11Screen::getXScreen().

◆ GetDefaultXScreen()

const SalX11Screen & SalDisplay::GetDefaultXScreen ( ) const
inline

Definition at line 327 of file saldisp.hxx.

◆ GetDisplay()

Display * SalDisplay::GetDisplay ( ) const
inline

◆ GetDrawable()

::Window SalDisplay::GetDrawable ( SalX11Screen  nXScreen) const
inline

Definition at line 325 of file saldisp.hxx.

◆ GetEventTimeImpl()

Time SalDisplay::GetEventTimeImpl ( bool  bAlwaysReget = false) const
protected

References Time.

◆ getFrames()

const SalFrameSet & SalDisplay::getFrames ( ) const
inline

Definition at line 349 of file saldisp.hxx.

References SalUserEventList::m_aFrames.

◆ GetIndicatorState()

KeyIndicatorState SalDisplay::GetIndicatorState ( ) const

◆ GetInputMethod()

SalI18N_InputMethod * SalDisplay::GetInputMethod ( ) const
inline

Definition at line 338 of file saldisp.hxx.

References SalXLib::GetInputMethod().

◆ GetKbdExtension()

SalI18N_KeyboardExtension * SalDisplay::GetKbdExtension ( ) const
inline

Definition at line 339 of file saldisp.hxx.

◆ GetKeyCode()

sal_uInt16 SalDisplay::GetKeyCode ( KeySym  keysym,
char *  pcPrintable 
) const

◆ GetKeyName()

OUString SalDisplay::GetKeyName ( sal_uInt16  nKeyCode) const

◆ GetKeyNameFromKeySym()

OUString SalDisplay::GetKeyNameFromKeySym ( KeySym  keysym) const

◆ GetKeySym()

KeySym SalDisplay::GetKeySym ( XKeyEvent *  pEvent,
char *  pPrintable,
int *  pLen,
KeySym *  pUnmodifiedKeySym,
Status *  pStatus,
XIC  = nullptr 
) const

◆ GetLastUserEventTime()

Time SalDisplay::GetLastUserEventTime ( ) const
inline

Definition at line 334 of file saldisp.hxx.

References Time.

◆ GetPointer()

Cursor SalDisplay::GetPointer ( PointerStyle  ePointerStyle)

References Cursor.

◆ GetResolution()

const Pair & SalDisplay::GetResolution ( ) const
inline

Definition at line 333 of file saldisp.hxx.

◆ GetRootWindow()

::Window SalDisplay::GetRootWindow ( SalX11Screen  nXScreen) const
inline

Definition at line 345 of file saldisp.hxx.

◆ getSalObjects()

std::list< SalObject * > & SalDisplay::getSalObjects ( )
inline

Definition at line 351 of file saldisp.hxx.

◆ GetScreenSize()

const Size & SalDisplay::GetScreenSize ( SalX11Screen  nXScreen) const
inline

Definition at line 328 of file saldisp.hxx.

◆ GetServerVendor()

srv_vendor_t SalDisplay::GetServerVendor ( ) const
inline

Definition at line 329 of file saldisp.hxx.

◆ GetVisual()

const SalVisual & SalDisplay::GetVisual ( SalX11Screen  nXScreen) const
inline

Definition at line 332 of file saldisp.hxx.

◆ getWMAdaptor()

::vcl_sal::WMAdaptor * SalDisplay::getWMAdaptor ( ) const
inline

Definition at line 342 of file saldisp.hxx.

◆ GetX11ServerTime()

Time SalDisplay::GetX11ServerTime ( ) const
inline

Definition at line 336 of file saldisp.hxx.

References Time.

◆ GetXineramaScreens()

const std::vector< tools::Rectangle > & SalDisplay::GetXineramaScreens ( ) const
inline

Definition at line 344 of file saldisp.hxx.

◆ GetXScreenCount()

unsigned int SalDisplay::GetXScreenCount ( ) const
inline

Definition at line 347 of file saldisp.hxx.

◆ Init()

void SalDisplay::Init ( )

◆ InitRandR()

void SalDisplay::InitRandR ( ::Window  aRoot) const
protected

◆ initScreen()

ScreenData * SalDisplay::initScreen ( SalX11Screen  nXScreen) const

◆ InitXinerama()

void SalDisplay::InitXinerama ( )
protected

◆ IsDisplay()

bool SalDisplay::IsDisplay ( ) const
inline

Definition at line 330 of file saldisp.hxx.

◆ IsXinerama()

bool SalDisplay::IsXinerama ( ) const
inline

Definition at line 343 of file saldisp.hxx.

◆ ModifierMapping()

void SalDisplay::ModifierMapping ( )

◆ PrintInfo()

void SalDisplay::PrintInfo ( ) const

◆ processRandREvent()

void SalDisplay::processRandREvent ( XEvent *  )
protected

◆ SetKbdExtension()

void SalDisplay::SetKbdExtension ( SalI18N_KeyboardExtension *  pKbdExtension)
inline

Definition at line 340 of file saldisp.hxx.

◆ SimulateKeyPress()

void SalDisplay::SimulateKeyPress ( sal_uInt16  nKeyCode)

Member Data Documentation

◆ aPointerCache_

o3tl::enumarray<PointerStyle, Cursor> SalDisplay::aPointerCache_
protected

Definition at line 256 of file saldisp.hxx.

◆ aResolution_

Pair SalDisplay::aResolution_
protected

Definition at line 249 of file saldisp.hxx.

◆ bNumLockFromXS_

bool SalDisplay::bNumLockFromXS_
protected

Definition at line 259 of file saldisp.hxx.

◆ m_aInvalidScreenData

ScreenData SalDisplay::m_aInvalidScreenData
protected

Definition at line 248 of file saldisp.hxx.

◆ m_aSalObjects

std::list<SalObject*> SalDisplay::m_aSalObjects
protected

Definition at line 270 of file saldisp.hxx.

◆ m_aScreens

std::vector< ScreenData > SalDisplay::m_aScreens
protected

Definition at line 247 of file saldisp.hxx.

◆ m_aXineramaScreenIndexMap

std::vector< int > SalDisplay::m_aXineramaScreenIndexMap
protected

Definition at line 269 of file saldisp.hxx.

◆ m_aXineramaScreens

std::vector< tools::Rectangle > SalDisplay::m_aXineramaScreens
protected

Definition at line 268 of file saldisp.hxx.

◆ m_bXinerama

bool SalDisplay::m_bXinerama
protected

Definition at line 267 of file saldisp.hxx.

◆ m_nLastUserEventTime

Time SalDisplay::m_nLastUserEventTime
mutableprotected

Definition at line 272 of file saldisp.hxx.

◆ m_nXDefaultScreen

SalX11Screen SalDisplay::m_nXDefaultScreen
protected

Definition at line 246 of file saldisp.hxx.

◆ m_pWMAdaptor

std::unique_ptr<vcl_sal::WMAdaptor> SalDisplay::m_pWMAdaptor
protected

Definition at line 265 of file saldisp.hxx.

◆ meServerVendor

srv_vendor_t SalDisplay::meServerVendor
protected

Definition at line 252 of file saldisp.hxx.

◆ mpKbdExtension

SalI18N_KeyboardExtension* SalDisplay::mpKbdExtension
protected

Definition at line 242 of file saldisp.hxx.

◆ nCtrlKeySym_

KeySym SalDisplay::nCtrlKeySym_
protected

Definition at line 262 of file saldisp.hxx.

◆ nMaxRequestSize_

sal_uLong SalDisplay::nMaxRequestSize_
protected

Definition at line 250 of file saldisp.hxx.

◆ nMod1KeySym_

KeySym SalDisplay::nMod1KeySym_
protected

Definition at line 263 of file saldisp.hxx.

◆ nNumLockIndex_

int SalDisplay::nNumLockIndex_
protected

Definition at line 260 of file saldisp.hxx.

◆ nShiftKeySym_

KeySym SalDisplay::nShiftKeySym_
protected

Definition at line 261 of file saldisp.hxx.

◆ pDisp_

Display* SalDisplay::pDisp_
protected

Definition at line 244 of file saldisp.hxx.

◆ pXLib_

SalXLib* SalDisplay::pXLib_
protected

Definition at line 241 of file saldisp.hxx.


The documentation for this class was generated from the following file: