annotate Renderer/Engine/viewer.h @ 922:655e11f6e437

moving OpenGL mode now!
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Thu, 29 Jul 2010 22:56:58 +0900
parents ad10d6d39ca6
children 9da903858400 651251d56f36
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
1 #ifndef INCLUDED_VIEWER
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
2 #define INCLUDED_VIEWER
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
3
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
4 #include <SDL.h>
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
5
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
6 #include "viewer_types.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
7 #include "TaskManager.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
8 #include "KeyStat.h"
510
97e1b0346597 continue...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 509
diff changeset
9 #include "MainLoop.h"
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
10 #include "Application.h"
558
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
11 #include "SceneGraphRoot.h"
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
12 #include "ViewerDevice.h"
909
Yutaka_Kinjyo
parents: 907
diff changeset
13 #include "matrix.h"
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
14
562
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
15 class SceneGraphRoot;
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
16
511
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
17 class Application;
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
18
511
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
19 class Viewer : public MainLoop {
510
97e1b0346597 continue...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 509
diff changeset
20
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
21 public:
922
655e11f6e437 moving OpenGL mode now!
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 915
diff changeset
22 Viewer(){};
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
23 Viewer(TaskManager *manager, ViewerDevice *dev, int bpp, int width, int height, int spenum);
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
24
510
97e1b0346597 continue...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 509
diff changeset
25 virtual ~Viewer() {}
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
26 BASE_NEW_DELETE(Viewer);
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
27
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
28 ViewerDevice *dev;
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
29 Application *app;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
30
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
31 TaskManager *manager;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
32 key_stat *keyPtr;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
33 HTaskPtr draw_dummy;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
34
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
35 /* screen info */
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
36 int bpp;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
37
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
38 int rgb_size[3];
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
39 int spe_num;
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
40 int width;
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
41 int height;
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
42
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
43 float *light_xyz;
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
44 float *light_xyz_stock;
792
f2497e0ecd7c add light switch
yutaka@localhost.localdomain
parents: 779
diff changeset
45 int *light_switch;
f2497e0ecd7c add light switch
yutaka@localhost.localdomain
parents: 779
diff changeset
46 int *light_switch_stock;
793
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
47 int *light_sysswitch;
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
48 int light_sysswitch_stock;
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
49
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
50 Uint32 video_flags;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
51 Uint32 *pixels;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
52
914
05696567d1d2 0 is filled on the spe side.
yutaka@localhost.localdomain
parents: 909
diff changeset
53 int mem_flag;
05696567d1d2 0 is filled on the spe side.
yutaka@localhost.localdomain
parents: 909
diff changeset
54
558
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
55 SceneGraphRoot *sgroot;
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
56
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
57 //Uint32 *video_init(TaskManager *manager, int bpp, int width, int height);
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
58 void init();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
59
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
60 int get_ticks();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
61 bool quit_check();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
62 void quit();
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
63 HTaskPtr initLoop();
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
64
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
65 void clean_pixels() {}
869
bcc81531a672 set_game_task add to SceneGraphRoot.
tkaito
parents: 860
diff changeset
66
922
655e11f6e437 moving OpenGL mode now!
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 915
diff changeset
67 virtual void run_init(TaskManager *manager, Application *app);
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
68 void run_loop(HTaskPtr task_next);
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
69 void run_draw(HTaskPtr task_next);
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
70 void run_finish();
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
71 void run_move(HTaskPtr task_next);
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
72 void run_collision();
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
73 void rendering(HTaskPtr task_next);
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
74 void common_draw(HTaskPtr task_next);
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
75 void common_rendering(HTaskPtr task_next, SceneGraphRoot *sgroot);
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
76
748
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
77 void spe_rendering(HTaskPtr task_next);
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
78 void spe_draw(HTaskPtr task_next);
b7376415fa5f TaskManager changeset 683, Renderer changeset 746
hiroki
parents: 671
diff changeset
79 // void exchange_sgroot(TaskManager *manager);
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
80
792
f2497e0ecd7c add light switch
yutaka@localhost.localdomain
parents: 779
diff changeset
81 HTaskPtr update_task_create(void *data, int size,
f2497e0ecd7c add light switch
yutaka@localhost.localdomain
parents: 779
diff changeset
82 int load_id, int spe_id, HTaskPtr wait);
f2497e0ecd7c add light switch
yutaka@localhost.localdomain
parents: 779
diff changeset
83
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
84 void getKey();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
85 void get_send_controll();
511
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
86
558
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
87 // void createFromXMLfile(const char *file);
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
88 // SceneGraph *createSceneGraph(int id);
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
89 // SceneGraph *createSceneGraph();
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
90 // void setSceneData(SceneGraph *g);
512
01b64f21405e ball_bound worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 511
diff changeset
91 void mainLoop();
511
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
92
886
0cd80fa14cd9 set_move_task add.
tkaito
parents: 869
diff changeset
93 void set_move_task(SceneGraphPtr node, int move_id, void *titlep, int size, PostFunction post_func)
0cd80fa14cd9 set_move_task add.
tkaito
parents: 869
diff changeset
94 {
0cd80fa14cd9 set_move_task add.
tkaito
parents: 869
diff changeset
95 sgroot->set_move_task(node, move_id, titlep, size, post_func);
0cd80fa14cd9 set_move_task add.
tkaito
parents: 869
diff changeset
96 }
869
bcc81531a672 set_game_task add to SceneGraphRoot.
tkaito
parents: 860
diff changeset
97 void set_game_task(int id, void *property, int size, PostFunction post_func)
bcc81531a672 set_game_task add to SceneGraphRoot.
tkaito
parents: 860
diff changeset
98 {
bcc81531a672 set_game_task add to SceneGraphRoot.
tkaito
parents: 860
diff changeset
99 sgroot->set_game_task(id, property, size, post_func);
bcc81531a672 set_game_task add to SceneGraphRoot.
tkaito
parents: 860
diff changeset
100 }
bcc81531a672 set_game_task add to SceneGraphRoot.
tkaito
parents: 860
diff changeset
101
671
f42b303044f7 fix several Renderer/Test with (void*)sgroot.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 589
diff changeset
102 void createFromXMLmemory(SceneGraph * node, char *data, int len)
f42b303044f7 fix several Renderer/Test with (void*)sgroot.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 589
diff changeset
103 {
f42b303044f7 fix several Renderer/Test with (void*)sgroot.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 589
diff changeset
104 sgroot->createFromXMLmemory(manager, node, data, len);
f42b303044f7 fix several Renderer/Test with (void*)sgroot.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 589
diff changeset
105 }
f42b303044f7 fix several Renderer/Test with (void*)sgroot.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 589
diff changeset
106
558
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
107 void createFromXMLfile(const char *file)
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
108 {
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
109 sgroot->createFromXMLfile(manager, file);
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
110 }
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
111
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
112 SceneGraph * createSceneGraph(int id)
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
113 {
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
114 return sgroot->createSceneGraph(id);
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
115 }
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
116
562
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
117 SceneGraph * createSceneGraph(const char *id)
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
118 {
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
119 return sgroot->createSceneGraph(id);
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
120 }
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
121
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
122 int getSgid(const char *id)
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
123 {
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
124 return sgroot->getSgid(id);
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
125 }
a5fda4e51498 name search
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 558
diff changeset
126
558
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
127 SceneGraph * createSceneGraph()
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
128 {
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
129 return sgroot->createSceneGraph();
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
130 }
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
131
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
132 void setSceneData(SceneGraph *g)
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
133 {
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
134 sgroot->setSceneData(g);
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
135 }
b05bae017029 boss1_action
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 512
diff changeset
136
589
f674ca0fb76d add viwer.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 562
diff changeset
137 int getLast()
f674ca0fb76d add viwer.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 562
diff changeset
138 {
f674ca0fb76d add viwer.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 562
diff changeset
139 return sgroot->getLast();
f674ca0fb76d add viwer.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 562
diff changeset
140 }
f674ca0fb76d add viwer.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 562
diff changeset
141
793
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
142 SceneGraphPtr getLight(int id)
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
143 {
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
144 return sgroot->getLight(id);
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
145 }
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
146
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
147 void OnLightSwitch(int id)
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
148 {
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
149 sgroot->OnLightSwitch(id);
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
150 }
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
151
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
152 void OffLightSwitch(int id)
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
153 {
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
154 sgroot->OffLightSwitch(id);
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
155 }
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
156
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
157 void OnLightSysSwitch()
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
158 {
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
159 sgroot->OnLightSysSwitch();
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
160 }
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
161
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
162 void OffLightSysSwitch()
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
163 {
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
164 sgroot->OffLightSysSwitch();
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
165 }
c260205d3185 add light switch api
yutaka@localhost.localdomain
parents: 792
diff changeset
166
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
167 };
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
168
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
169 #define default_sdl_flag SDL_INIT_TIMER | SDL_INIT_JOYSTICK
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
170
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
171
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
172 #endif
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
173