Open CASCADE Technology 7.8.0
Public Member Functions | Static Public Member Functions | Protected Attributes
Xw_Window Class Reference

This class defines XLib window intended for creation of OpenGL context. More...

#include <Xw_Window.hxx>

Inheritance diagram for Xw_Window:
Inheritance graph
[legend]

Public Member Functions

 Xw_Window (const Handle< Aspect_DisplayConnection > &theXDisplay, const Standard_CString theTitle, const Standard_Integer thePxLeft, const Standard_Integer thePxTop, const Standard_Integer thePxWidth, const Standard_Integer thePxHeight)
 Creates a XLib window defined by his position and size in pixels. Throws exception if window can not be created or Display do not support GLX extension.
 
 Xw_Window (const Handle< Aspect_DisplayConnection > &theXDisplay, const Aspect_Drawable theXWin, const Aspect_FBConfig theFBConfig=NULL)
 Creates a wrapper over existing Window handle.
 
 ~Xw_Window ()
 Destroys the Window and all resources attached to it.
 
virtual void Map () const override
 Opens the window <me>
 
virtual void Unmap () const override
 Closes the window <me>
 
virtual Aspect_TypeOfResize DoResize () override
 Applies the resizing to the window <me>
 
virtual Standard_Boolean DoMapping () const override
 Apply the mapping change to the window <me>
 
virtual Standard_Boolean IsMapped () const override
 Returns True if the window <me> is opened.
 
virtual Standard_Real Ratio () const override
 Returns The Window RATIO equal to the physical WIDTH/HEIGHT dimensions.
 
virtual void Position (Standard_Integer &X1, Standard_Integer &Y1, Standard_Integer &X2, Standard_Integer &Y2) const override
 Returns The Window POSITION in PIXEL.
 
virtual void Size (Standard_Integer &theWidth, Standard_Integer &theHeight) const override
 Returns The Window SIZE in PIXEL.
 
Aspect_Drawable XWindow () const
 
virtual Aspect_Drawable NativeHandle () const override
 
virtual Aspect_Drawable NativeParentHandle () const override
 
virtual Aspect_FBConfig NativeFBConfig () const override
 
virtual void SetTitle (const TCollection_AsciiString &theTitle) override
 Sets window title.
 
virtual void InvalidateContent (const Handle< Aspect_DisplayConnection > &theDisp) override
 Invalidate entire window content through generation of Expose event. This method does not aggregate multiple calls into single event - dedicated event will be sent on each call. When NULL display connection is specified, the connection specified on window creation will be used. Sending exposure messages from non-window thread would require dedicated display connection opened specifically for this working thread to avoid race conditions, since Xlib display connection is not thread-safe by default.
 
virtual bool ProcessMessage (Aspect_WindowInputListener &theListener, XEvent &theMsg)
 Process a single window message.
 
- Public Member Functions inherited from Aspect_Window
Standard_Boolean IsVirtual () const
 Returns True if the window <me> is virtual.
 
void SetVirtual (const Standard_Boolean theVirtual)
 Setup the virtual state.
 
Graphic3d_Vec2i TopLeft () const
 Returns window top-left corner.
 
Graphic3d_Vec2i Dimensions () const
 Returns window dimensions.
 
const Handle< Aspect_DisplayConnection > & DisplayConnection () const
 Returns connection to Display or NULL.
 
Aspect_Background Background () const
 Returns the window background.
 
Aspect_FillMethod BackgroundFillMethod () const
 Returns the current image background fill mode.
 
Aspect_GradientBackground GradientBackground () const
 Returns the window gradient background.
 
void SetBackground (const Aspect_Background &theBack)
 Modifies the window background.
 
void SetBackground (const Quantity_Color &theColor)
 Modifies the window background.
 
void SetBackground (const Aspect_GradientBackground &theBackground)
 Modifies the window gradient background.
 
void SetBackground (const Quantity_Color &theFirstColor, const Quantity_Color &theSecondColor, const Aspect_GradientFillMethod theFillMethod)
 Modifies the window gradient background.
 
virtual Standard_Real DevicePixelRatio () const
 Return device pixel ratio (logical to backing store scale factor).
 
virtual Graphic3d_Vec2d ConvertPointToBacking (const Graphic3d_Vec2d &thePnt) const
 Convert point from logical units into backing store units.
 
virtual Graphic3d_Vec2d ConvertPointFromBacking (const Graphic3d_Vec2d &thePnt) const
 Convert point from backing store units to logical units.
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Static Public Member Functions

static Aspect_VKey VirtualKeyFromNative (unsigned long theKey)
 Convert X11 virtual key (KeySym) into Aspect_VKey.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Protected Attributes

Aspect_Drawable myXWindow
 XLib window handle.
 
Aspect_FBConfig myFBConfig
 GLXFBConfig.
 
Standard_Integer myXLeft
 left position in pixels
 
Standard_Integer myYTop
 top position in pixels
 
Standard_Integer myXRight
 right position in pixels
 
Standard_Integer myYBottom
 bottom position in pixels
 
Standard_Boolean myIsOwnWin
 flag to indicate own window handle (to be deallocated on destruction)
 
- Protected Attributes inherited from Aspect_Window
Handle< Aspect_DisplayConnectionmyDisplay
 Display connection.
 
Aspect_Background MyBackground
 
Aspect_GradientBackground MyGradientBackground
 
Aspect_FillMethod MyBackgroundFillMethod
 
Standard_Boolean MyIsVirtual
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Protected Member Functions inherited from Aspect_Window
 Aspect_Window ()
 Initializes the data of a Window.
 

Detailed Description

This class defines XLib window intended for creation of OpenGL context.

Constructor & Destructor Documentation

◆ Xw_Window() [1/2]

Xw_Window::Xw_Window ( const Handle< Aspect_DisplayConnection > &  theXDisplay,
const Standard_CString  theTitle,
const Standard_Integer  thePxLeft,
const Standard_Integer  thePxTop,
const Standard_Integer  thePxWidth,
const Standard_Integer  thePxHeight 
)

Creates a XLib window defined by his position and size in pixels. Throws exception if window can not be created or Display do not support GLX extension.

◆ Xw_Window() [2/2]

Xw_Window::Xw_Window ( const Handle< Aspect_DisplayConnection > &  theXDisplay,
const Aspect_Drawable  theXWin,
const Aspect_FBConfig  theFBConfig = NULL 
)

Creates a wrapper over existing Window handle.

◆ ~Xw_Window()

Xw_Window::~Xw_Window ( )

Destroys the Window and all resources attached to it.

Member Function Documentation

◆ DoMapping()

virtual Standard_Boolean Xw_Window::DoMapping ( ) const
inlineoverridevirtual

Apply the mapping change to the window <me>

Implements Aspect_Window.

◆ DoResize()

virtual Aspect_TypeOfResize Xw_Window::DoResize ( )
overridevirtual

Applies the resizing to the window <me>

Implements Aspect_Window.

◆ InvalidateContent()

virtual void Xw_Window::InvalidateContent ( const Handle< Aspect_DisplayConnection > &  theDisp)
overridevirtual

Invalidate entire window content through generation of Expose event. This method does not aggregate multiple calls into single event - dedicated event will be sent on each call. When NULL display connection is specified, the connection specified on window creation will be used. Sending exposure messages from non-window thread would require dedicated display connection opened specifically for this working thread to avoid race conditions, since Xlib display connection is not thread-safe by default.

Reimplemented from Aspect_Window.

◆ IsMapped()

virtual Standard_Boolean Xw_Window::IsMapped ( ) const
overridevirtual

Returns True if the window <me> is opened.

Implements Aspect_Window.

◆ Map()

virtual void Xw_Window::Map ( ) const
overridevirtual

Opens the window <me>

Implements Aspect_Window.

◆ NativeFBConfig()

virtual Aspect_FBConfig Xw_Window::NativeFBConfig ( ) const
inlineoverridevirtual
Returns
native Window FB config (GLXFBConfig on Xlib)

Implements Aspect_Window.

◆ NativeHandle()

virtual Aspect_Drawable Xw_Window::NativeHandle ( ) const
inlineoverridevirtual
Returns
native Window handle

Implements Aspect_Window.

◆ NativeParentHandle()

virtual Aspect_Drawable Xw_Window::NativeParentHandle ( ) const
inlineoverridevirtual
Returns
parent of native Window handle

Implements Aspect_Window.

◆ Position()

virtual void Xw_Window::Position ( Standard_Integer X1,
Standard_Integer Y1,
Standard_Integer X2,
Standard_Integer Y2 
) const
overridevirtual

Returns The Window POSITION in PIXEL.

Implements Aspect_Window.

◆ ProcessMessage()

virtual bool Xw_Window::ProcessMessage ( Aspect_WindowInputListener theListener,
XEvent theMsg 
)
virtual

Process a single window message.

Parameters
theListener[in][out] listener to redirect message
theMsg[in][out] message to process
Returns
TRUE if message has been processed

◆ Ratio()

virtual Standard_Real Xw_Window::Ratio ( ) const
overridevirtual

Returns The Window RATIO equal to the physical WIDTH/HEIGHT dimensions.

Implements Aspect_Window.

◆ SetTitle()

virtual void Xw_Window::SetTitle ( const TCollection_AsciiString theTitle)
overridevirtual

Sets window title.

Reimplemented from Aspect_Window.

◆ Size()

virtual void Xw_Window::Size ( Standard_Integer theWidth,
Standard_Integer theHeight 
) const
overridevirtual

Returns The Window SIZE in PIXEL.

Implements Aspect_Window.

◆ Unmap()

virtual void Xw_Window::Unmap ( ) const
overridevirtual

Closes the window <me>

Implements Aspect_Window.

◆ VirtualKeyFromNative()

static Aspect_VKey Xw_Window::VirtualKeyFromNative ( unsigned long  theKey)
static

Convert X11 virtual key (KeySym) into Aspect_VKey.

◆ XWindow()

Aspect_Drawable Xw_Window::XWindow ( ) const
inline
Returns
native Window handle

Field Documentation

◆ myFBConfig

Aspect_FBConfig Xw_Window::myFBConfig
protected

GLXFBConfig.

◆ myIsOwnWin

Standard_Boolean Xw_Window::myIsOwnWin
protected

flag to indicate own window handle (to be deallocated on destruction)

◆ myXLeft

Standard_Integer Xw_Window::myXLeft
protected

left position in pixels

◆ myXRight

Standard_Integer Xw_Window::myXRight
protected

right position in pixels

◆ myXWindow

Aspect_Drawable Xw_Window::myXWindow
protected

XLib window handle.

◆ myYBottom

Standard_Integer Xw_Window::myYBottom
protected

bottom position in pixels

◆ myYTop

Standard_Integer Xw_Window::myYTop
protected

top position in pixels


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