Mercurial > fife-parpg
comparison engine/core/view/renderers/genericrenderer.i @ 27:788cb9525b2f
add image and text renderer to generic renderer
author | spq@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Fri, 11 Jul 2008 11:57:48 +0000 |
parents | 70f41ea8e7db |
children | 0cb049f291e1 |
comparison
equal
deleted
inserted
replaced
26:70f41ea8e7db | 27:788cb9525b2f |
---|---|
43 Location* m_location; | 43 Location* m_location; |
44 Point m_point; | 44 Point m_point; |
45 }; | 45 }; |
46 class GenericRendererElementInfo { | 46 class GenericRendererElementInfo { |
47 public: | 47 public: |
48 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend) = 0; | 48 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend, ImagePool* imagepool, AnimationPool* animpool) = 0; |
49 virtual ~GenericRendererElementInfo() {}; | 49 virtual ~GenericRendererElementInfo() {}; |
50 }; | 50 }; |
51 | 51 |
52 class GenericRendererLineInfo : public GenericRendererElementInfo { | 52 class GenericRendererLineInfo : public GenericRendererElementInfo { |
53 public: | 53 public: |
54 GenericRendererNode n1; | 54 GenericRendererNode n1; |
55 GenericRendererNode n2; | 55 GenericRendererNode n2; |
56 uint8_t r; | 56 uint8_t r; |
57 uint8_t g; | 57 uint8_t g; |
58 uint8_t b; | 58 uint8_t b; |
59 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend); | 59 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend, ImagePool* imagepool, AnimationPool* animpool); |
60 GenericRendererLineInfo(GenericRendererNode n1, GenericRendererNode n2, uint8_t r, uint8_t g, uint8_t b); | 60 GenericRendererLineInfo(GenericRendererNode n1, GenericRendererNode n2, uint8_t r, uint8_t g, uint8_t b); |
61 virtual ~GenericRendererLineInfo() {}; | 61 virtual ~GenericRendererLineInfo() {}; |
62 }; | 62 }; |
63 class GenericRendererPointInfo : public GenericRendererElementInfo { | 63 class GenericRendererPointInfo : public GenericRendererElementInfo { |
64 public: | 64 public: |
65 GenericRendererNode n; | 65 GenericRendererNode n; |
66 uint8_t r; | 66 uint8_t r; |
67 uint8_t g; | 67 uint8_t g; |
68 uint8_t b; | 68 uint8_t b; |
69 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend); | 69 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend, ImagePool* imagepool, AnimationPool* animpool); |
70 GenericRendererPointInfo(GenericRendererNode n, uint8_t r, uint8_t g, uint8_t b); | 70 GenericRendererPointInfo(GenericRendererNode n, uint8_t r, uint8_t g, uint8_t b); |
71 virtual ~GenericRendererPointInfo() {}; | 71 virtual ~GenericRendererPointInfo() {}; |
72 }; | 72 }; |
73 class GenericRendererQuadInfo : public GenericRendererElementInfo { | 73 class GenericRendererQuadInfo : public GenericRendererElementInfo { |
74 public: | 74 public: |
77 GenericRendererNode n3; | 77 GenericRendererNode n3; |
78 GenericRendererNode n4; | 78 GenericRendererNode n4; |
79 uint8_t r; | 79 uint8_t r; |
80 uint8_t g; | 80 uint8_t g; |
81 uint8_t b; | 81 uint8_t b; |
82 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend); | 82 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend, ImagePool* imagepool, AnimationPool* animpool); |
83 GenericRendererQuadInfo(GenericRendererNode n1, GenericRendererNode n2, GenericRendererNode n3, GenericRendererNode n4, uint8_t r, uint8_t g, uint8_t b); | 83 GenericRendererQuadInfo(GenericRendererNode n1, GenericRendererNode n2, GenericRendererNode n3, GenericRendererNode n4, uint8_t r, uint8_t g, uint8_t b); |
84 virtual ~GenericRendererQuadInfo() {}; | 84 virtual ~GenericRendererQuadInfo() {}; |
85 }; | 85 }; |
86 class GenericRendererImageInfo : public GenericRendererElementInfo { | 86 class GenericRendererImageInfo : public GenericRendererElementInfo { |
87 public: | 87 public: |
88 GenericRendererNode n; | 88 GenericRendererNode n; |
89 int image; | 89 int image; |
90 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend); | 90 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend, ImagePool* imagepool, AnimationPool* animpool); |
91 GenericRendererImageInfo(GenericRendererNode n, int image); | 91 GenericRendererImageInfo(GenericRendererNode n, int image); |
92 virtual ~GenericRendererImageInfo() {}; | 92 virtual ~GenericRendererImageInfo() {}; |
93 }; | 93 }; |
94 class GenericRendererAnimationInfo : public GenericRendererElementInfo { | 94 class GenericRendererAnimationInfo : public GenericRendererElementInfo { |
95 public: | 95 public: |
96 GenericRendererNode n; | 96 GenericRendererNode n; |
97 int animation; | 97 int animation; |
98 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend); | 98 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend, ImagePool* imagepool, AnimationPool* animpool); |
99 GenericRendererAnimationInfo(GenericRendererNode n, int animation); | 99 GenericRendererAnimationInfo(GenericRendererNode n, int animation); |
100 virtual ~GenericRendererAnimationInfo() {}; | 100 virtual ~GenericRendererAnimationInfo() {}; |
101 }; | 101 }; |
102 class GenericRendererTextInfo : public GenericRendererElementInfo { | 102 class GenericRendererTextInfo : public GenericRendererElementInfo { |
103 public: | 103 public: |
104 GenericRendererNode n; | 104 GenericRendererNode n; |
105 AbstractFont* font; | 105 AbstractFont* font; |
106 std::string text; | 106 std::string text; |
107 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend); | 107 virtual void render(Camera* cam, Layer* layer, std::vector<Instance*>& instances, RenderBackend* renderbackend, ImagePool* imagepool, AnimationPool* animpool); |
108 GenericRendererTextInfo(GenericRendererNode n, AbstractFont* font, std::string text); | 108 GenericRendererTextInfo(GenericRendererNode n, AbstractFont* font, std::string text); |
109 virtual ~GenericRendererTextInfo() {}; | 109 virtual ~GenericRendererTextInfo() {}; |
110 }; | 110 }; |
111 class GenericRenderer: public RendererBase { | 111 class GenericRenderer: public RendererBase { |
112 public: | 112 public: |
113 GenericRenderer(RenderBackend* renderbackend, int position); | 113 GenericRenderer(RenderBackend* renderbackend, int position, ImagePool* imagepool, AnimationPool* animpool); |
114 ~GeometricRenderer(); | 114 ~GeometricRenderer(); |
115 std::string getName(); | 115 std::string getName(); |
116 static GenericRenderer* getInstance(IRendererContainer* cnt); | 116 static GenericRenderer* getInstance(IRendererContainer* cnt); |
117 void addLine(GenericRendererNode n1, GenericRendererNode n2, uint8_t r, uint8_t g, uint8_t b); | 117 void addLine(GenericRendererNode n1, GenericRendererNode n2, uint8_t r, uint8_t g, uint8_t b); |
118 void addPoint(GenericRendererNode n, uint8_t r, uint8_t g, uint8_t b); | 118 void addPoint(GenericRendererNode n, uint8_t r, uint8_t g, uint8_t b); |