Forge
Window Class Reference

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

#include <window.h>

Public Member Functions

FGAPI Window (int pWidth, 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 (int pX, int pY)
 Set the start position where the window will appear. More...
 
FGAPI void setSize (unsigned pWidth, unsigned pHeight)
 Set the size of the window programmatically. More...
 
FGAPI void setColorMap (ColorMap cmap)
 Set the colormap to be used for subsequent rendering calls. More...
 
FGAPI long long context () const
 Get OpenGL context handle. More...
 
FGAPI long long display () const
 Get Native Window display handle. More...
 
FGAPI int width () const
 
FGAPI int height () const
 
FGAPI internal::_Window * get () const
 
FGAPI void makeCurrent ()
 Make the current window's OpenGL 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 Plot &pPlot)
 Render a Plot to Window. More...
 
FGAPI void draw (const Plot3 &pPlot3)
 Render a Plot3 to Window. More...
 
FGAPI void draw (const Surface &pSurface)
 Render a Surface to Window. More...
 
FGAPI void draw (const Histogram &pHist)
 Render Histogram to Window. More...
 
FGAPI void grid (int pRows, int pCols)
 Setup grid layout for multivew mode. More...
 
FGAPI void draw (int pColId, int pRowId, 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 (int pColId, int pRowId, const Plot &pPlot, const char *pTitle=0)
 Render Plot to given sub-region of the window in multiview mode. More...
 
FGAPI void draw (int pColId, int pRowId, const Plot3 &pPlot3, const char *pTitle=0)
 Render Plot3 to given sub-region of the window in multiview mode. More...
 
FGAPI void draw (int pColId, int pRowId, const Surface &pSurface, const char *pTitle=0)
 Render Surface to given sub-region of the window in multiview mode. More...
 
FGAPI void draw (int pColId, int pRowId, const Histogram &pHist, const char *pTitle=0)
 Render Histogram to given sub-region of the window in multiview mode. More...
 
FGAPI void swapBuffers ()
 Swaps background OpenGL buffer with front buffer. More...
 

Detailed Description

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

are rendered.

Constructor & Destructor Documentation

◆ Window() [1/2]

FGAPI Window ( int  pWidth,
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 OpenGL 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.

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 OpenGL context handle.

Returns
Context handle for the window's OpenGL context

◆ display()

FGAPI long long display ( ) const

Get Native Window display handle.

Returns
Display handle of the native window implemenation of Window

◆ draw() [1/10]

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 does a OpenGL swap buffer, so we do not need to call Window::draw() after this function is called upon for rendering an image

◆ draw() [2/10]

FGAPI void draw ( const Plot pPlot)

Render a Plot to Window.

Parameters
[in]pPlotis an object of class Plot
Note
this draw call does a OpenGL swap buffer, so we do not need to call Window::draw() after this function is called upon for rendering a plot

◆ draw() [3/10]

FGAPI void draw ( const Plot3 pPlot3)

Render a Plot3 to Window.

Parameters
[in]pPlot3is an object of class Plot3
Note
this draw call does a OpenGL swap buffer, so we do not need to call Window::draw() after this function is called upon for rendering a plot

◆ draw() [4/10]

FGAPI void draw ( const Surface pSurface)

Render a Surface to Window.

Parameters
[in]pSurfaceis an object of class Surface
Note
this draw call does a OpenGL swap buffer, so we do not need to call Window::draw() after this function is called upon for rendering a plot

◆ draw() [5/10]

FGAPI void draw ( const Histogram pHist)

Render Histogram to Window.

Parameters
[in]pHistis an object of class Histogram
Note
this draw call does a OpenGL swap buffer, so we do not need to call Window::draw() after this function is called upon for rendering a histogram

◆ draw() [6/10]

FGAPI void draw ( int  pColId,
int  pRowId,
const Image pImage,
const char *  pTitle = 0,
const bool  pKeepAspectRatio = true 
)

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

Window::grid should have been already called before any of the draw calls that accept coloum index and row index is used to render an object.

Parameters
[in]pColIdis coloumn index
[in]pRowIdis row index
[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 do OpenGL swap buffer 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() [7/10]

FGAPI void draw ( int  pColId,
int  pRowId,
const Plot pPlot,
const char *  pTitle = 0 
)

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

Window::grid should have been already called before any of the draw calls that accept coloum index and row index is used to render an object.

Parameters
[in]pColIdis coloumn index
[in]pRowIdis row index
[in]pPlotis an object of class Plot
[in]pTitleis the title that will be displayed for the cell represented by pColId and pRowId
Note
This draw call doesn't do OpenGL swap buffer 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() [8/10]

FGAPI void draw ( int  pColId,
int  pRowId,
const Plot3 pPlot3,
const char *  pTitle = 0 
)

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

Window::grid should have been already called before any of the draw calls that accept coloum index and row index is used to render an object.

Parameters
[in]pColIdis coloumn index
[in]pRowIdis row index
[in]pPlot3is an object of class Plot3
[in]pTitleis the title that will be displayed for the cell represented by pColId and pRowId
Note
This draw call doesn't do OpenGL swap buffer 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() [9/10]

FGAPI void draw ( int  pColId,
int  pRowId,
const Surface pSurface,
const char *  pTitle = 0 
)

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

Window::grid should have been already called before any of the draw calls that accept coloum index and row index is used to render an object.

Parameters
[in]pColIdis coloumn index
[in]pRowIdis row index
[in]pSurfaceis an object of class Surface
[in]pTitleis the title that will be displayed for the cell represented by pColId and pRowId
Note
This draw call doesn't do OpenGL swap buffer 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() [10/10]

FGAPI void draw ( int  pColId,
int  pRowId,
const Histogram pHist,
const char *  pTitle = 0 
)

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

Window::grid should have been already called before any of the draw calls that accept coloum index and row index is used to render an object.

Parameters
[in]pColIdis coloumn index
[in]pRowIdis row index
[in]pHistis an object of class Histogram
[in]pTitleis the title that will be displayed for the cell represented by pColId and pRowId
Note
This draw call doesn't do OpenGL swap buffer 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 internal::_Window* get ( ) const
Returns
internal handle for window implementation

◆ grid()

FGAPI void grid ( int  pRows,
int  pCols 
)

Setup grid layout for multivew mode.

Multiview mode is where you can render different objects to different sub-regions of a given window

Parameters
[in]pRowsis number of rows in grid layout
[in]pColsis number of coloumns in grid layout

◆ height()

FGAPI int height ( ) const
Returns
window height

◆ hide()

FGAPI void hide ( )

Hide the window.

◆ makeCurrent()

FGAPI void makeCurrent ( )

Make the current window's OpenGL context active context.

◆ setColorMap()

FGAPI void setColorMap ( 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 ( int  pX,
int  pY 
)

Set the start position where the window will appear.

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

◆ setSize()

FGAPI void setSize ( unsigned  pWidth,
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 OpenGL 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: