igor::iWindowImpl Class Referenceabstract

Public Member Functions

 iWindowImpl (iWindowPtr window)
 
virtual ~iWindowImpl ()=default
 
virtual void calcClientSize ()=0
 
virtual void setDoubleClick (bool doubleClick)=0
 
virtual void swapBuffers ()=0
 
virtual void onUpdate ()=0
 
virtual bool open ()=0
 
virtual void close ()=0
 
virtual void getExtensions ()=0
 
virtual void setSizeByDesktop ()=0
 
virtual void setClientSize (int32 width, int32 height)=0
 
virtual void setSize (int32 width, int32 height)=0
 
virtual void setPosition (int32 xPos, int32 yPos)=0
 
virtual void setFullscreen (bool fullscreen)=0
 
virtual void setCentered ()=0
 
virtual iRenderContextPtr getDefaultRenderContext () const =0
 
virtual iRenderContextPtr createRenderContext (iRenderContextPtr renderContext)=0
 
virtual bool makeCurrent (iRenderContextPtr renderContext)=0
 
virtual bool deleteRenderContext (iRenderContextPtr renderContext)=0
 
virtual void setVSync (bool vsync)=0
 
virtual bool getVSync ()=0
 
virtual void registerOSListener (iOSEventListener *listener)=0
 
virtual void unregisterOSListener (iOSEventListener *listener)=0
 
virtual void getDesktopSize (int32 &width, int32 &height)=0
 
bool hasExtension (const iaString &extension) const
 
IGOR_INLINE void closeEvent ()
 
IGOR_INLINE void sizeChanged (int32 width, int32 height)
 

Static Public Member Functions

static IGOR_INLINE iWindowImplgetImpl (iWindowPtr window)
 

Protected Attributes

std::vector< iOSEventListener * > _oseventlisteners
 
int32 _width = 640
 
int32 _height = 480
 
int32 _clientWidth = 0
 
int32 _clientHeight = 0
 
int32 _x = 0
 
int32 _y = 0
 
uint8 _colordepth = 32
 
uint8 _zdepth = 16
 
bool _fullscreen = false
 
iaString _title = s_defaultWindowTitle
 
bool _isOpen = false
 
bool _doubleClick = false
 
std::vector< iaString_wglxExtensions
 
iWindowPtr _window = nullptr
 

Friends

class iWindow
 

Detailed Description

base class for internal iWindow implementation

Constructor & Destructor Documentation

◆ iWindowImpl()

igor::iWindowImpl::iWindowImpl ( iWindowPtr  window)
inline

◆ ~iWindowImpl()

virtual igor::iWindowImpl::~iWindowImpl ( )
virtualdefault

Member Function Documentation

◆ calcClientSize()

virtual void igor::iWindowImpl::calcClientSize ( )
pure virtual

◆ close()

virtual void igor::iWindowImpl::close ( )
pure virtual

◆ closeEvent()

IGOR_INLINE void igor::iWindowImpl::closeEvent ( )
inline

◆ createRenderContext()

virtual iRenderContextPtr igor::iWindowImpl::createRenderContext ( iRenderContextPtr  renderContext)
pure virtual

◆ deleteRenderContext()

virtual bool igor::iWindowImpl::deleteRenderContext ( iRenderContextPtr  renderContext)
pure virtual

◆ getDefaultRenderContext()

virtual iRenderContextPtr igor::iWindowImpl::getDefaultRenderContext ( ) const
pure virtual

◆ getDesktopSize()

virtual void igor::iWindowImpl::getDesktopSize ( int32 width,
int32 height 
)
pure virtual

◆ getExtensions()

virtual void igor::iWindowImpl::getExtensions ( )
pure virtual

◆ getImpl()

static IGOR_INLINE iWindowImpl * igor::iWindowImpl::getImpl ( iWindowPtr  window)
inlinestatic

◆ getVSync()

virtual bool igor::iWindowImpl::getVSync ( )
pure virtual

◆ hasExtension()

bool igor::iWindowImpl::hasExtension ( const iaString extension) const
inline

◆ makeCurrent()

virtual bool igor::iWindowImpl::makeCurrent ( iRenderContextPtr  renderContext)
pure virtual

◆ onUpdate()

virtual void igor::iWindowImpl::onUpdate ( )
pure virtual

◆ open()

virtual bool igor::iWindowImpl::open ( )
pure virtual

◆ registerOSListener()

virtual void igor::iWindowImpl::registerOSListener ( iOSEventListener listener)
pure virtual

◆ setCentered()

virtual void igor::iWindowImpl::setCentered ( )
pure virtual

◆ setClientSize()

virtual void igor::iWindowImpl::setClientSize ( int32  width,
int32  height 
)
pure virtual

◆ setDoubleClick()

virtual void igor::iWindowImpl::setDoubleClick ( bool  doubleClick)
pure virtual

◆ setFullscreen()

virtual void igor::iWindowImpl::setFullscreen ( bool  fullscreen)
pure virtual

◆ setPosition()

virtual void igor::iWindowImpl::setPosition ( int32  xPos,
int32  yPos 
)
pure virtual

◆ setSize()

virtual void igor::iWindowImpl::setSize ( int32  width,
int32  height 
)
pure virtual

◆ setSizeByDesktop()

virtual void igor::iWindowImpl::setSizeByDesktop ( )
pure virtual

◆ setVSync()

virtual void igor::iWindowImpl::setVSync ( bool  vsync)
pure virtual

◆ sizeChanged()

IGOR_INLINE void igor::iWindowImpl::sizeChanged ( int32  width,
int32  height 
)
inline

◆ swapBuffers()

virtual void igor::iWindowImpl::swapBuffers ( )
pure virtual

◆ unregisterOSListener()

virtual void igor::iWindowImpl::unregisterOSListener ( iOSEventListener listener)
pure virtual

Friends And Related Function Documentation

◆ iWindow

friend class iWindow
friend

Member Data Documentation

◆ _clientHeight

int32 igor::iWindowImpl::_clientHeight = 0
protected

the actuall height of the rendering area.

see details at _clientWidth

◆ _clientWidth

int32 igor::iWindowImpl::_clientWidth = 0
protected

the actuall width of the rendering area.

If fullscreen it's equal to _width. If window mode it's usually less then _width depending on window design settings.

◆ _colordepth

uint8 igor::iWindowImpl::_colordepth = 32
protected

color depth of the render area in bit per pixel

◆ _doubleClick

bool igor::iWindowImpl::_doubleClick = false
protected

flag if the window gets double click events from windows

◆ _fullscreen

bool igor::iWindowImpl::_fullscreen = false
protected

true for fullscreen mode

◆ _height

int32 igor::iWindowImpl::_height = 480
protected

height of the render area in pixel

◆ _isOpen

bool igor::iWindowImpl::_isOpen = false
protected

true if the window is opened

◆ _oseventlisteners

std::vector<iOSEventListener *> igor::iWindowImpl::_oseventlisteners
protected

list of registers os event listeners

currently all devices are singletons so all listeners will be added automatically

◆ _title

iaString igor::iWindowImpl::_title = s_defaultWindowTitle
protected

the window title

◆ _wglxExtensions

std::vector<iaString> igor::iWindowImpl::_wglxExtensions
protected

gl extensions

◆ _width

int32 igor::iWindowImpl::_width = 640
protected

width of the render area in pixel

◆ _window

iWindowPtr igor::iWindowImpl::_window = nullptr
protected

window pointer

◆ _x

int32 igor::iWindowImpl::_x = 0
protected

x position of the window in pixel

◆ _y

int32 igor::iWindowImpl::_y = 0
protected

y position of the window in pixel

◆ _zdepth

uint8 igor::iWindowImpl::_zdepth = 16
protected

depth buffer depth in bits


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