Forge
Window Class Reference

Window is where other objects such as Images, Plots etc. More...

#include <window.h>

Public Member Functions

FGAPI Window (const int pWidth, const int pHeight, const char *pTitle, const Window *pWindow=0, const bool invisible=false)
 Creates a Window object. More...
 
FGAPI Window (const Window &other)
 Copy constructor for Window. More...
 
FGAPI ~Window ()
 Window Destructor. More...
 
FGAPI void setFont (Font *pFont)
 Set font to be used by the window to draw text. More...
 
FGAPI void setTitle (const char *pTitle)
 Set the window title. More...
 
FGAPI void setPos (const int pX, const int pY)
 Set the start position where the window will appear. More...
 
FGAPI void setSize (const unsigned pWidth, const unsigned pHeight)
 Set the size of the window programmatically. More...
 
FGAPI void setColorMap (const ColorMap cmap)
 Set the colormap to be used for subsequent rendering calls. More...
 
FGAPI long long context () const
 Get rendering backend context handle. More...
 
FGAPI long long display () const
 Get Native Window display handle. More...
 
FGAPI int width () const
 
FGAPI int height () const
 
FGAPI fg_window get () const
 
FGAPI void makeCurrent ()
 Make the current window's rendering context active context. More...
 
FGAPI void hide ()
 Hide the window. More...
 
FGAPI void show ()
 Show the window if hidden, otherwise no effect. More...
 
FGAPI bool close ()
 Check if the window is ready for close. More...
 
FGAPI void draw (const Image &pImage, const bool pKeepAspectRatio=true)
 Render an Image to Window. More...
 
FGAPI void draw (const Chart &pChart)
 Render a chart to Window. More...
 
FGAPI void draw (const int pRows, const int pCols, const int pIndex, const Image &pImage, const char *pTitle=0, const bool pKeepAspectRatio=true)
 Render Image to given sub-region of the window in multiview mode. More...
 
FGAPI void draw (const int pRows, const int pCols, const int pIndex, const Chart &pChart, const char *pTitle=0)
 Render the chart to given sub-region of the window in multiview mode. More...
 
FGAPI void swapBuffers ()
 Swaps background buffer with front buffer. More...
 
FGAPI void saveFrameBuffer (const char *pFullPath)
 Save window frame buffer to give location in provided image format. More...
 

Detailed Description

Constructor & Destructor Documentation

◆ Window() [1/2]

FGAPI Window ( const int  pWidth,
const int  pHeight,
const char *  pTitle,
const Window pWindow = 0,
const bool  invisible = false 
)

Creates a Window object.

Parameters
[in]pWidthWidth of the display window
[in]pHeightHeight of the display window
[in]pTitlewindow Title
[in]pWindowAn already existing window with which the window to be created should share the rendering context.
[in]invisiblewindow is created in invisible mode. User has to call Window::show() when they decide to actually display the window

◆ Window() [2/2]

FGAPI Window ( const Window other)

Copy constructor for Window.

Parameters
[in]otheris the Window of which we make a copy of.

◆ ~Window()

FGAPI ~Window ( )

Window Destructor.

Decrements the reference count to the shared window object.

Member Function Documentation

◆ close()

FGAPI bool close ( )

Check if the window is ready for close.

This happens when an user presses ESC key while the window is in focus or clicks on the close button of the window

Returns
true | false

◆ context()

FGAPI long long context ( ) const

Get rendering backend context handle.

Returns
Context handle for the window's rendering context
Examples
opencl/cl_helpers.h.

◆ display()

FGAPI long long display ( ) const

Get Native Window display handle.

Returns
Display handle of the native window implemenation of Window
Examples
opencl/cl_helpers.h.

◆ draw() [1/4]

FGAPI void draw ( const Chart pChart)

Render a chart to Window.

Parameters
[in]pChartis an chart object
Note
this draw call automatically swaps back buffer with front buffer (double buffering mechanism).

◆ draw() [2/4]

FGAPI void draw ( const Image pImage,
const bool  pKeepAspectRatio = true 
)

Render an Image to Window.

Parameters
[in]pImageis an object of class Image
[in]pKeepAspectRatiowhen set to true keeps the aspect ratio of the input image constant.
Note
this draw call automatically swaps back buffer with front buffer (double buffering mechanism).

◆ draw() [3/4]

FGAPI void draw ( const int  pRows,
const int  pCols,
const int  pIndex,
const Chart pChart,
const char *  pTitle = 0 
)

Render the chart to given sub-region of the window in multiview mode.

Parameters
[in]pRowsindicates the number of rows in grid layout
[in]pColsindicates the number of columns in grid layout
[in]pIndexindicates the index of cell in the layout represented by pRows and pCols
[in]pChartis a Chart with one or more plottable renderables
[in]pTitleis the title that will be displayed for the cell represented by pColId and pRowId
Note
this draw call doesn't automatically swap back buffer with front buffer (double buffering mechanism) since it doesn't have the knowledge of which sub-regions already got rendered. We should call Window::draw() once all draw calls corresponding to all sub-regions are called when in multiview mode.

◆ draw() [4/4]

FGAPI void draw ( const int  pRows,
const int  pCols,
const int  pIndex,
const Image pImage,
const char *  pTitle = 0,
const bool  pKeepAspectRatio = true 
)

Render Image to given sub-region of the window in multiview mode.

Parameters
[in]pRowsindicates the number of rows in grid layout
[in]pColsindicates the number of columns in grid layout
[in]pIndexindicates the index of cell in the layout represented by pRows and pCols
[in]pImageis an object of class Image
[in]pTitleis the title that will be displayed for the cell represented by pColId and pRowId
[in]pKeepAspectRatiowhen set to true keeps the aspect ratio of the input image constant.
Note
this draw call doesn't automatically swap back buffer with front buffer (double buffering mechanism) since it doesn't have the knowledge of which sub-regions already got rendered. We should call Window::draw() once all draw calls corresponding to all sub-regions are called when in multiview mode.

◆ get()

FGAPI fg_window get ( ) const
Returns
internal handle for window implementation

◆ height()

FGAPI int height ( ) const
Returns
window height

◆ hide()

FGAPI void hide ( )

Hide the window.

◆ makeCurrent()

FGAPI void makeCurrent ( )

Make the current window's rendering context active context.

◆ saveFrameBuffer()

FGAPI void saveFrameBuffer ( const char *  pFullPath)

Save window frame buffer to give location in provided image format.

The image format to be saved in is inferred from the file extension provided in the path string.

Parameters
[in]pFullPathshould be the absolute path of the target location where the framebuffer should be stored. The target image format is inferred from the file extension.

◆ setColorMap()

FGAPI void setColorMap ( const ColorMap  cmap)

Set the colormap to be used for subsequent rendering calls.

Parameters
[in]cmapshould be one of the enum values from ColorMap

◆ setFont()

FGAPI void setFont ( Font pFont)

Set font to be used by the window to draw text.

Parameters
[in]pFontFont object pointer

◆ setPos()

FGAPI void setPos ( const int  pX,
const int  pY 
)

Set the start position where the window will appear.

Parameters
[in]pXis horizontal coordinate
[in]pYis vertical coordinate

◆ setSize()

FGAPI void setSize ( const unsigned  pWidth,
const unsigned  pHeight 
)

Set the size of the window programmatically.

Parameters
[in]pWidthtarget width
[in]pHeighttarget height

◆ setTitle()

FGAPI void setTitle ( const char *  pTitle)

Set the window title.

Parameters
[in]pTitleis the window title

◆ show()

FGAPI void show ( )

Show the window if hidden, otherwise no effect.

◆ swapBuffers()

FGAPI void swapBuffers ( )

Swaps background buffer with front buffer.

This draw call should only be used when the window is displaying something in multiview mode

◆ width()

FGAPI int width ( ) const
Returns
window width

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