mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-24 21:53:37 +02: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
@@ -0,0 +1,167 @@
|
||||
////////////////////////////////////////////////////////////
|
||||
//
|
||||
// SFML - Simple and Fast Multimedia Library
|
||||
// Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com)
|
||||
//
|
||||
// This software is provided 'as-is', without any express or implied warranty.
|
||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
//
|
||||
// Permission is granted to anyone to use this software for any purpose,
|
||||
// including commercial applications, and to alter it and redistribute it freely,
|
||||
// subject to the following restrictions:
|
||||
//
|
||||
// 1. The origin of this software must not be misrepresented;
|
||||
// you must not claim that you wrote the original software.
|
||||
// If you use this software in a product, an acknowledgment
|
||||
// in the product documentation would be appreciated but is not required.
|
||||
//
|
||||
// 2. Altered source versions must be plainly marked as such,
|
||||
// and must not be misrepresented as being the original software.
|
||||
//
|
||||
// 3. This notice may not be removed or altered from any source distribution.
|
||||
//
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef SFML_VERTEXARRAY_H
|
||||
#define SFML_VERTEXARRAY_H
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
// Headers
|
||||
////////////////////////////////////////////////////////////
|
||||
#include <SFML/Config.h>
|
||||
#include <SFML/Graphics/PrimitiveType.h>
|
||||
#include <SFML/Graphics/Rect.h>
|
||||
#include <SFML/Graphics/Types.h>
|
||||
#include <SFML/Graphics/Vertex.h>
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Create a new vertex array
|
||||
///
|
||||
/// \return A new sfVertexArray object
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfVertexArray* sfVertexArray_Create(void);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Copy an existing vertex array
|
||||
///
|
||||
/// \param vertexArray Vertex array to copy
|
||||
///
|
||||
/// \return Copied object
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfVertexArray* sfTransform_Copy(sfVertexArray* vertexArray);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Destroy an existing vertex array
|
||||
///
|
||||
/// \param vertexArray Vertex array to delete
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfVertexArray_Destroy(sfVertexArray* vertexArray);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Return the vertex count of a vertex array
|
||||
///
|
||||
/// \param vertexArray Vertex array object
|
||||
///
|
||||
/// \return Number of vertices in the array
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API unsigned int sfVertexArray_GetVertexCount(const sfVertexArray* vertexArray);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Get access to a vertex by its index
|
||||
///
|
||||
/// This function doesn't check \a index, it must be in range
|
||||
/// [0, vertex count - 1]. The behaviour is undefined
|
||||
/// otherwise.
|
||||
///
|
||||
/// \param vertexArray Vertex array object
|
||||
/// \param index Index of the vertex to get
|
||||
///
|
||||
/// \return Pointer to the index-th vertex
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfVertex* sfVertexArray_At(sfVertexArray* vertexArray, unsigned int index);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Clear a vertex array
|
||||
///
|
||||
/// This function removes all the vertices from the array.
|
||||
/// It doesn't deallocate the corresponding memory, so that
|
||||
/// adding new vertices after clearing doesn't involve
|
||||
/// reallocating all the memory.
|
||||
///
|
||||
/// \param vertexArray Vertex array object
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfVertexArray_Clear(sfVertexArray* vertexArray);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Resize the vertex array
|
||||
///
|
||||
/// If \a vertexCount is greater than the current size, the previous
|
||||
/// vertices are kept and new (default-constructed) vertices are
|
||||
/// added.
|
||||
/// If \a vertexCount is less than the current size, existing vertices
|
||||
/// are removed from the array.
|
||||
///
|
||||
/// \param vertexArray Vertex array objet
|
||||
/// \param vertexCount New size of the array (number of vertices)
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfVertexArray_Resize(sfVertexArray* vertexArray, unsigned int vertexCount);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Add a vertex to a vertex array array
|
||||
///
|
||||
/// \param vertexArray Vertex array objet
|
||||
/// \param vertex Vertex to add
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfVertexArray_Append(sfVertexArray* vertexArray, sfVertex vertex);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Set the type of primitives of a vertex array
|
||||
///
|
||||
/// This function defines how the vertices must be interpreted
|
||||
/// when it's time to draw them:
|
||||
/// \li As points
|
||||
/// \li As lines
|
||||
/// \li As triangles
|
||||
/// \li As quads
|
||||
/// The default primitive type is sfPoints.
|
||||
///
|
||||
/// \param vertexArray Vertex array objet
|
||||
/// \param type Type of primitive
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API void sfVertexArray_SetPrimitiveType(sfVertexArray* vertexArray, sfPrimitiveType type);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Get the type of primitives drawn by a vertex array
|
||||
///
|
||||
/// \param vertexArray Vertex array objet
|
||||
///
|
||||
/// \return Primitive type
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfPrimitiveType sfVertexArray_GetPrimitiveType(sfVertexArray* vertexArray);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Compute the bounding rectangle of a vertex array
|
||||
///
|
||||
/// This function returns the axis-aligned rectangle that
|
||||
/// contains all the vertices of the array.
|
||||
///
|
||||
/// \param vertexArray Vertex array objet
|
||||
///
|
||||
/// \return Bounding rectangle of the vertex array
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfFloatRect sfVertexArray_GetBounds(sfVertexArray* vertexArray);
|
||||
|
||||
|
||||
#endif // SFML_VERTEXARRAY_H
|
||||
Reference in new issue
Block a user