Design Patterns
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
character.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_CHARACTER_H_
7 #define STRUCTURAL_FLYWEIGHT_CHARACTER_H_
8 
9 #include "glyph_interface.h"
10 
11 namespace structural
12 {
13 namespace flyweight
14 {
15 class Character : public GlyphInterface
16 {
17  public:
18  explicit Character(char);
19 
20  virtual void First(GlyphContext&) override;
21  virtual void Next(GlyphContext&) override;
22  virtual bool IsDone(GlyphContext&) override;
23 
24  virtual void SetFont(Font*, GlyphContext&) override;
25  virtual Font *GetFont(GlyphContext&) override;
26 
27  virtual GlyphInterface *Current(GlyphContext&) override;
28 
29  virtual void Insert(GlyphInterface*, GlyphContext&) override;
30  virtual void Remove(GlyphContext&) override;
31 
32  virtual void Draw(Window*, GlyphContext&) override;
33 
34  private:
35  char charcode_;
36 };
37 }
38 }
39 
40 #endif
41 
virtual bool IsDone(GlyphContext &) override
Definition: character.cc:34
Definition: shape_interface.h:11
virtual void SetFont(Font *, GlyphContext &) override
Definition: character.cc:14
virtual void Remove(GlyphContext &) override
Definition: character.cc:46
virtual void Insert(GlyphInterface *, GlyphContext &) override
Definition: character.cc:44
virtual void First(GlyphContext &) override
Definition: character.cc:24
virtual Font * GetFont(GlyphContext &) override
Definition: character.cc:19
virtual void Next(GlyphContext &) override
Definition: character.cc:29
Character(char)
Definition: character.cc:12
virtual void Draw(Window *, GlyphContext &) override
Definition: character.cc:48
virtual GlyphInterface * Current(GlyphContext &) override
Definition: character.cc:39
Definition: font.h:15
Definition: glyph_context.h:15
Definition: glyph_interface.h:17
Definition: character.h:15
Definition: window.h:13