Design Patterns
glyph_interface.h
Go to the documentation of this file.
1 // Based on "Design Patterns: Elements of Reusable Object-Oriented Software"
2 // book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
3 //
4 // Created by Bartosz Rachwal. The National Institute of Advanced Industrial Science and Technology, Japan.
5 
6 #ifndef STRUCTURAL_FLYWEIGHT_GLYPH_INTERFACE_H_
7 #define STRUCTURAL_FLYWEIGHT_GLYPH_INTERFACE_H_
8 
9 #include "window.h"
10 #include "glyph_context.h"
11 #include "font.h"
12 
13 namespace structural
14 {
15 namespace flyweight
16 {
18 {
19  public:
20  virtual ~GlyphInterface() { };
21 
22  virtual void Draw(Window*, GlyphContext&) = 0;
23 
24  virtual void First(GlyphContext&) = 0;
25  virtual void Next(GlyphContext&) = 0;
26  virtual bool IsDone(GlyphContext&) = 0;
27 
28  virtual void SetFont(Font*, GlyphContext&) = 0;
29  virtual Font *GetFont(GlyphContext&) = 0;
30 
31  virtual GlyphInterface *Current(GlyphContext&) = 0;
32 
33  virtual void Insert(GlyphInterface*, GlyphContext&) = 0;
34  virtual void Remove(GlyphContext&) = 0;
35 };
36 }
37 }
38 
39 #endif
40 
virtual void SetFont(Font *, GlyphContext &)=0
Definition: shape_interface.h:11
virtual void Insert(GlyphInterface *, GlyphContext &)=0
virtual GlyphInterface * Current(GlyphContext &)=0
virtual void Draw(Window *, GlyphContext &)=0
virtual Font * GetFont(GlyphContext &)=0
virtual void Next(GlyphContext &)=0
virtual void First(GlyphContext &)=0
Definition: font.h:15
virtual void Remove(GlyphContext &)=0
virtual bool IsDone(GlyphContext &)=0
Definition: glyph_context.h:15
Definition: glyph_interface.h:17
virtual ~GlyphInterface()
Definition: glyph_interface.h:20
Definition: window.h:13