Lumiera  0.pre.03
»edityourfreedom«
draw-strategy.hpp
Go to the documentation of this file.
1 /*
2  DRAW-STRATEGY.hpp - Definition the timeline draw strategy interface
3 
4  Copyright (C) Lumiera.org
5  2010, Stefan Kangas <skangas@skangas.se
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 
21 * *****************************************************/
22 
23 
33 #ifndef GUI_WIDGET_TIMELINE_DRAW_STRATEGY_HPP
34 #define GUI_WIDGET_TIMELINE_DRAW_STRATEGY_HPP
35 
36 #include "gui/gtk-base.hpp"
39 
40 namespace gui {
41 namespace widget {
42 namespace timeline {
43 
47 
48 
53  {
54  protected:
55 
57 
58  virtual ~DrawStrategy();
59 
60  public:
61 
62  virtual void
63  draw (const Entity &entity,
64  Cairo::RefPtr<Cairo::Context> cr,
65  TimelineViewWindow* const window) const = 0;
66  };
67 
68 
69 }}}// namespace gui::widget::timeline
70 #endif /*GUI_WIDGET_TIMELINE_DRAW_STRATEGY_HPP*/
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:47
virtual void draw(const Entity &entity, Cairo::RefPtr< Cairo::Context > cr, TimelineViewWindow *const window) const =0
Any UI element that can be placed on the timeline.
Helper to manage the timeline window, which holds the main timeline display.
Base class for timeline entities.
An interface for drawing strategies for timeline entities.
TimelineViewWindow is a helper class for TimelineWidget which manages the view window of the timeline...
A set of basic GTK includes for the UI.