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);