View

Functions

sfView *sfView_create(void)

Create a default view.

This function creates a default view of (0, 0, 1000, 1000)

Returns:

A new sfView object

sfView *sfView_createFromRect(sfFloatRect rectangle)

Construct a view from a rectangle.

Parameters:
  • rectangle – Rectangle defining the zone to display

Returns:

A new sfView object

sfView *sfView_copy(const sfView *view)

Copy an existing view.

Parameters:
  • view – View to copy

Returns:

Copied object

void sfView_destroy(const sfView *view)

Destroy an existing view.

Parameters:
  • view – View to destroy

void sfView_setCenter(sfView *view, sfVector2f center)

Set the center of a view.

Parameters:
  • view – View object

  • center – New center

void sfView_setSize(sfView *view, sfVector2f size)

Set the size of a view.

Parameters:
  • view – View object

  • size – New size of the view

void sfView_setRotation(sfView *view, float angle)

Set the orientation of a view.

The default rotation of a view is 0 degree.

Parameters:
  • view – View object

  • angle – New angle, in degrees

void sfView_setViewport(sfView *view, sfFloatRect viewport)

Set the target viewport of a view.

The viewport is the rectangle into which the contents of the view are displayed, expressed as a factor (between 0 and 1) of the size of the render target to which the view is applied. For example, a view which takes the left side of the target would be defined by a rect of (0, 0, 0.5, 1). By default, a view has a viewport which covers the entire target.

Parameters:
  • view – View object

  • viewport – New viewport rectangle

void sfView_setScissor(sfView *view, sfFloatRect scissor)

Set the target scissor rectangle.

The scissor rectangle, expressed as a factor (between 0 and 1) of the RenderTarget, specifies the region of the RenderTarget whose pixels are able to be modified by draw or clear operations. Any pixels which lie outside of the scissor rectangle will not be modified by draw or clear operations. For example, a scissor rectangle which only allows modifications to the right side of the target would be defined with sfView_setScissor(view, (sfFloatRect){{0.5f, 0.f}, {0.5f, 1.f}}). By default, a view has a scissor rectangle which allows modifications to the entire target. This is equivalent to disabling the scissor test entirely. Passing the default scissor rectangle to this function will also disable scissor testing.

Parameters:
  • view – View object

  • scissor – New scissor rectangle

sfVector2f sfView_getCenter(const sfView *view)

Get the center of a view.

Parameters:
  • view – View object

Returns:

Center of the view

sfVector2f sfView_getSize(const sfView *view)

Get the size of a view.

Parameters:
  • view – View object

Returns:

Size of the view

float sfView_getRotation(const sfView *view)

Get the current orientation of a view.

Parameters:
  • view – View object

Returns:

Rotation angle of the view, in degrees

sfFloatRect sfView_getViewport(const sfView *view)

Get the target viewport rectangle of a view.

Parameters:
  • view – View object

Returns:

Viewport rectangle, expressed as a factor of the target size

sfFloatRect sfView_getScissor(const sfView *view)

Get the scissor rectangle of the view.

Parameters:
  • view – View object

Returns:

Scissor rectangle, expressed as a factor of the target size

void sfView_move(sfView *view, sfVector2f offset)

Move a view relative to its current position.

Parameters:
  • view – View object

  • offset – Offset

void sfView_rotate(sfView *view, float angle)

Rotate a view relative to its current orientation.

Parameters:
  • view – View object

  • angle – Angle to rotate, in degrees

void sfView_zoom(sfView *view, float factor)

Resize a view rectangle relative to its current size.

Resizing the view simulates a zoom, as the zone displayed on screen grows or shrinks. factor is a multiplier:

  • 1 keeps the size unchanged

  • > 1 makes the view bigger (objects appear smaller)

  • < 1 makes the view smaller (objects appear bigger)

Parameters:
  • view – View object

  • factor – Zoom factor to apply