Loading...
Searching...
No Matches

Abstract base class for objects that can be drawn to a render target. More...

#include <SFML/Graphics/Drawable.hpp>

Inheritance diagram for sf::Drawable:
sf::Shape sf::Sprite sf::Text sf::VertexArray sf::VertexBuffer sf::CircleShape sf::ConvexShape sf::RectangleShape

Public Member Functions

virtual ~Drawable ()=default
 Virtual destructor.
 

Protected Member Functions

virtual void draw (RenderTarget &target, RenderStates states) const =0
 Draw the object to a render target.
 

Friends

class RenderTarget
 

Detailed Description

Abstract base class for objects that can be drawn to a render target.

sf::Drawable is a very simple base class that allows objects of derived classes to be drawn to a sf::RenderTarget.

All you have to do in your derived class is to override the draw virtual function.

Note that inheriting from sf::Drawable is not mandatory, but it allows this nice syntax window.draw(object) rather than object.draw(window), which is more consistent with other SFML classes.

Example:

class MyDrawable : public sf::Drawable
{
public:
...
private:
void draw(sf::RenderTarget& target, sf::RenderStates states) const override
{
// You can draw other high-level objects
target.draw(m_sprite, states);
// ... or use the low-level API
states.texture = &m_texture;
target.draw(m_vertices, states);
// ... or draw with OpenGL directly
glBegin(GL_TRIANGLES);
...
glEnd();
}
sf::Sprite m_sprite;
sf::Texture m_texture;
sf::VertexArray m_vertices;
};
Abstract base class for objects that can be drawn to a render target.
Definition Drawable.hpp:44
virtual void draw(RenderTarget &target, RenderStates states) const =0
Draw the object to a render target.
Base class for all render targets (window, texture, ...)
void draw(const Drawable &drawable, const RenderStates &states=RenderStates::Default)
Draw a drawable object to the render target.
Drawable representation of a texture, with its own transformations, color, etc.
Definition Sprite.hpp:51
Image living on the graphics card that can be used for drawing.
Definition Texture.hpp:56
Set of one or more 2D primitives.
Define the states used for drawing to a RenderTarget
const Texture * texture
Texture.
See also
sf::RenderTarget

Definition at line 43 of file Drawable.hpp.

Constructor & Destructor Documentation

◆ ~Drawable()

virtual sf::Drawable::~Drawable ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ draw()

virtual void sf::Drawable::draw ( RenderTarget & target,
RenderStates states ) const
protectedpure virtual

Draw the object to a render target.

This is a pure virtual function that has to be implemented by the derived class to define how the drawable should be drawn.

Parameters
targetRender target to draw to
statesCurrent render states

Friends And Related Symbol Documentation

◆ RenderTarget

friend class RenderTarget
friend

Definition at line 53 of file Drawable.hpp.


The documentation for this class was generated from the following file: