25#ifndef SFML_RENDERTARGET_HPP
26#define SFML_RENDERTARGET_HPP
31#include <SFML/Graphics/Export.hpp>
32#include <SFML/Graphics/Color.hpp>
33#include <SFML/Graphics/Rect.hpp>
34#include <SFML/Graphics/View.hpp>
35#include <SFML/Graphics/Transform.hpp>
36#include <SFML/Graphics/BlendMode.hpp>
37#include <SFML/Graphics/RenderStates.hpp>
38#include <SFML/Graphics/PrimitiveType.hpp>
39#include <SFML/Graphics/Vertex.hpp>
40#include <SFML/System/NonCopyable.hpp>
400 void applyCurrentView();
408 void applyBlendMode(
const BlendMode& mode);
416 void applyTransform(
const Transform& transform);
424 void applyTexture(
const Texture* texture);
432 void applyShader(
const Shader* shader);
441 void setupDraw(
bool useVertexCache,
const RenderStates& states);
451 void drawPrimitives(
PrimitiveType type, std::size_t firstVertex, std::size_t vertexCount);
467 enum {VertexCacheSize = 4};
473 Uint64 lastTextureId;
474 bool texCoordsArrayEnabled;
476 Vertex vertexCache[VertexCacheSize];
Utility class for manipulating RGBA colors.
Abstract base class for objects that can be drawn to a render target.
Utility class that makes any derived class non-copyable.
Define the states used for drawing to a RenderTarget.
Base class for all render targets (window, texture, ...)
Vector2f mapPixelToCoords(const Vector2i &point) const
Convert a point from target coordinates to world coordinates, using the current view.
void setView(const View &view)
Change the current active view.
void draw(const VertexBuffer &vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)
Draw primitives defined by a vertex buffer.
void draw(const Drawable &drawable, const RenderStates &states=RenderStates::Default)
Draw a drawable object to the render target.
RenderTarget()
Default constructor.
Vector2f mapPixelToCoords(const Vector2i &point, const View &view) const
Convert a point from target coordinates to world coordinates.
virtual Vector2u getSize() const =0
Return the size of the rendering region of the target.
void draw(const VertexBuffer &vertexBuffer, const RenderStates &states=RenderStates::Default)
Draw primitives defined by a vertex buffer.
void clear(const Color &color=Color(0, 0, 0, 255))
Clear the entire target with a single color.
const View & getDefaultView() const
Get the default view of the render target.
Vector2i mapCoordsToPixel(const Vector2f &point, const View &view) const
Convert a point from world coordinates to target coordinates.
IntRect getViewport(const View &view) const
Get the viewport of a view, applied to this render target.
void pushGLStates()
Save the current OpenGL render states and matrices.
void draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)
Draw primitives defined by an array of vertices.
virtual ~RenderTarget()
Destructor.
void resetGLStates()
Reset the internal OpenGL states so that the target is ready for drawing.
void popGLStates()
Restore the previously saved OpenGL render states and matrices.
Vector2i mapCoordsToPixel(const Vector2f &point) const
Convert a point from world coordinates to target coordinates, using the current view.
const View & getView() const
Get the view currently in use in the render target.
virtual bool setActive(bool active=true)
Activate or deactivate the render target for rendering.
virtual bool isSrgb() const
Tell if the render target will use sRGB encoding when drawing on it.
void initialize()
Performs the common initialization step after creation.
Shader class (vertex, geometry and fragment)
Image living on the graphics card that can be used for drawing.
Vertex buffer storage for one or more 2D primitives.
Define a point with color and texture coordinates.
2D camera that defines what region is shown on screen
PrimitiveType
Types of primitives that a sf::VertexArray can render.
Blending modes for drawing.