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 ()
 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:
virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const
{
// 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_QUADS);
...
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:45
virtual void draw(RenderTarget &target, RenderStates states) const =0
Draw the object to a render target.
Define the states used for drawing to a RenderTarget.
const Texture * texture
Texture.
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:48
Image living on the graphics card that can be used for drawing.
Definition Texture.hpp:49
Define a set of one or more 2D primitives.
See also
sf::RenderTarget

Definition at line 44 of file Drawable.hpp.

Constructor & Destructor Documentation

◆ ~Drawable()

virtual sf::Drawable::~Drawable ( )
inlinevirtual

Virtual destructor.

Definition at line 52 of file Drawable.hpp.

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

◆ RenderTarget

friend class RenderTarget
friend

Definition at line 56 of file Drawable.hpp.


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