Rev 5381 | Rev 6288 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5381 | Rev 6286 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0x0 |
3 | db 'MENUET01' |
3 | db 'MENUET01' |
4 | dd 0x1 |
- | |
5 | dd start |
- | |
6 | dd i_end |
- | |
7 | dd mem,stacktop |
- | |
8 | dd 0,cur_dir_path |
4 | dd 1,start,i_end,mem,stacktop,0,cur_dir_path |
Line 9... | Line 5... | ||
9 | 5 | ||
10 | include '../../../../../proc32.inc' |
6 | include '../../../../../proc32.inc' |
11 | include '../../../../../macros.inc' |
7 | include '../../../../../macros.inc' |
12 | include '../../../../../develop/libraries/box_lib/load_lib.mac' |
8 | include '../../../../../KOSfuncs.inc' |
13 | include '../../../../../dll.inc' |
9 | include '../../../../../load_img.inc' |
- | 10 | include '../opengl_const.inc' |
|
Line -... | Line 11... | ||
- | 11 | include '../../../../../develop/info3ds/info_fun_float.inc' |
|
- | 12 | ||
14 | include '../opengl_const.inc' |
13 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
- | 14 | ||
- | 15 | align 4 |
|
- | 16 | image_data_toolbar dd 0 |
|
- | 17 | IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3 |
|
Line 15... | Line 18... | ||
15 | 18 | ||
16 | @use_library |
19 | offs_zbuf_pbuf equ 24 ;const. from 'zbuffer.inc' |
17 | 20 | ||
18 | align 4 |
21 | align 4 |
- | 22 | start: |
|
- | 23 | load_libraries l_libs_start,l_libs_end |
|
- | 24 | ;проверка на сколько удачно загузились библиотеки |
|
- | 25 | mov ebp,lib_0 |
|
- | 26 | .test_lib_open: |
|
- | 27 | cmp dword [ebp+ll_struc_size-4],0 |
|
- | 28 | jz @f |
|
19 | start: |
29 | mcall SF_TERMINATE_PROCESS |
20 | load_library name_tgl, cur_dir_path, library_path, system_path, \ |
30 | @@: |
Line -... | Line 31... | ||
- | 31 | add ebp,ll_struc_size |
|
21 | err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i |
32 | cmp ebp,l_libs_end |
Line 22... | Line 33... | ||
22 | cmp eax,-1 |
33 | jl .test_lib_open |
23 | jz button.exit |
34 | |
24 | 35 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
|
25 | mcall 40,0x27 |
36 | mcall SF_SET_EVENTS_MASK,0x27 |
26 | 37 | ||
Line 27... | Line 38... | ||
27 | stdcall [kosglMakeCurrent], 10,10,400,350,ctx1 |
38 | stdcall [kosglMakeCurrent], 5,30,[buf_ogl.w],[buf_ogl.h],ctx1 |
28 | stdcall [glEnable], GL_DEPTH_TEST |
39 | stdcall [glEnable], GL_DEPTH_TEST |
Line -... | Line 40... | ||
- | 40 | stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов |
|
- | 41 | stdcall [gluNewQuadric] |
|
- | 42 | mov [qObj],eax |
|
- | 43 | ||
- | 44 | stdcall [glClearColor], 0.25,0.25,0.25,0.0 |
|
- | 45 | stdcall [glShadeModel], GL_SMOOTH |
|
- | 46 | ||
- | 47 | mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext |
|
- | 48 | mov eax,[eax] ;eax -> ZBuffer |
|
- | 49 | mov eax,[eax+offs_zbuf_pbuf] ;eax -> ZBuffer.pbuf |
|
- | 50 | mov dword[buf_ogl],eax |
|
- | 51 | ||
29 | stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов |
52 | load_image_file 'font8x9.bmp', image_data_toolbar, buf_1.w,buf_1.h |
Line 30... | Line 53... | ||
30 | stdcall [gluNewQuadric] |
53 | stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;создаем буфер |
31 | mov [qObj],eax |
54 | stdcall mem.Free,[image_data_toolbar] ;освобождаем память |
32 | 55 | stdcall [buf2d_conv_24_to_8], buf_1,1 ;делаем буфер прозрачности 8 бит |
|
Line 33... | Line 56... | ||
33 | stdcall [glClearColor], 0.25,0.25,0.25,0.0 |
56 | stdcall [buf2d_convert_text_matrix], buf_1 |
34 | stdcall [glShadeModel], GL_SMOOTH |
57 | |
35 | 58 | load_image_file 'toolb_1.png', image_data_toolbar |
|
36 | call draw_3d |
59 | call draw_3d |
37 | 60 | ||
38 | align 4 |
61 | align 4 |
39 | red_win: |
62 | red_win: |
40 | call draw_window |
63 | call draw_window |
Line 51... | Line 74... | ||
51 | jmp still |
74 | jmp still |
Line 52... | Line 75... | ||
52 | 75 | ||
53 | align 4 |
76 | align 4 |
54 | draw_window: |
77 | draw_window: |
55 | pushad |
78 | pushad |
- | 79 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
|
Line 56... | Line 80... | ||
56 | mcall 12,1 |
80 | mcall SF_CREATE_WINDOW,(50 shl 16)+420,(30 shl 16)+410,0x33ffffff,,caption |
- | 81 | ||
- | 82 | mov esi,[sc.work_button] |
|
- | 83 | mcall SF_DEFINE_BUTTON,(6 shl 16)+19,(6 shl 16)+19,3+0x40000000 ;вершины вкл. |
|
57 | 84 | mcall ,(36 shl 16)+19,,4+0x40000000 ;каркасные грани вкл. |
|
- | 85 | mcall ,(66 shl 16)+19,,5+0x40000000 ;сплошные грани вкл. |
|
- | 86 | mcall ,(96 shl 16)+19,,6+0x40000000 ;масштаб + |
|
- | 87 | mcall ,(126 shl 16)+19,,7+0x40000000 ;масштаб - |
|
- | 88 | ||
- | 89 | mcall SF_PUT_IMAGE,[image_data_toolbar],(21 shl 16)+21,(5 shl 16)+5 ;вершины вкл. |
|
- | 90 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
|
- | 91 | mcall ,,,(35 shl 16)+5 ;каркасные грани вкл. |
|
- | 92 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
|
- | 93 | mcall ,,,(65 shl 16)+5 ;сплошные грани вкл. |
|
58 | mov edx,0x33ffffff ;0x73ffffff |
94 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
- | 95 | mcall ,,,(95 shl 16)+5 ;масштаб + |
|
Line -... | Line 96... | ||
- | 96 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
|
59 | mcall 0,(50 shl 16)+430,(30 shl 16)+400,,,caption |
97 | mcall ,,,(125 shl 16)+5 ;масштаб - |
60 | stdcall [kosglSwapBuffers] |
98 | |
61 | 99 | stdcall [kosglSwapBuffers] |
|
Line 62... | Line 100... | ||
62 | mcall 12,2 |
100 | mcall SF_REDRAW,SSF_END_DRAW |
63 | popad |
101 | popad |
64 | ret |
102 | ret |
Line 65... | Line 103... | ||
65 | 103 | ||
66 | align 4 |
104 | align 4 |
Line 67... | Line 105... | ||
67 | key: |
105 | key: |
68 | mcall 2 |
106 | mcall SF_GET_KEY |
69 | - | ||
70 | cmp ah,27 ;Esc |
107 | |
71 | je button.exit |
- | |
72 | 108 | cmp ah,27 ;Esc |
|
73 | cmp ah,61 ;+ |
- | |
74 | jne @f |
109 | je button.exit |
75 | fld dword[scale] |
110 | |
76 | fadd dword[delt_sc] |
111 | cmp ah,61 ;+ |
77 | fstp dword[scale] |
112 | jne @f |
78 | call draw_3d |
- | |
79 | stdcall [kosglSwapBuffers] |
- | |
80 | @@: |
113 | call but_zoom_p |
81 | cmp ah,45 ;- |
- | |
82 | jne @f |
114 | jmp still |
83 | fld dword[scale] |
115 | @@: |
84 | fsub dword[delt_sc] |
116 | cmp ah,45 ;- |
- | 117 | jne @f |
|
85 | fstp dword[scale] |
118 | call but_zoom_m |
86 | call draw_3d |
119 | jmp still |
87 | stdcall [kosglSwapBuffers] |
120 | @@: |
- | 121 | cmp ah,178 ;Up |
|
- | 122 | jne @f |
|
- | 123 | finit |
|
- | 124 | fld dword[angle_y] |
|
- | 125 | fadd dword[delt_size] |
|
88 | @@: |
126 | fst dword[angle_y] |
89 | cmp ah,178 ;Up |
127 | mov word[NumberSymbolsAD],2 |
90 | jne @f |
128 | fstp qword[Data_Double] |
91 | fld dword[angle_y] |
129 | call DoubleFloat_to_String |
92 | fadd dword[delt_size] |
130 | mov byte[txt_angle_y.v],0 |
- | 131 | stdcall str_cat, txt_angle_y.v,Data_String |
|
93 | fstp dword[angle_y] |
132 | call draw_3d |
94 | call draw_3d |
133 | stdcall [kosglSwapBuffers] |
95 | stdcall [kosglSwapBuffers] |
134 | @@: |
- | 135 | cmp ah,177 ;Down |
|
- | 136 | jne @f |
|
- | 137 | finit |
|
- | 138 | fld dword[angle_y] |
|
- | 139 | fsub dword[delt_size] |
|
96 | @@: |
140 | fst dword[angle_y] |
97 | cmp ah,177 ;Down |
141 | mov word[NumberSymbolsAD],2 |
98 | jne @f |
142 | fstp qword[Data_Double] |
99 | fld dword[angle_y] |
143 | call DoubleFloat_to_String |
100 | fsub dword[delt_size] |
144 | mov byte[txt_angle_y.v],0 |
- | 145 | stdcall str_cat, txt_angle_y.v,Data_String |
|
101 | fstp dword[angle_y] |
146 | call draw_3d |
102 | call draw_3d |
147 | stdcall [kosglSwapBuffers] |
103 | stdcall [kosglSwapBuffers] |
148 | @@: |
- | 149 | cmp ah,176 ;Left |
|
- | 150 | jne @f |
|
- | 151 | finit |
|
- | 152 | fld dword[angle_z] |
|
- | 153 | fadd dword[delt_size] |
|
104 | @@: |
154 | fst dword[angle_z] |
105 | cmp ah,176 ;Left |
155 | mov word[NumberSymbolsAD],2 |
106 | jne @f |
156 | fstp qword[Data_Double] |
107 | fld dword[angle_z] |
157 | call DoubleFloat_to_String |
108 | fadd dword[delt_size] |
158 | mov byte[txt_angle_z.v],0 |
- | 159 | stdcall str_cat, txt_angle_z.v,Data_String |
|
109 | fstp dword[angle_z] |
160 | call draw_3d |
110 | call draw_3d |
161 | stdcall [kosglSwapBuffers] |
111 | stdcall [kosglSwapBuffers] |
162 | @@: |
- | 163 | cmp ah,179 ;Right |
|
- | 164 | jne @f |
|
- | 165 | finit |
|
- | 166 | fld dword[angle_z] |
|
- | 167 | fsub dword[delt_size] |
|
112 | @@: |
168 | fst dword[angle_z] |
113 | cmp ah,179 ;Right |
169 | mov word[NumberSymbolsAD],2 |
114 | jne @f |
170 | fstp qword[Data_Double] |
Line 115... | Line 171... | ||
115 | fld dword[angle_z] |
171 | call DoubleFloat_to_String |
Line 116... | Line 172... | ||
116 | fsub dword[delt_size] |
172 | mov byte[txt_angle_z.v],0 |
117 | fstp dword[angle_z] |
173 | stdcall str_cat, txt_angle_z.v,Data_String |
- | 174 | call draw_3d |
|
- | 175 | stdcall [kosglSwapBuffers] |
|
- | 176 | @@: |
|
- | 177 | ||
- | 178 | jmp still |
|
- | 179 | ||
- | 180 | align 4 |
|
- | 181 | button: |
|
- | 182 | mcall SF_GET_BUTTON |
|
- | 183 | cmp ah,3 |
|
- | 184 | jne @f |
|
- | 185 | call but_st_point |
|
- | 186 | jmp still |
|
- | 187 | @@: |
|
- | 188 | cmp ah,4 |
|
- | 189 | jne @f |
|
- | 190 | call but_st_line |
|
- | 191 | jmp still |
|
- | 192 | @@: |
|
- | 193 | cmp ah,5 |
|
- | 194 | jne @f |
|
118 | call draw_3d |
195 | call but_st_face |
- | 196 | jmp still |
|
- | 197 | @@: |
|
- | 198 | cmp ah,6 |
|
- | 199 | jne @f |
|
119 | stdcall [kosglSwapBuffers] |
200 | call but_zoom_p |
120 | @@: |
201 | jmp still |
121 | 202 | @@: |
|
122 | jmp still |
203 | cmp ah,7 |
- | 204 | jne @f |
|
123 | 205 | call but_zoom_m |
|
Line -... | Line 206... | ||
- | 206 | jmp still |
|
- | 207 | @@: |
|
- | 208 | cmp ah,1 |
|
- | 209 | jne still |
|
- | 210 | .exit: |
|
- | 211 | stdcall [gluDeleteQuadric], [qObj] |
|
Line 124... | Line 212... | ||
124 | align 4 |
212 | stdcall mem.Free,[image_data_toolbar] |
- | 213 | mcall SF_TERMINATE_PROCESS |
|
- | 214 | ||
- | 215 | align 4 |
|
- | 216 | but_st_point: |
|
- | 217 | stdcall [gluQuadricDrawStyle], [qObj],GLU_POINT |
|
- | 218 | call draw_3d |
|
- | 219 | stdcall [kosglSwapBuffers] |
|
- | 220 | ret |
|
- | 221 | ||
- | 222 | align 4 |
|
- | 223 | but_st_line: |
|
- | 224 | stdcall [gluQuadricDrawStyle], [qObj],GLU_LINE |
|
- | 225 | call draw_3d |
|
- | 226 | stdcall [kosglSwapBuffers] |
|
- | 227 | ret |
|
- | 228 | ||
- | 229 | align 4 |
|
- | 230 | but_st_face: |
|
- | 231 | stdcall [gluQuadricDrawStyle], [qObj],GLU_FILL |
|
- | 232 | call draw_3d |
|
- | 233 | stdcall [kosglSwapBuffers] |
|
- | 234 | ret |
|
- | 235 | ||
- | 236 | align 4 |
|
- | 237 | but_zoom_p: |
|
- | 238 | finit |
|
- | 239 | fld dword[scale] |
|
- | 240 | fadd dword[sc_delt] |
|
- | 241 | fcom dword[sc_max] |
|
- | 242 | fstsw ax |
|
- | 243 | sahf |
|
- | 244 | jbe @f |
|
- | 245 | ffree st0 |
|
- | 246 | fincstp |
|
- | 247 | fld dword[sc_max] |
|
- | 248 | @@: |
|
- | 249 | fst dword[scale] |
|
- | 250 | mov word[NumberSymbolsAD],3 |
|
- | 251 | fstp qword[Data_Double] |
|
- | 252 | call DoubleFloat_to_String |
|
- | 253 | mov byte[txt_scale.v],0 |
|
- | 254 | stdcall str_cat, txt_scale.v,Data_String |
|
- | 255 | call draw_3d |
|
- | 256 | stdcall [kosglSwapBuffers] |
|
- | 257 | ret |
|
- | 258 | ||
- | 259 | align 4 |
|
- | 260 | but_zoom_m: |
|
- | 261 | finit |
|
- | 262 | fld dword[scale] |
|
- | 263 | fsub dword[sc_delt] |
|
- | 264 | fcom dword[sc_min] |
|
- | 265 | fstsw ax |
|
- | 266 | sahf |
|
- | 267 | ja @f |
|
- | 268 | ffree st0 |
|
- | 269 | fincstp |
|
- | 270 | fld dword[sc_min] |
|
- | 271 | @@: |
|
- | 272 | fst dword[scale] |
|
- | 273 | mov word[NumberSymbolsAD],3 |
|
125 | button: |
274 | fstp qword[Data_Double] |
126 | mcall 17 |
275 | call DoubleFloat_to_String |
127 | cmp ah,1 |
276 | mov byte[txt_scale.v],0 |
128 | jne still |
277 | stdcall str_cat, txt_scale.v,Data_String |
Line -... | Line 278... | ||
- | 278 | call draw_3d |
|
- | 279 | stdcall [kosglSwapBuffers] |
|
- | 280 | ret |
|
- | 281 | ||
- | 282 | ||
- | 283 | align 4 |
|
129 | .exit: |
284 | caption db 'Test gluCylinder, [Esc] - exit, [<-],[->],[Up],[Down] - rotate',0 |
130 | stdcall [gluDeleteQuadric], [qObj] |
285 | align 4 |
131 | mcall -1 |
286 | ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
Line 132... | Line 287... | ||
132 | 287 | ;sizeof.TinyGLContext = 28 |
|
133 | 288 | ||
Line 134... | Line 289... | ||
134 | align 4 |
289 | rad1 dq 1.0 |
135 | caption db 'Test gluSphere, [Esc] - exit, [<-],[->],[Up],[Down] - rotate',0 |
290 | rad2 dq 0.55 |
- | 291 | rad3 dq 0.15 |
|
Line 136... | Line 292... | ||
136 | align 4 |
292 | hei1 dq 2.0 ;высота цилиндра |
137 | ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
293 | hei2 dq 1.25 |
138 | ;sizeof.TinyGLContext = 28 |
294 | |
- | 295 | align 4 |
|
139 | 296 | draw_3d: |
|
Line 140... | Line 297... | ||
140 | align 4 |
297 | stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины |
141 | draw_3d: |
298 | |
142 | stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины |
299 | stdcall [glPushMatrix] |
Line 143... | Line 300... | ||
143 | 300 | call SetLight |
|
144 | stdcall [glPushMatrix] |
301 | |
145 | call SetLight |
302 | stdcall [glTranslatef], 0.0,0.0,0.5 |
146 | 303 | stdcall [glScalef], [scale], [scale], [scale] |
|
- | 304 | stdcall [glScalef], 1.0, 1.0, 0.5 |
|
- | 305 | ||
- | 306 | stdcall [glColor3f], 1.0, 1.0, 0.0 |
|
- | 307 | stdcall [glRotatef], [angle_z],0.0,0.0,1.0 |
|
147 | stdcall [glTranslatef], 0.0,0.0,0.5 |
308 | stdcall [glRotatef], [angle_y],0.0,1.0,0.0 |
Line 148... | Line 309... | ||
148 | stdcall [glScalef], [scale], [scale], [scale] |
309 | stdcall [glTranslatef], 0.0,0.0,-1.0 ;опускаем цилинды вниз |
149 | 310 | stdcall [gluCylinder], [qObj], rad1,rad1,hei1, 32,8 |
|
150 | stdcall [glColor3f], 1.0, 1.0, 0.0 |
311 | |
Line 180... | Line 341... | ||
180 | stdcall [glEnable],GL_LIGHT0 |
341 | stdcall [glEnable],GL_LIGHT0 |
181 | ret |
342 | ret |
Line 182... | Line 343... | ||
182 | 343 | ||
Line 183... | Line 344... | ||
183 | qObj dd 0 |
344 | qObj dd 0 |
- | 345 | ||
184 | 346 | scale dd 0.4 ;начальный масштаб |
|
- | 347 | sc_delt dd 0.05 ;изменение масштаба при нажатии |
|
185 | scale dd 0.4 |
348 | sc_min dd 0.1 ;минимальный масштаб |
186 | delt_sc dd 0.05 |
349 | sc_max dd 1.1 ;максимальный масштаб |
187 | angle_z dd 0.0 |
350 | angle_z dd -45.0 |
Line 188... | Line 351... | ||
188 | angle_y dd 0.0 |
351 | angle_y dd -150.0 |
189 | delt_size dd 3.0 |
352 | delt_size dd 3.0 |
190 | 353 | ||
Line 210... | Line 373... | ||
210 | { |
373 | { |
211 | sz_#n db `n,0 |
374 | sz_#n db `n,0 |
212 | } |
375 | } |
213 | include '../export.inc' |
376 | include '../export.inc' |
Line -... | Line 377... | ||
- | 377 | ||
- | 378 | align 4 |
|
- | 379 | import_buf2d: |
|
- | 380 | dd sz_init0 |
|
- | 381 | buf2d_create dd sz_buf2d_create |
|
- | 382 | buf2d_create_f_img dd sz_buf2d_create_f_img |
|
- | 383 | buf2d_clear dd sz_buf2d_clear |
|
- | 384 | buf2d_draw dd sz_buf2d_draw |
|
- | 385 | buf2d_delete dd sz_buf2d_delete |
|
- | 386 | buf2d_resize dd sz_buf2d_resize |
|
- | 387 | buf2d_line dd sz_buf2d_line |
|
- | 388 | buf2d_rect_by_size dd sz_buf2d_rect_by_size |
|
- | 389 | buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
|
- | 390 | buf2d_circle dd sz_buf2d_circle |
|
- | 391 | buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
|
- | 392 | buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
|
- | 393 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
|
- | 394 | buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
|
- | 395 | buf2d_bit_blt dd sz_buf2d_bit_blt |
|
- | 396 | buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
|
- | 397 | buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
|
- | 398 | buf2d_curve_bezier dd sz_buf2d_curve_bezier |
|
- | 399 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
|
- | 400 | buf2d_draw_text dd sz_buf2d_draw_text |
|
- | 401 | buf2d_crop_color dd sz_buf2d_crop_color |
|
- | 402 | buf2d_offset_h dd sz_buf2d_offset_h |
|
- | 403 | buf2d_flood_fill dd sz_buf2d_flood_fill |
|
- | 404 | buf2d_set_pixel dd sz_buf2d_set_pixel |
|
- | 405 | dd 0,0 |
|
- | 406 | sz_init0 db 'lib_init',0 |
|
- | 407 | sz_buf2d_create db 'buf2d_create',0 |
|
- | 408 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
|
- | 409 | sz_buf2d_clear db 'buf2d_clear',0 |
|
- | 410 | sz_buf2d_draw db 'buf2d_draw',0 |
|
- | 411 | sz_buf2d_delete db 'buf2d_delete',0 |
|
- | 412 | sz_buf2d_resize db 'buf2d_resize',0 |
|
- | 413 | sz_buf2d_line db 'buf2d_line',0 |
|
- | 414 | sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
|
- | 415 | sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
|
- | 416 | sz_buf2d_circle db 'buf2d_circle',0 |
|
- | 417 | sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
|
- | 418 | sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
|
- | 419 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
|
- | 420 | sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
|
- | 421 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
|
- | 422 | sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
|
- | 423 | sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
|
- | 424 | sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
|
- | 425 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
|
- | 426 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
|
- | 427 | sz_buf2d_crop_color db 'buf2d_crop_color',0 |
|
- | 428 | sz_buf2d_offset_h db 'buf2d_offset_h',0 |
|
- | 429 | sz_buf2d_flood_fill db 'buf2d_flood_fill',0 |
|
- | 430 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
|
- | 431 | ||
- | 432 | align 4 |
|
- | 433 | import_libimg: |
|
- | 434 | dd alib_init1 |
|
- | 435 | img_is_img dd aimg_is_img |
|
- | 436 | img_info dd aimg_info |
|
- | 437 | img_from_file dd aimg_from_file |
|
- | 438 | img_to_file dd aimg_to_file |
|
- | 439 | img_from_rgb dd aimg_from_rgb |
|
- | 440 | img_to_rgb dd aimg_to_rgb |
|
- | 441 | img_to_rgb2 dd aimg_to_rgb2 |
|
- | 442 | img_decode dd aimg_decode |
|
- | 443 | img_encode dd aimg_encode |
|
- | 444 | img_create dd aimg_create |
|
- | 445 | img_destroy dd aimg_destroy |
|
- | 446 | img_destroy_layer dd aimg_destroy_layer |
|
- | 447 | img_count dd aimg_count |
|
- | 448 | img_lock_bits dd aimg_lock_bits |
|
- | 449 | img_unlock_bits dd aimg_unlock_bits |
|
- | 450 | img_flip dd aimg_flip |
|
- | 451 | img_flip_layer dd aimg_flip_layer |
|
- | 452 | img_rotate dd aimg_rotate |
|
- | 453 | img_rotate_layer dd aimg_rotate_layer |
|
- | 454 | img_draw dd aimg_draw |
|
- | 455 | ||
- | 456 | dd 0,0 |
|
- | 457 | alib_init1 db 'lib_init',0 |
|
- | 458 | aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение |
|
- | 459 | aimg_info db 'img_info',0 |
|
- | 460 | aimg_from_file db 'img_from_file',0 |
|
- | 461 | aimg_to_file db 'img_to_file',0 |
|
- | 462 | aimg_from_rgb db 'img_from_rgb',0 |
|
- | 463 | aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB |
|
- | 464 | aimg_to_rgb2 db 'img_to_rgb2',0 |
|
- | 465 | aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных |
|
- | 466 | aimg_encode db 'img_encode',0 |
|
- | 467 | aimg_create db 'img_create',0 |
|
- | 468 | aimg_destroy db 'img_destroy',0 |
|
- | 469 | aimg_destroy_layer db 'img_destroy_layer',0 |
|
- | 470 | aimg_count db 'img_count',0 |
|
- | 471 | aimg_lock_bits db 'img_lock_bits',0 |
|
- | 472 | aimg_unlock_bits db 'img_unlock_bits',0 |
|
- | 473 | aimg_flip db 'img_flip',0 |
|
- | 474 | aimg_flip_layer db 'img_flip_layer',0 |
|
- | 475 | aimg_rotate db 'img_rotate',0 |
|
- | 476 | aimg_rotate_layer db 'img_rotate_layer',0 |
|
- | 477 | aimg_draw db 'img_draw',0 |
|
214 | 478 | ||
215 | ;-------------------------------------------------- |
479 | ;-------------------------------------------------- |
216 | system_path db '/sys/lib/' |
480 | system_dir_0 db '/sys/lib/' |
- | 481 | lib_name_0 db 'tinygl.obj',0 |
|
- | 482 | system_dir_1 db '/sys/lib/' |
|
- | 483 | lib_name_1 db 'buf2d.obj',0 |
|
- | 484 | system_dir_2 db '/sys/lib/' |
|
217 | name_tgl db 'tinygl.obj',0 |
485 | lib_name_2 db 'libimg.obj',0 |
- | 486 | err_msg_found_lib_0 db 'Sorry I cannot load library ',39,'tinygl.obj',39,0 |
|
- | 487 | err_msg_found_lib_1 db 'Sorry I cannot load library ',39,'buf2d.obj',39,0 |
|
218 | err_message_found_lib db 'Sorry I cannot load library tinygl.obj',0 |
488 | err_msg_found_lib_2 db 'Sorry I cannot load library ',39,'libimg.obj',39,0 |
219 | head_f_i: |
489 | head_f_i: |
220 | head_f_l db 'System error',0 |
490 | head_f_l db 'System error',0 |
- | 491 | err_msg_import_0 db 'Error on load import library ',39,'tinygl.obj',39,0 |
|
- | 492 | err_msg_import_1 db 'Error on load import library ',39,'buf2d.obj',39,0 |
|
221 | err_message_import db 'Error on load import library tinygl.obj',0 |
493 | err_msg_import_2 db 'Error on load import library ',39,'libimg.obj',39,0 |
Line -... | Line 494... | ||
- | 494 | ;-------------------------------------------------- |
|
- | 495 | ||
- | 496 | txt_scale: |
|
- | 497 | db 'Scale: ' |
|
- | 498 | .v: |
|
- | 499 | db 0 |
|
- | 500 | rb 10 |
|
- | 501 | ||
- | 502 | txt_angle_z: |
|
- | 503 | db 'Rotate z: ' |
|
- | 504 | .v: |
|
- | 505 | db 0 |
|
- | 506 | rb 10 |
|
- | 507 | ||
- | 508 | txt_angle_y: |
|
- | 509 | db 'Rotate y: ' |
|
- | 510 | .v: |
|
- | 511 | db 0 |
|
- | 512 | rb 10 |
|
- | 513 | ||
- | 514 | align 4 |
|
- | 515 | buf_ogl: |
|
- | 516 | dd 0 ;указатель на буфер изображения |
|
- | 517 | dw 10,10 ;+4 left,top |
|
- | 518 | .w: dd 400 |
|
- | 519 | .h: dd 350 |
|
- | 520 | dd 0,24 ;+16 color,bit in pixel |
|
- | 521 | ||
- | 522 | align 4 |
|
- | 523 | buf_1: |
|
- | 524 | dd 0 ;указатель на буфер изображения |
|
- | 525 | dd 0 ;+4 left,top |
|
- | 526 | .w: dd 0 |
|
- | 527 | .h: dd 0,0,24 ;+16 color,bit in pixel |
|
- | 528 | ||
- | 529 | align 4 |
|
- | 530 | l_libs_start: |
|
- | 531 | lib_0 l_libs lib_name_0, cur_dir_path, file_name, system_dir_0,\ |
|
- | 532 | err_msg_found_lib_0, head_f_l, import_lib_tinygl,err_msg_import_0,head_f_i |
|
- | 533 | lib_1 l_libs lib_name_1, cur_dir_path, file_name, system_dir_1,\ |
|
- | 534 | err_msg_found_lib_1, head_f_l, import_buf2d, err_msg_import_1,head_f_i |
|
- | 535 | lib_2 l_libs lib_name_2, cur_dir_path, file_name, system_dir_2,\ |
|
- | 536 | err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i |
|
- | 537 | l_libs_end: |
|
222 | ;-------------------------------------------------- |
538 | |
223 | 539 | align 4 |
|
224 | i_end: |
540 | i_end: |
225 | rb 1024 |
- | |
226 | stacktop: |
541 | run_file_70 FileInfoBlock |
227 | cur_dir_path: |
- | |
228 | rb 4096 |
542 | sc system_colors |
- | 543 | align 16 |
|
- | 544 | rb 4096 |
|
- | 545 | stacktop: |
|
229 | library_path: |
546 | cur_dir_path rb 4096 |