mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-26 05:06:12 +01:00
Updated to the new graphics API
This commit is contained in:
1 parent
06997db9e8
commit
44670984af
51 files changed
+4607
-2573
No files matched your search
@@ -27,17 +27,18 @@
|
||||
////////////////////////////////////////////////////////////
|
||||
#include <SFML/Graphics/RenderWindow.h>
|
||||
#include <SFML/Graphics/RenderWindowStruct.h>
|
||||
#include <SFML/Graphics/ShapeStruct.h>
|
||||
#include <SFML/Graphics/ShaderStruct.h>
|
||||
#include <SFML/Graphics/ImageStruct.h>
|
||||
#include <SFML/Graphics/SpriteStruct.h>
|
||||
#include <SFML/Graphics/TextStruct.h>
|
||||
#include <SFML/Graphics/CircleShapeStruct.h>
|
||||
#include <SFML/Graphics/ConvexShapeStruct.h>
|
||||
#include <SFML/Graphics/RectangleShapeStruct.h>
|
||||
#include <SFML/Graphics/VertexArrayStruct.h>
|
||||
#include <SFML/Graphics/ConvertRenderStates.hpp>
|
||||
#include <SFML/Internal.h>
|
||||
#include <SFML/ConvertEvent.h>
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Construct a new renderwindow
|
||||
////////////////////////////////////////////////////////////
|
||||
sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, sfUint32 style, const sfContextSettings* settings)
|
||||
{
|
||||
@@ -65,8 +66,6 @@ sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, sfUin
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Construct a renderwindow from an existing control
|
||||
////////////////////////////////////////////////////////////
|
||||
sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, const sfContextSettings* settings)
|
||||
{
|
||||
@@ -91,16 +90,13 @@ sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, const sfC
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Destroy an existing renderwindow
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_Destroy(sfRenderWindow* renderWindow)
|
||||
{
|
||||
delete renderWindow;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Close a renderwindow (but doesn't destroy the internal data)
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_Close(sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -109,16 +105,12 @@ void sfRenderWindow_Close(sfRenderWindow* renderWindow)
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Tell whether or not a renderwindow is opened
|
||||
////////////////////////////////////////////////////////////
|
||||
sfBool sfRenderWindow_IsOpened(const sfRenderWindow* renderWindow)
|
||||
sfBool sfRenderWindow_IsOpen(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
CSFML_CALL_RETURN(renderWindow, IsOpened(), sfFalse);
|
||||
CSFML_CALL_RETURN(renderWindow, IsOpen(), sfFalse);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get the width of the rendering region of a window
|
||||
////////////////////////////////////////////////////////////
|
||||
unsigned int sfRenderWindow_GetWidth(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -126,8 +118,6 @@ unsigned int sfRenderWindow_GetWidth(const sfRenderWindow* renderWindow)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get the height of the rendering region of a window
|
||||
////////////////////////////////////////////////////////////
|
||||
unsigned int sfRenderWindow_GetHeight(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -135,8 +125,6 @@ unsigned int sfRenderWindow_GetHeight(const sfRenderWindow* renderWindow)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get the creation settings of a window
|
||||
////////////////////////////////////////////////////////////
|
||||
sfContextSettings sfRenderWindow_GetSettings(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -152,9 +140,6 @@ sfContextSettings sfRenderWindow_GetSettings(const sfRenderWindow* renderWindow)
|
||||
}
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get the event on top of events stack of a window, if any, and pop it
|
||||
////////////////////////////////////////////////////////////
|
||||
sfBool sfRenderWindow_PollEvent(sfRenderWindow* renderWindow, sfEvent* event)
|
||||
{
|
||||
@@ -176,8 +161,6 @@ sfBool sfRenderWindow_PollEvent(sfRenderWindow* renderWindow, sfEvent* event)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Wait for an event and return it
|
||||
////////////////////////////////////////////////////////////
|
||||
sfBool sfRenderWindow_WaitEvent(sfRenderWindow* renderWindow, sfEvent* event)
|
||||
{
|
||||
@@ -199,8 +182,6 @@ sfBool sfRenderWindow_WaitEvent(sfRenderWindow* renderWindow, sfEvent* event)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Enable / disable vertical synchronization on a window
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_EnableVerticalSync(sfRenderWindow* renderWindow, sfBool enabled)
|
||||
{
|
||||
@@ -208,8 +189,6 @@ void sfRenderWindow_EnableVerticalSync(sfRenderWindow* renderWindow, sfBool enab
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Show or hide the mouse cursor on a window
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_ShowMouseCursor(sfRenderWindow* renderWindow, sfBool show)
|
||||
{
|
||||
@@ -217,9 +196,6 @@ void sfRenderWindow_ShowMouseCursor(sfRenderWindow* renderWindow, sfBool show)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Change the position of a window on screen.
|
||||
/// Only works for top-level windows
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SetPosition(sfRenderWindow* renderWindow, int left, int top)
|
||||
{
|
||||
@@ -227,8 +203,6 @@ void sfRenderWindow_SetPosition(sfRenderWindow* renderWindow, int left, int top)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Change the size of the rendering region of a window
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SetSize(sfRenderWindow* renderWindow, unsigned int width, unsigned int height)
|
||||
{
|
||||
@@ -236,8 +210,6 @@ void sfRenderWindow_SetSize(sfRenderWindow* renderWindow, unsigned int width, un
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Change the title of a window
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SetTitle(sfRenderWindow* renderWindow, const char* title)
|
||||
{
|
||||
@@ -245,8 +217,6 @@ void sfRenderWindow_SetTitle(sfRenderWindow* renderWindow, const char* title)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Show or hide a window
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_Show(sfRenderWindow* renderWindow, sfBool show)
|
||||
{
|
||||
@@ -254,9 +224,6 @@ void sfRenderWindow_Show(sfRenderWindow* renderWindow, sfBool show)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Enable or disable automatic key-repeat for keydown events.
|
||||
/// Automatic key-repeat is enabled by default
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_EnableKeyRepeat(sfRenderWindow* renderWindow, sfBool enabled)
|
||||
{
|
||||
@@ -264,8 +231,6 @@ void sfRenderWindow_EnableKeyRepeat(sfRenderWindow* renderWindow, sfBool enabled
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Change the window's icon
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SetIcon(sfRenderWindow* renderWindow, unsigned int width, unsigned int height, const sfUint8* pixels)
|
||||
{
|
||||
@@ -273,8 +238,6 @@ void sfRenderWindow_SetIcon(sfRenderWindow* renderWindow, unsigned int width, un
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Set a window as the current target for rendering
|
||||
////////////////////////////////////////////////////////////
|
||||
sfBool sfRenderWindow_SetActive(sfRenderWindow* renderWindow, sfBool active)
|
||||
{
|
||||
@@ -282,26 +245,6 @@ sfBool sfRenderWindow_SetActive(sfRenderWindow* renderWindow, sfBool active)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Save the current OpenGL render states and matrices
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SaveGLStates(sfRenderWindow* renderWindow)
|
||||
{
|
||||
CSFML_CALL(renderWindow, SaveGLStates());
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Restore the previously saved OpenGL render states and matrices
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_RestoreGLStates(sfRenderWindow* renderWindow)
|
||||
{
|
||||
CSFML_CALL(renderWindow, RestoreGLStates());
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Display a window on screen
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_Display(sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -309,8 +252,6 @@ void sfRenderWindow_Display(sfRenderWindow* renderWindow)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Limit the framerate to a maximum fixed frequency for a window
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SetFramerateLimit(sfRenderWindow* renderWindow, unsigned int limit)
|
||||
{
|
||||
@@ -318,18 +259,6 @@ void sfRenderWindow_SetFramerateLimit(sfRenderWindow* renderWindow, unsigned int
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get time elapsed since last frame of a window
|
||||
////////////////////////////////////////////////////////////
|
||||
sfUint32 sfRenderWindow_GetFrameTime(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
CSFML_CALL_RETURN(renderWindow, GetFrameTime(), 0);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Change the joystick threshold, ie. the value below which
|
||||
/// no move event will be generated
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SetJoystickThreshold(sfRenderWindow* renderWindow, float threshold)
|
||||
{
|
||||
@@ -337,8 +266,6 @@ void sfRenderWindow_SetJoystickThreshold(sfRenderWindow* renderWindow, float thr
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Retrieve the Os-specific handle of a window
|
||||
////////////////////////////////////////////////////////////
|
||||
sfWindowHandle sfRenderWindow_GetSystemHandle(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -348,51 +275,6 @@ sfWindowHandle sfRenderWindow_GetSystemHandle(const sfRenderWindow* renderWindow
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Draw something on a renderwindow
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_DrawSprite(sfRenderWindow* renderWindow, const sfSprite* sprite)
|
||||
{
|
||||
CSFML_CHECK(sprite);
|
||||
CSFML_CALL(renderWindow, Draw(sprite->This));
|
||||
}
|
||||
void sfRenderWindow_DrawShape(sfRenderWindow* renderWindow, const sfShape* shape)
|
||||
{
|
||||
CSFML_CHECK(shape);
|
||||
CSFML_CALL(renderWindow, Draw(shape->This));
|
||||
}
|
||||
void sfRenderWindow_DrawText(sfRenderWindow* renderWindow, const sfText* text)
|
||||
{
|
||||
CSFML_CHECK(text);
|
||||
CSFML_CALL(renderWindow, Draw(text->This));
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Draw something on a renderwindow with a shader
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_DrawSpriteWithShader(sfRenderWindow* renderWindow, const sfSprite* sprite, const sfShader* shader)
|
||||
{
|
||||
CSFML_CHECK(sprite);
|
||||
CSFML_CHECK(shader);
|
||||
CSFML_CALL(renderWindow, Draw(sprite->This, shader->This));
|
||||
}
|
||||
void sfRenderWindow_DrawShapeWithShader(sfRenderWindow* renderWindow, const sfShape* shape, const sfShader* shader)
|
||||
{
|
||||
CSFML_CHECK(shape);
|
||||
CSFML_CHECK(shader);
|
||||
CSFML_CALL(renderWindow, Draw(shape->This, shader->This));
|
||||
}
|
||||
void sfRenderWindow_DrawTextWithShader(sfRenderWindow* renderWindow, const sfText* text, const sfShader* shader)
|
||||
{
|
||||
CSFML_CHECK(text);
|
||||
CSFML_CHECK(shader);
|
||||
CSFML_CALL(renderWindow, Draw(text->This, shader->This));
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Clear the screen with the given color
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_Clear(sfRenderWindow* renderWindow, sfColor color)
|
||||
{
|
||||
@@ -402,8 +284,6 @@ void sfRenderWindow_Clear(sfRenderWindow* renderWindow, sfColor color)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Change the current active view of a renderwindow
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_SetView(sfRenderWindow* renderWindow, const sfView* view)
|
||||
{
|
||||
@@ -413,8 +293,6 @@ void sfRenderWindow_SetView(sfRenderWindow* renderWindow, const sfView* view)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get the current active view of a renderwindow
|
||||
////////////////////////////////////////////////////////////
|
||||
const sfView* sfRenderWindow_GetView(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -424,8 +302,6 @@ const sfView* sfRenderWindow_GetView(const sfRenderWindow* renderWindow)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get the default view of a renderwindow
|
||||
////////////////////////////////////////////////////////////
|
||||
const sfView* sfRenderWindow_GetDefaultView(const sfRenderWindow* renderWindow)
|
||||
{
|
||||
@@ -435,8 +311,6 @@ const sfView* sfRenderWindow_GetDefaultView(const sfRenderWindow* renderWindow)
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Get the viewport of a view applied to this target
|
||||
////////////////////////////////////////////////////////////
|
||||
sfIntRect sfRenderWindow_GetViewport(const sfRenderWindow* renderWindow, const sfView* view)
|
||||
{
|
||||
@@ -454,8 +328,6 @@ sfIntRect sfRenderWindow_GetViewport(const sfRenderWindow* renderWindow, const s
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Convert a point in window coordinates into view coordinates
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_ConvertCoords(const sfRenderWindow* renderWindow, unsigned int windowX, unsigned int windowY, float* viewX, float* viewY, const sfView* targetView)
|
||||
{
|
||||
@@ -472,6 +344,70 @@ void sfRenderWindow_ConvertCoords(const sfRenderWindow* renderWindow, unsigned i
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
void sfRenderWindow_DrawSprite(sfRenderWindow* renderWindow, const sfSprite* object, const sfRenderStates* states)
|
||||
{
|
||||
CSFML_CHECK(object);
|
||||
CSFML_CALL(renderWindow, Draw(object->This, ConvertRenderStates(states)));
|
||||
}
|
||||
void sfRenderWindow_DrawText(sfRenderWindow* renderWindow, const sfText* object, const sfRenderStates* states)
|
||||
{
|
||||
CSFML_CHECK(object);
|
||||
CSFML_CALL(renderWindow, Draw(object->This, ConvertRenderStates(states)));
|
||||
}
|
||||
void sfRenderWindow_DrawCircleShape(sfRenderWindow* renderWindow, const sfCircleShape* object, const sfRenderStates* states)
|
||||
{
|
||||
CSFML_CHECK(object);
|
||||
CSFML_CALL(renderWindow, Draw(object->This, ConvertRenderStates(states)));
|
||||
}
|
||||
void sfRenderWindow_DrawConvexShape(sfRenderWindow* renderWindow, const sfConvexShape* object, const sfRenderStates* states)
|
||||
{
|
||||
CSFML_CHECK(object);
|
||||
CSFML_CALL(renderWindow, Draw(object->This, ConvertRenderStates(states)));
|
||||
}
|
||||
void sfRenderWindow_DrawRectangleShape(sfRenderWindow* renderWindow, const sfRectangleShape* object, const sfRenderStates* states)
|
||||
{
|
||||
CSFML_CHECK(object);
|
||||
CSFML_CALL(renderWindow, Draw(object->This, ConvertRenderStates(states)));
|
||||
}
|
||||
void sfRenderWindow_DrawVertexArray(sfRenderWindow* renderWindow, const sfVertexArray* object, const sfRenderStates* states)
|
||||
{
|
||||
CSFML_CHECK(object);
|
||||
CSFML_CALL(renderWindow, Draw(object->This, ConvertRenderStates(states)));
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfRenderWindow_DrawPrimitives(sfRenderWindow* renderWindow,
|
||||
const sfVertex* vertices, unsigned int vertexCount,
|
||||
sfPrimitiveType type, const sfRenderStates* states)
|
||||
{
|
||||
CSFML_CALL(renderWindow, Draw(reinterpret_cast<const sf::Vertex*>(vertices), vertexCount,
|
||||
static_cast<sf::PrimitiveType>(type), ConvertRenderStates(states)));
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfRenderWindow_PushGLStates(sfRenderWindow* renderWindow)
|
||||
{
|
||||
CSFML_CALL(renderWindow, PushGLStates());
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfRenderWindow_PopGLStates(sfRenderWindow* renderWindow)
|
||||
{
|
||||
CSFML_CALL(renderWindow, PopGLStates());
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfRenderWindow_ResetGLStates(sfRenderWindow* renderWindow)
|
||||
{
|
||||
CSFML_CALL(renderWindow, ResetGLStates());
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Copy the current contents of a window to an image
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in new issue
Block a user