Forge

Functions
Window
C API functions

## Functions
FGAPI fg_err | fg_create_window (fg_window *pWindow, const int pWidth, const int pHeight, const char *pTitle, const fg_window pShareWindow, const bool pInvisible)
| Create a Window object. More...
FGAPI fg_err | fg_retain_window (fg_window *pOut, fg_window pWindow)
| Increment the internal reference count for Window. More...
FGAPI fg_err | fg_release_window (fg_window pWindow)
| Destroy Window Object. More...
FGAPI fg_err | fg_set_window_font (fg_window pWindow, const fg_font pFont)
| Set font object to be used by Window Object. More...
FGAPI fg_err | fg_set_window_title (fg_window pWindow, const char *pTitle)
| Set the title of Window Object. More...
FGAPI fg_err | fg_set_window_position (fg_window pWindow, const int pX, const int pY)
| Set the window origin of Window Object w.r.t screen origin. More...
FGAPI fg_err | fg_set_window_size (fg_window pWindow, const unsigned pWidth, const unsigned pHeight)
| Set the window dimensions of Window Object. More...
FGAPI fg_err | fg_set_window_colormap (fg_window pWindow, const fg_color_map pColorMap)
| Set the colormap to be used by the Window Object. More...
FGAPI fg_err | fg_get_window_context_handle (long long *pContext, const fg_window pWindow)
| Get the backend specific context handle of Window. More...
FGAPI fg_err | fg_get_window_display_handle (long long *pDisplay, const fg_window pWindow)
| Get the display device handle of Window. More...
FGAPI fg_err | fg_get_window_width (int *pWidth, const fg_window pWindow)
| Get the width of Window. More...
FGAPI fg_err | fg_get_window_height (int *pHeight, const fg_window pWindow)
| Get the height of Window. More...
FGAPI fg_err | fg_make_window_current (const fg_window pWindow)
| Make the window's backend specific context the active context in given thread. More...
FGAPI fg_err | fg_hide_window (const fg_window pWindow)
| Hide the Window. More...
FGAPI fg_err | fg_show_window (const fg_window pWindow)
| Show the Window. More...
FGAPI fg_err | fg_close_window (bool *pIsClosed, const fg_window pWindow)
| Check if the Window is closed. More...
FGAPI fg_err | fg_draw_image (const fg_window pWindow, const fg_image pImage, const bool pKeepAspectRatio)
| Render given image to Window. More...
FGAPI fg_err | fg_draw_chart (const fg_window pWindow, const fg_chart pChart)
| Render given chart to Window. More...
FGAPI fg_err | fg_draw_image_to_cell (const fg_window pWindow, const int pRows, const int pCols, const int pIndex, const fg_image pImage, const char *pTitle, const bool pKeepAspectRatio)
| Render given image to Window's particular sub-view. More...
FGAPI fg_err | fg_draw_chart_to_cell (const fg_window pWindow, const int pRows, const int pCols, const int pIndex, const fg_chart pChart, const char *pTitle)
| Render given chart to Window's particular sub-view. More...
FGAPI fg_err | fg_swap_window_buffers (const fg_window pWindow)
| Swap back buffer with front buffer. More...
FGAPI fg_err | fg_save_window_framebuffer (const char *pFullPath, const fg_window pWindow)
| Save the current frame buffer to a file at provided path. More...

## Detailed Description

## Function Documentation

## ◆ fg_close_window()

FGAPI fg_err fg_close_window | ( | bool * | pIsClosed,
|  | const fg_window | pWindow
| ) |  |

Check if the Window is closed.

Parameters

  [out] | pIsClosed | is set to boolean value if the window is closed
  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_create_window()

FGAPI fg_err fg_create_window | ( | fg_window * | pWindow,
|  | const int | pWidth,
|  | const int | pHeight,
|  | const char * | pTitle,
|  | const fg_window | pShareWindow,
|  | const bool | pInvisible
| ) |  |

Create a Window object.

Parameters

  [out] | pWindow | is set to the window created
  [in] | pWidth | Width of the display window
  [in] | pHeight | Height of the display window
  [in] | pTitle | window Title
  [in] | pShareWindow | is an already existing window with which the window to be created should share the rendering context.
  [in] | pInvisible | indicates if the window is created in invisible mode.

Returns
  fg_err error code

## ◆ fg_draw_chart()

FGAPI fg_err fg_draw_chart | ( | const fg_window | pWindow,
|  | const fg_chart | pChart
| ) |  |

Render given chart to Window.

Parameters

  [in] | pWindow | is Window handle
  [in] | pChart | is chart handle

Returns
  fg_err error code

## ◆ fg_draw_chart_to_cell()

FGAPI fg_err fg_draw_chart_to_cell | ( | const fg_window | pWindow,
|  | const int | pRows,
|  | const int | pCols,
|  | const int | pIndex,
|  | const fg_chart | pChart,
|  | const char * | pTitle
| ) |  |

Render given chart to Window's particular sub-view.

Parameters

  [in] | pWindow | is Window handle
  [in] | pRows | indicates the number of rows in grid layout
  [in] | pCols | indicates the number of columns in grid layout
  [in] | pIndex | indicates the index of cell in the layout represented by `pRows` and `pCols`
  [in] | pChart | is chart handle
  [in] | pTitle | is the title of the sub-view

Returns
  fg_err error code

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 fg_swap_window_buffers once all draw calls corresponding to all sub-regions are called when in multiview mode.

## ◆ fg_draw_image()

FGAPI fg_err fg_draw_image | ( | const fg_window | pWindow,
|  | const fg_image | pImage,
|  | const bool | pKeepAspectRatio
| ) |  |

Render given image to Window.

Parameters

  [in] | pWindow | is Window handle
  [in] | pImage | is Image handle
  [in] | pKeepAspectRatio | is boolean indicating if the image aspect ratio has to be maintained while rendering the image

Returns
  fg_err error code

## ◆ fg_draw_image_to_cell()

FGAPI fg_err fg_draw_image_to_cell | ( | const fg_window | pWindow,
|  | const int | pRows,
|  | const int | pCols,
|  | const int | pIndex,
|  | const fg_image | pImage,
|  | const char * | pTitle,
|  | const bool | pKeepAspectRatio
| ) |  |

Render given image to Window's particular sub-view.

Parameters

  [in] | pWindow | is Window handle
  [in] | pRows | indicates the number of rows in grid layout
  [in] | pCols | indicates the number of columns in grid layout
  [in] | pIndex | indicates the index of cell in the layout represented by `pRows` and `pCols`
  [in] | pImage | is image handle
  [in] | pTitle | is the title of the sub-view
  [in] | pKeepAspectRatio | is boolean indicating if the image aspect ratio has to be maintained while rendering the image

Returns
  fg_err error code

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 fg_swap_window_buffers once all draw calls corresponding to all sub-regions are called when in multiview mode.

## ◆ fg_get_window_context_handle()

FGAPI fg_err fg_get_window_context_handle | ( | long long * | pContext,
|  | const fg_window | pWindow
| ) |  |

Get the backend specific context handle of Window.

Parameters

  [out] | pContext | is set to the backend specific context handle
  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_get_window_display_handle()

FGAPI fg_err fg_get_window_display_handle | ( | long long * | pDisplay,
|  | const fg_window | pWindow
| ) |  |

Get the display device handle of Window.

Parameters

  [out] | pDisplay | is set to the display device handle
  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_get_window_height()

FGAPI fg_err fg_get_window_height | ( | int * | pHeight,
|  | const fg_window | pWindow
| ) |  |

Get the height of Window.

Parameters

  [out] | pHeight | is set to the height of the Window
  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_get_window_width()

FGAPI fg_err fg_get_window_width | ( | int * | pWidth,
|  | const fg_window | pWindow
| ) |  |

Get the width of Window.

Parameters

  [out] | pWidth | is set to the width of the Window
  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_hide_window()

FGAPI fg_err fg_hide_window | ( | const fg_window | pWindow | ) |

Hide the Window.

Parameters

  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_make_window_current()

FGAPI fg_err fg_make_window_current | ( | const fg_window | pWindow | ) |

Make the window's backend specific context the active context in given thread.

Parameters

  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_release_window()

FGAPI fg_err fg_release_window | ( | fg_window | pWindow | ) |

Destroy Window Object.

Decrements the reference count to the shared window object.

Parameters

  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_retain_window()

FGAPI fg_err fg_retain_window | ( | fg_window * | pOut,
|  | fg_window | pWindow
| ) |  |

Increment the internal reference count for Window.

Parameters

  [out] | pOut | is the new window handle pointing to existing window
  [in] | pWindow | is the original window handle

Returns
  fg_err error code

## ◆ fg_save_window_framebuffer()

FGAPI fg_err fg_save_window_framebuffer | ( | const char * | pFullPath,
|  | const fg_window | pWindow
| ) |  |

Save the current frame buffer to a file at provided path.

The frame buffer stored to the disk is saved in the image format based on the extension provided in the full file path string.

Parameters

  [in] | pFullPath | is the path at which frame buffer is stored.
  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_set_window_colormap()

FGAPI fg_err fg_set_window_colormap | ( | fg_window | pWindow,
|  | const fg_color_map | pColorMap
| ) |  |

Set the colormap to be used by the Window Object.

Parameters

  [in] | pWindow | is Window handle
  [in] | pColorMap | takes one of the values of enum fg_color_map

Returns
  fg_err error code

## ◆ fg_set_window_font()

FGAPI fg_err fg_set_window_font | ( | fg_window | pWindow,
|  | const fg_font | pFont
| ) |  |

Set font object to be used by Window Object.

Parameters

  [in] | pWindow | is Window handle
  [in] | pFont | is Font handle

Returns
  fg_err error code

## ◆ fg_set_window_position()

FGAPI fg_err fg_set_window_position | ( | fg_window | pWindow,
|  | const int | pX,
|  | const int | pY
| ) |  |

Set the window origin of Window Object w.r.t screen origin.

Parameters

  [in] | pWindow | is Window handle
  [in] | pX | is the x coordinate of window top left corner
  [in] | pY | is the y coordinate of window top left corner

Returns
  fg_err error code

## ◆ fg_set_window_size()

FGAPI fg_err fg_set_window_size | ( | fg_window | pWindow,
|  | const unsigned | pWidth,
|  | const unsigned | pHeight
| ) |  |

Set the window dimensions of Window Object.

Parameters

  [in] | pWindow | is Window handle
  [in] | pWidth | is the width of window
  [in] | pHeight | is the height of window

Returns
  fg_err error code

## ◆ fg_set_window_title()

FGAPI fg_err fg_set_window_title | ( | fg_window | pWindow,
|  | const char * | pTitle
| ) |  |

Set the title of Window Object.

Parameters

  [in] | pWindow | is Window handle
  [in] | pTitle | is the window tile

Returns
  fg_err error code

## ◆ fg_show_window()

FGAPI fg_err fg_show_window | ( | const fg_window | pWindow | ) |

Show the Window.

Parameters

  [in] | pWindow | is Window handle

Returns
  fg_err error code

## ◆ fg_swap_window_buffers()

FGAPI fg_err fg_swap_window_buffers | ( | const fg_window | pWindow | ) |

Swap back buffer with front buffer.

Parameters

  [in] | pWindow | is Window handle

Returns
  fg_err error code