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)
 
ScreenDatainitScreen (SalX11Screen nXScreen) const
 
const ScreenDatagetDataForScreen (SalX11Screen nXScreen) const
 
::Window GetDrawable (SalX11Screen nXScreen) const
 
DisplayGetDisplay () const
 
const SalX11ScreenGetDefaultXScreen () const
 
const SizeGetScreenSize (SalX11Screen nXScreen) const
 
srv_vendor_t GetServerVendor () const
 
bool IsDisplay () const
 
const SalColormapGetColormap (SalX11Screen nXScreen) const
 
const SalVisualGetVisual (SalX11Screen nXScreen) const
 
const PairGetResolution () const
 
Time GetLastUserEventTime () const
 
Time GetX11ServerTime () const
 
SalI18N_InputMethodGetInputMethod () const
 
SalI18N_KeyboardExtensionGetKbdExtension () const
 
void SetKbdExtension (SalI18N_KeyboardExtension *pKbdExtension)
 
::vcl_sal::WMAdaptorgetWMAdaptor () const
 
bool IsXinerama () const
 
const std::vector< tools::Rectangle > & GetXineramaScreens () const
 
::Window GetRootWindow (SalX11Screen nXScreen) const
 
unsigned int GetXScreenCount () const
 
const SalFrameSetgetFrames () 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
 
SalFrameGetCaptureFrame () const
 
- Public Member Functions inherited from SalUserEventList
 SalUserEventList ()
 
virtual ~SalUserEventList () COVERITY_NOEXCEPT_FALSE
 
const SalFrameSetgetFrames () const
 
SalFrameanyFrame () 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

SalXLibpXLib_
 
SalI18N_KeyboardExtensionmpKbdExtension
 
DisplaypDisp_
 
SalX11Screen m_nXDefaultScreen
 
std::vector< ScreenDatam_aScreens
 
ScreenData m_aInvalidScreenData
 
Pair aResolution_
 
sal_uLong nMaxRequestSize_
 
srv_vendor_t meServerVendor
 
o3tl::enumarray< PointerStyle, CursoraPointerCache_
 
bool bNumLockFromXS_
 
int nNumLockIndex_
 
KeySym nShiftKeySym_
 
KeySym nCtrlKeySym_
 
KeySym nMod1KeySym_
 
std::unique_ptr< vcl_sal::WMAdaptorm_pWMAdaptor
 
bool m_bXinerama
 
std::vector< tools::Rectanglem_aXineramaScreens
 
std::vector< intm_aXineramaScreenIndexMap
 
std::list< SalObject * > m_aSalObjects
 
Time m_nLastUserEventTime
 
- Protected Attributes inherited from SalGenericDisplay
SalFramem_pCapture
 
- Protected Attributes inherited from SalUserEventList
std::mutex m_aUserEventsMutex
 
std::list< SalUserEventm_aUserEvents
 
std::list< SalUserEventm_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: