RenderWindow#
Functions
-
sfRenderWindow *sfRenderWindow_create(sfVideoMode mode, const char *title, sfUint32 style, const sfContextSettings *settings)#
Construct a new render window.
- Parameters:
mode – Video mode to use
title – Title of the window
style – Window style
settings – Creation settings (pass NULL to use default values)
-
sfRenderWindow *sfRenderWindow_createUnicode(sfVideoMode mode, const sfUint32 *title, sfUint32 style, const sfContextSettings *settings)#
Construct a new render window (with a UTF-32 title)
- Parameters:
mode – Video mode to use
title – Title of the window (UTF-32)
style – Window style
settings – Creation settings (pass NULL to use default values)
-
sfRenderWindow *sfRenderWindow_createFromHandle(sfWindowHandle handle, const sfContextSettings *settings)#
Construct a render window from an existing control.
- Parameters:
handle – Platform-specific handle of the control
settings – Creation settings (pass NULL to use default values)
-
void sfRenderWindow_destroy(sfRenderWindow *renderWindow)#
Destroy an existing render window.
- Parameters:
renderWindow – Render window to destroy
-
void sfRenderWindow_close(sfRenderWindow *renderWindow)#
Close a render window (but doesn’t destroy the internal data)
- Parameters:
renderWindow – Render window to close
-
sfBool sfRenderWindow_isOpen(const sfRenderWindow *renderWindow)#
Tell whether or not a render window is opened.
- Parameters:
renderWindow – Render window object
-
sfContextSettings sfRenderWindow_getSettings(const sfRenderWindow *renderWindow)#
Get the creation settings of a render window.
- Parameters:
renderWindow – Render window object
- Returns:
Settings used to create the window
-
sfBool sfRenderWindow_pollEvent(sfRenderWindow *renderWindow, sfEvent *event)#
Get the event on top of event queue of a render window, if any, and pop it.
- Parameters:
renderWindow – Render window object
event – Event to fill, if any
- Returns:
sfTrue if an event was returned, sfFalse if event queue was empty
-
sfBool sfRenderWindow_waitEvent(sfRenderWindow *renderWindow, sfEvent *event)#
Wait for an event and return it.
- Parameters:
renderWindow – Render window object
event – Event to fill
- Returns:
sfFalse if an error occured
-
sfVector2i sfRenderWindow_getPosition(const sfRenderWindow *renderWindow)#
Get the position of a render window.
- Parameters:
renderWindow – Render window object
- Returns:
Position in pixels
-
void sfRenderWindow_setPosition(sfRenderWindow *renderWindow, sfVector2i position)#
Change the position of a render window on screen.
Only works for top-level windows
- Parameters:
renderWindow – Render window object
position – New position, in pixels
-
sfVector2u sfRenderWindow_getSize(const sfRenderWindow *renderWindow)#
Get the size of the rendering region of a render window.
- Parameters:
renderWindow – Render window object
- Returns:
Size in pixels
-
void sfRenderWindow_setSize(sfRenderWindow *renderWindow, sfVector2u size)#
Change the size of the rendering region of a render window.
- Parameters:
renderWindow – Render window object
size – New size, in pixels
-
void sfRenderWindow_setTitle(sfRenderWindow *renderWindow, const char *title)#
Change the title of a render window.
- Parameters:
renderWindow – Render window object
title – New title
-
void sfRenderWindow_setUnicodeTitle(sfRenderWindow *renderWindow, const sfUint32 *title)#
Change the title of a render window (with a UTF-32 string)
- Parameters:
renderWindow – Render window object
title – New title
-
void sfRenderWindow_setIcon(sfRenderWindow *renderWindow, unsigned int width, unsigned int height, const sfUint8 *pixels)#
Change a render window’s icon.
- Parameters:
renderWindow – Render window object
width – Icon’s width, in pixels
height – Icon’s height, in pixels
pixels – Pointer to the pixels in memory, format must be RGBA 32 bits
-
void sfRenderWindow_setVisible(sfRenderWindow *renderWindow, sfBool visible)#
Show or hide a render window.
- Parameters:
renderWindow – Render window object
visible – sfTrue to show the window, sfFalse to hide it
-
void sfRenderWindow_setVerticalSyncEnabled(sfRenderWindow *renderWindow, sfBool enabled)#
Enable / disable vertical synchronization on a render window.
- Parameters:
renderWindow – Render window object
enabled – sfTrue to enable v-sync, sfFalse to deactivate
-
void sfRenderWindow_setMouseCursorVisible(sfRenderWindow *renderWindow, sfBool show)#
Show or hide the mouse cursor on a render window.
- Parameters:
renderWindow – Render window object
show – sfTrue to show, sfFalse to hide
-
void sfRenderWindow_setMouseCursorGrabbed(sfRenderWindow *renderWindow, sfBool grabbed)#
Grab or release the mouse cursor.
If set, grabs the mouse cursor inside this window’s client area so it may no longer be moved outside its bounds. Note that grabbing is only active while the window has focus and calling this function for fullscreen windows won’t have any effect (fullscreen windows always grab the cursor).
- Parameters:
grabbed – sfTrue to enable, sfFalse to disable
-
void sfRenderWindow_setMouseCursor(sfRenderWindow *window, const sfCursor *cursor)#
Set the displayed cursor to a native system cursor.
Upon window creation, the arrow cursor is used by default.
See also
sfCursor_createFromSystem
See also
sfCursor_createFromPixels
Warning
The cursor must not be destroyed while in use by the window.
Warning
Features related to Cursor are not supported on iOS and Android.
- Parameters:
cursor – Native system cursor type to display
-
void sfRenderWindow_setKeyRepeatEnabled(sfRenderWindow *renderWindow, sfBool enabled)#
Enable or disable automatic key-repeat for keydown events.
Automatic key-repeat is enabled by default
- Parameters:
renderWindow – Render window object
enabled – sfTrue to enable, sfFalse to disable
-
void sfRenderWindow_setFramerateLimit(sfRenderWindow *renderWindow, unsigned int limit)#
Limit the framerate to a maximum fixed frequency for a render window.
- Parameters:
renderWindow – Render window object
limit – Framerate limit, in frames per seconds (use 0 to disable limit)
-
void sfRenderWindow_setJoystickThreshold(sfRenderWindow *renderWindow, float threshold)#
Change the joystick threshold, ie.
the value below which no move event will be generated
- Parameters:
renderWindow – Render window object
threshold – New threshold, in range [0, 100]
-
sfBool sfRenderWindow_setActive(sfRenderWindow *renderWindow, sfBool active)#
Activate or deactivate a render window as the current target for rendering.
- Parameters:
renderWindow – Render window object
active – sfTrue to activate, sfFalse to deactivate
- Returns:
True if operation was successful, false otherwise
-
void sfRenderWindow_requestFocus(sfRenderWindow *renderWindow)#
Request the current render window to be made the active foreground window.
At any given time, only one window may have the input focus to receive input events such as keystrokes or mouse events. If a window requests focus, it only hints to the operating system, that it would like to be focused. The operating system is free to deny the request. This is not to be confused with sfWindow_setActive().
-
sfBool sfRenderWindow_hasFocus(const sfRenderWindow *renderWindow)#
Check whether the render window has the input focus.
At any given time, only one window may have the input focus to receive input events such as keystrokes or most mouse events.
- Returns:
True if window has focus, false otherwise
-
void sfRenderWindow_display(sfRenderWindow *renderWindow)#
Display a render window on screen.
- Parameters:
renderWindow – Render window object
-
sfWindowHandle sfRenderWindow_getSystemHandle(const sfRenderWindow *renderWindow)#
Retrieve the OS-specific handle of a render window.
- Parameters:
renderWindow – Render window object
- Returns:
Window handle
-
void sfRenderWindow_clear(sfRenderWindow *renderWindow, sfColor color)#
Clear a render window with the given color.
- Parameters:
renderWindow – Render window object
color – Fill color
-
void sfRenderWindow_setView(sfRenderWindow *renderWindow, const sfView *view)#
Change the current active view of a render window.
- Parameters:
renderWindow – Render window object
view – Pointer to the new view
-
const sfView *sfRenderWindow_getView(const sfRenderWindow *renderWindow)#
Get the current active view of a render window.
- Parameters:
renderWindow – Render window object
- Returns:
Current active view
-
const sfView *sfRenderWindow_getDefaultView(const sfRenderWindow *renderWindow)#
Get the default view of a render window.
- Parameters:
renderWindow – Render window object
- Returns:
Default view of the render window
-
sfIntRect sfRenderWindow_getViewport(const sfRenderWindow *renderWindow, const sfView *view)#
Get the viewport of a view applied to this target.
- Parameters:
renderWindow – Render window object
view – Target view
- Returns:
Viewport rectangle, expressed in pixels in the current target
-
sfVector2f sfRenderWindow_mapPixelToCoords(const sfRenderWindow *renderWindow, sfVector2i point, const sfView *view)#
Convert a point from window coordinates to world coordinates.
This function finds the 2D position that matches the given pixel of the render-window. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel.
Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-window, this assertion is not true anymore, ie. a point located at (10, 50) in your render-window may map to the point (150, 75) in your 2D world — if the view is translated by (140, 25).
This function is typically used to find which point (or object) is located below the mouse cursor.
This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-window.
- Parameters:
renderWindow – Render window object
point – Pixel to convert
view – The view to use for converting the point
- Returns:
The converted point, in “world” units
-
sfVector2i sfRenderWindow_mapCoordsToPixel(const sfRenderWindow *renderWindow, sfVector2f point, const sfView *view)#
Convert a point from world coordinates to window coordinates.
This function finds the pixel of the render-window that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point.
Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-window, this assertion is not true anymore, ie. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render-window — if the view is translated by (140, 25).
This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-window.
- Parameters:
renderWindow – Render window object
point – Point to convert
view – The view to use for converting the point
- Returns:
The converted point, in target coordinates (pixels)
-
void sfRenderWindow_drawSprite(sfRenderWindow *renderWindow, const sfSprite *object, const sfRenderStates *states)#
Draw a drawable object to the render-target.
- Parameters:
renderWindow – render window object
object – Object to draw
states – Render states to use for drawing (NULL to use the default states)
-
void sfRenderWindow_drawText(sfRenderWindow *renderWindow, const sfText *object, const sfRenderStates *states)#
-
void sfRenderWindow_drawShape(sfRenderWindow *renderWindow, const sfShape *object, const sfRenderStates *states)#
-
void sfRenderWindow_drawCircleShape(sfRenderWindow *renderWindow, const sfCircleShape *object, const sfRenderStates *states)#
-
void sfRenderWindow_drawConvexShape(sfRenderWindow *renderWindow, const sfConvexShape *object, const sfRenderStates *states)#
-
void sfRenderWindow_drawRectangleShape(sfRenderWindow *renderWindow, const sfRectangleShape *object, const sfRenderStates *states)#
-
void sfRenderWindow_drawVertexArray(sfRenderWindow *renderWindow, const sfVertexArray *object, const sfRenderStates *states)#
-
void sfRenderWindow_drawVertexBuffer(sfRenderWindow *renderWindow, const sfVertexBuffer *object, const sfRenderStates *states)#
-
void sfRenderWindow_drawVertexBufferRange(sfRenderWindow *renderWindow, const sfVertexBuffer *object, size_t firstVertex, size_t vertexCount, const sfRenderStates *states)#
Draw primitives defined by a vertex buffer.
- Parameters:
renderWindow – render window object
vertexBuffer – Vertex buffer object to draw
firstVertex – Index of the first vertex to render
vertexCount – Number of vertices to render
states – Render states to use for drawing
-
void sfRenderWindow_drawPrimitives(sfRenderWindow *renderWindow, const sfVertex *vertices, size_t vertexCount, sfPrimitiveType type, const sfRenderStates *states)#
Draw primitives defined by an array of vertices to a render window.
- Parameters:
renderWindow – render window object
vertices – Pointer to the vertices
vertexCount – Number of vertices in the array
type – Type of primitives to draw
states – Render states to use for drawing (NULL to use the default states)
-
void sfRenderWindow_pushGLStates(sfRenderWindow *renderWindow)#
Save the current OpenGL render states and matrices.
This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with popGLStates, it ensures that:
SFML’s internal states are not messed up by your OpenGL code
your OpenGL states are not modified by a call to a SFML function
- Parameters:
renderWindow – render window object
-
void sfRenderWindow_popGLStates(sfRenderWindow *renderWindow)#
Restore the previously saved OpenGL render states and matrices.
See the description of pushGLStates to get a detailed description of these functions.
- Parameters:
renderWindow – render window object
-
void sfRenderWindow_resetGLStates(sfRenderWindow *renderWindow)#
Reset the internal OpenGL states so that the target is ready for drawing.
This function can be used when you mix SFML drawing and direct OpenGL rendering, if you choose not to use pushGLStates/popGLStates. It makes sure that all OpenGL states needed by SFML are set, so that subsequent sfRenderWindow_draw*() calls will work as expected.
- Parameters:
renderWindow – render window object
-
sfImage *sfRenderWindow_capture(const sfRenderWindow *renderWindow)#
Copy the current contents of the window to an image.
- Deprecated:
Use a sfTexture and its sfTexture_updateFromRenderWindow(sfTexture*, const sfRenderWindow*, unsigned int, unsigned int) function and copy its contents into an sfImage instead.
sfVector2u windowSize = sfRenderWindow_getSize(window); sfTexture* texture = sfTexture_create(windowSize.x, windowSize.y); sfTexture_updateFromRenderWindow(texture, window, windowSize.x, windowSize.y); sfImage* screenshot = sfTexture_copyToImage(texture);
This is a slow operation, whose main purpose is to make screenshots of the application. If you want to update an image with the contents of the window and then use it for drawing, you should rather use a sfTexture and the sfTexture_updateFromWindow(sfTexture*, const sfWindow*, unsigned int, unsigned int) function. You can also draw things directly to a texture with the sfRenderTexture class.
- Returns:
sfImage containing the captured contents.
-
sfVector2i sfMouse_getPositionRenderWindow(const sfRenderWindow *relativeTo)#
Get the current position of the mouse relative to a render-window.
This function returns the current position of the mouse cursor relative to the given render-window, or desktop if NULL is passed.
- Parameters:
relativeTo – Reference window
- Returns:
Position of the mouse cursor, relative to the given render window
-
void sfMouse_setPositionRenderWindow(sfVector2i position, const sfRenderWindow *relativeTo)#
Set the current position of the mouse relative to a render window.
This function sets the current position of the mouse cursor relative to the given render-window, or desktop if NULL is passed.
- Parameters:
position – New position of the mouse
relativeTo – Reference window
-
sfVector2i sfTouch_getPositionRenderWindow(unsigned int finger, const sfRenderWindow *relativeTo)#
Get the current position of a touch in window coordinates.
This function returns the current touch position relative to the given render window, or desktop if NULL is passed.
- Parameters:
finger – Finger index
relativeTo – Reference window
- Returns:
Current position of finger, or undefined if it’s not down