29 #ifndef CDPL_VIS_GRAPHICSPRIMITIVE2D_HPP
30 #define CDPL_VIS_GRAPHICSPRIMITIVE2D_HPP
Definition of the preprocessor macro CDPL_VIS_API.
#define CDPL_VIS_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
An interface class with methods that provide information about the metrics of a font.
Definition: FontMetrics.hpp:71
The abstract base class of all 2D graphics primitives.
Definition: GraphicsPrimitive2D.hpp:57
virtual void render(Renderer2D &renderer) const =0
Visualizes the graphics primitive by means of the Renderer2D instance renderer.
virtual SharedPointer clone() const =0
Creates a dynamically allocated copy of the graphics primitive.
virtual ~GraphicsPrimitive2D()
Virtual destructor.
Definition: GraphicsPrimitive2D.hpp:68
std::shared_ptr< GraphicsPrimitive2D > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated GraphicsPrimitive2D instances.
Definition: GraphicsPrimitive2D.hpp:63
virtual void getBounds(Rectangle2D &bounds, FontMetrics *font_metrics=0) const =0
Calculates the bounds of the graphics primitive.
Specifies an axis aligned rectangular area in 2D space.
Definition: Rectangle2D.hpp:51
An interface that provides methods for low level 2D drawing operations.
Definition: Renderer2D.hpp:86
The namespace of the Chemical Data Processing Library.