17 #ifndef HEADER_SUPERTUX_VIDEO_DRAWING_CONTEXT_HPP 18 #define HEADER_SUPERTUX_VIDEO_DRAWING_CONTEXT_HPP 23 #include <boost/optional.hpp> 25 #include "math/rect.hpp" 26 #include "math/rectf.hpp" 27 #include "math/vector.hpp" 28 #include "video/canvas.hpp" 29 #include "video/color.hpp" 30 #include "video/drawing_context.hpp" 31 #include "video/drawing_transform.hpp" 32 #include "video/font.hpp" 33 #include "video/font_ptr.hpp" 51 Canvas& color() {
return m_colormap_canvas; }
52 Canvas& light() { assert(!m_overlay);
return m_lightmap_canvas; }
53 Canvas& get_canvas(DrawingTarget target) {
56 case DrawingTarget::LIGHTMAP:
64 void set_ambient_color(
Color ambient_color);
65 Color get_ambient_color()
const {
return m_ambient_color; }
67 void push_transform();
72 const Vector& get_translation()
const 73 {
return transform().translation; }
75 void set_translation(
const Vector& newtranslation)
76 { transform().translation = newtranslation; }
80 Flip get_flip()
const;
84 float get_alpha()
const;
88 m_lightmap_canvas.clear();
89 m_colormap_canvas.clear();
92 void set_viewport(
const Rect& viewport)
94 m_viewport = viewport;
97 const Rect& get_viewport()
const {
return m_viewport; }
99 int get_width()
const {
return m_viewport.get_width(); }
100 int get_height()
const {
return m_viewport.get_height(); }
102 bool use_lightmap()
const 104 return !m_overlay && m_ambient_color != Color::WHITE;
107 bool is_overlay()
const {
return m_overlay; }
121 Color m_ambient_color;
122 std::vector<DrawingTransform> m_transform_stack;
Definition: obstack.h:151
Simple two dimensional vector.
Definition: vector.hpp:24
Definition: drawing_request.hpp:37
void set_alpha(float alpha)
apply that alpha in the next draws (1.0 means fully opaque)
Definition: drawing_context.cpp:76
Definition: video_system.hpp:36
void set_flip(Flip flip)
Apply that flip in the next draws (flips are listed on surface.h).
Definition: drawing_context.cpp:64
Rectf get_cliprect() const
Returns the visible area in world coordinates.
Definition: drawing_context.cpp:55
Definition: canvas.hpp:43
This class provides functions for drawing things on screen.
Definition: drawing_context.hpp:42