annotate TaskManager/Test/test_render/SpanPack.h @ 126:74d0a70f60e9 draft

fix RGBA mask (bgr -> rgba)
author gongo@charles.cr.ie.u-ryukyu.ac.jp
date Tue, 25 Nov 2008 11:37:57 +0900
parents 028ffc9c0375
children 56db76a03294
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #ifndef INCLUDED_SPAN_PACK
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #define INCLUDED_SPAN_PACK
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
4 #ifndef INCLUDED_SPAN
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
5 # include "Span.h"
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6 #endif
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 #define MAX_SIZE_SPAN 70
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 class SpanPack {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 public: /* fields */
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12 struct SpanInfo {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 int size; // 4
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
14 int y_top; // 4
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
15 int light_pos[3]; // 4*3
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16 int light_rgb[3]; // 4*3
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
17 } info; // 32
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
18
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 Span span[MAX_SIZE_SPAN]; // 48*MAX_SIZE_SPAN = 3360
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
20 SpanPack *next; // 4
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
22 int pad[3]; // 12
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
23
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24 void init(int ytop) {
126
74d0a70f60e9 fix RGBA mask (bgr -> rgba)
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
25 this->info.size = 0;
74d0a70f60e9 fix RGBA mask (bgr -> rgba)
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
26 this->info.y_top = ytop;
74d0a70f60e9 fix RGBA mask (bgr -> rgba)
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
27 this->next = NULL;
74d0a70f60e9 fix RGBA mask (bgr -> rgba)
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
28 }
74d0a70f60e9 fix RGBA mask (bgr -> rgba)
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
29
74d0a70f60e9 fix RGBA mask (bgr -> rgba)
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
30 void reinit(int ytop) {
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
31 SpanPack* top = this;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
32 SpanPack* p;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
33 SpanPack* p1;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
34
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
35 p = top->next;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
36 while (p != NULL) {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
37 p1 = p->next;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
38 free(p);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
39 p = p1;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
40 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
41
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
42 this->info.size = 0;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
43 this->info.y_top = ytop;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
44 this->next = NULL;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
45 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
46 };
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
47
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
48 typedef SpanPack* SpanPackPtr;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
49
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
50 #endif