![]() |
Gamedev Framework (gf) 1.2.0
A C++17 framework for 2D games
|
Adaptative view. More...
#include <gf/View.h>
Public Member Functions | |
AdaptativeView () | |
Default constructor. More... | |
AdaptativeView (const RectF &rect) | |
Construct the view from a rectangle. More... | |
AdaptativeView (Vector2f center, Vector2f size) | |
Construct the view from its center and size. More... | |
void | setInitialFramebufferSize (Vector2i framebufferSize) |
Set the initial framebuffer size. More... | |
void | setInitialScreenSize (Vector2i screenSize) |
Set the initial screen size. More... | |
virtual void | onFramebufferSizeChange (Vector2i framebufferSize)=0 |
Callback when the framebuffer has just been resized. More... | |
![]() | |
View () | |
Default constructor. More... | |
View (const RectF &rect) | |
Construct the view from a rectangle. More... | |
View (Vector2f center, Vector2f size) | |
Construct the view from its center and size. More... | |
virtual | ~View () |
Destructor. More... | |
RectF | getBounds () const |
Get the non-rotated bounds. More... | |
void | setCenter (Vector2f center) |
Set the center of the view. More... | |
Vector2f | getCenter () const |
Get the center of the view. More... | |
void | setSize (Vector2f size) |
Set the size of the view. More... | |
Vector2f | getSize () const |
Get the size of the view. More... | |
void | setRotation (float angle) |
Set the orientation of the view. More... | |
float | getRotation () const |
Get the current orientation of the view. More... | |
void | setViewport (const RectF &viewport) |
Set the target viewport. More... | |
const RectF & | getViewport () const |
Get the target viewport rectangle of the view. More... | |
void | reset (const RectF &rect) |
Reset the view to the given rectangle. More... | |
void | move (Vector2f offset) |
Move the view relatively to its current position. More... | |
void | rotate (float angle) |
Rotate the view relatively to its current orientation. More... | |
void | zoom (float factor) |
Resize the view rectangle relatively to its current size. More... | |
void | zoom (float factor, Vector2f fixed) |
Resize the view rectangle relatively to its current size and a fixed point. More... | |
Matrix3f | getTransform () const |
Get the projection transform of the view. More... | |
Matrix3f | getInverseTransform () const |
Get the inverse projection transform of the view. More... | |
Additional Inherited Members | |
![]() | |
void | setSizeNoCallback (Vector2f size) |
Set the world size, without calling onSizeChange() More... | |
virtual void | onSizeChange (Vector2f size) |
Callback when the world has just been resized. More... | |
void | setViewportNoCallback (const RectF &viewport) |
Set the viewport, without calling onViewportChange() More... | |
virtual void | onViewportChange (const RectF &viewport) |
Callback when the viewport has just been changed. More... | |
Adaptative view.
An adaptative view is a view that adapts automatically to framebuffer resolution change.
There are several kinds of adaptative views, according to the policy that is adopted when the resolution changes. In the examples below, The framebuffer is represented by the black rectangle and the world is the red square. If red dashed lines appears, it means that the world has been modified.
Class | Example |
---|---|
gf::StretchView | ![]() |
gf::FitView | ![]() |
gf::FillView | ![]() |
gf::ExtendView | ![]() |
gf::LockedView | ![]() |
gf::ScreenView | ![]() |
|
inline |
Default constructor.
This constructor creates a default view of \((0, 0, 1000, 1000)\).
|
inlineexplicit |
Construct the view from a rectangle.
rect | Rectangle defining the zone to display |
Construct the view from its center and size.
center | Center of the zone to display |
size | Size of the zone to display |
|
pure virtual |
Callback when the framebuffer has just been resized.
framebufferSize | The new size of the framebuffer |
Implemented in gf::StretchView, gf::FitView, gf::FillView, gf::ExtendView, gf::LockedView, and gf::ScreenView.
void gf::AdaptativeView::setInitialFramebufferSize | ( | Vector2i | framebufferSize | ) |
Set the initial framebuffer size.
framebufferSize | The initial size of the framebuffer |
|
inline |
Set the initial screen size.
screenSize | The initial size of the screen |