Subversion Repositories Kolibri OS

Rev

Rev 648 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
648 andrew_pro 1
;**********************************************************************
2
; library of Graphics Universal Interface for Kolibri operation system
3
;
675 andrew_pro 4
; version 071119
648 andrew_pro 5
; 2007 year
6
;
7
;autors:
8
;
9
;andrew_programmer  polynki@mail.ru
10
;
675 andrew_pro 11
;menegement of controls : destroy_control, send_message,move_component
12
;                         resize_component,activate_trap_for_specialized_message
13
;GUI components : button,scroller,Bookmark,text,image,number,progres_bar
648 andrew_pro 14
;
15
; and Maxxxx32
16
;
17
;GUI components : CheckBox,EditBox
18
;
19
;**********************************************************************
20
 
21
format MS COFF
22
 
23
public EXPORTS
24
 
25
control_header_size = 44
26
 
27
border_width        = 5
28
 
675 andrew_pro 29
activate_trap       = 01000000b
30
deactivate_trap     = 10111111b
31
 
648 andrew_pro 32
section '.flat' code readable align 16
33
 
34
     include 'macros.inc'
35
     include 'debug.inc'
36
 
37
     ;GUI components
38
 
39
     include 'button.inc'
40
 
41
     include 'scroller.inc'
42
 
43
     include 'bookmark.inc'
44
 
45
     include 'image.inc'
46
 
47
     include 'text.inc'
48
 
49
     include 'number.inc'
50
 
51
     include 'check_box.inc'
52
 
53
     include 'edit_box.inc'
54
 
55
     include 'progress_bar.inc'
56
 
57
     ;engen of libGUI(menegment of controls)
58
 
59
     include 'menegment_of_controls.inc'
60
 
61
     ;functions which proved work of GUI components
62
 
63
     include 'draw.inc'
64
 
65
     include 'string.inc'
66
 
67
     include 'check_crossing_box.inc'
68
 
69
     include 'memory.inc'
70
 
71
     ;function for get version of library
72
     include 'version.inc'
73
 
74
     ;function for resize GUI component
75
     include 'resize_component.inc'
76
 
675 andrew_pro 77
     ;function for move GUI component
78
     include 'move_component.inc'
648 andrew_pro 79
 
675 andrew_pro 80
     ;function for activate trap for specialized messages
81
     include 'activate_trap.inc'
82
 
648 andrew_pro 83
align 16
84
EXPORTS:
85
                   dd szDestroyControl,destroy_control
86
                   dd szSendMessage,send_message
87
                   dd szVersion,get_version
88
                   dd szResizeComponent,resize_component
675 andrew_pro 89
                   dd szMoveComponent,move_component
90
                   dd szActivateTrap,activate_trap_for_specialized_message
648 andrew_pro 91
                   dd szcraeteButton,craete_button
92
                   dd szcraeteScroller,craete_scroller
93
                   dd szcraeteBookmark,craete_Bookmark
94
                   dd szcraeteImage,craete_image
95
                   dd szcraeteText,craete_text
96
                   dd szcraeteNumber,craete_number
97
                   dd szcraeteCheckBox,craete_check_box
98
                   dd szcraeteEditBox,craete_edit_box
99
                   dd szcraeteProgressBar,craete_progress_bar
100
                   dd 0,0
101
 
102
szDestroyControl    db 'DestroyControl',0
103
szSendMessage       db 'SendMessage',0
104
szVersion           db 'Version',0
105
szResizeComponent   db 'ResizeComponent',0
675 andrew_pro 106
szMoveComponent     db 'MoveComponent',0
107
szActivateTrap      db 'ActivateTrapForSpecializedMessage',0
648 andrew_pro 108
szcraeteButton      db 'CraeteButton',0
109
szcraeteScroller    db 'CraeteScroller',0
110
szcraeteBookmark    db 'CraeteBookmark',0
111
szcraeteImage       db 'CraeteImage',0
112
szcraeteText        db 'CraeteText',0
113
szcraeteNumber      db 'CraeteNumber',0
114
szcraeteCheckBox    db 'CraeteCheckbox',0
115
szcraeteEditBox     db 'CraeteEditbox',0
116
szcraeteProgressBar db 'CraeteProgressbar',0
117
 
118
section '.data' data readable writable align 16
119
;************************************************
120
;******************DLL DATA**********************
121
;************************************************
122
 
123
point       db '.',0
124
signum      db '-',0
125
 
126
BitsPerPixel              rd 1
127
BytesPerString            rd 1
128
WindowCoordinatX          rd 1
129
WindowCoordinatY          rd 1
130
WindowSizeX               rd 1
131
WindowSizeY               rd 1
132
 
133
PointerToMem              rd 1
134
offset                    rd 1
135
 
136
v                         rd 1
137
v2                        rd 1
138
v3                        rd 1
139
 
140
r_min                     rb 1
141
r_max                     rb 1
142
g_min                     rb 1
143
g_max                     rb 1
144
b_min                     rb 1
145
b_max                     rb 1
146
r                         rb 1
147
g                         rb 1
148
b                         rb 1
149
r_f                       rd 1
150
g_f                       rd 1
151
b_f                       rd 1
152
step_r                    rd 1
153
step_g                    rd 1
154
step_b                    rd 1
155
length                    rd 1
156
length2                   rd 1
157
Color                     rd 1
158
AveregeColor              rd 1
159
 
160
line_coordinat_x          rd 1
161
line_coordinat_y          rd 1
162
line_size_x               rd 1
163
line_size_y               rd 1
164
line_size_y_f             rd 1
165
 
166
x                         rd 1
167
y                         rd 1
168
xo                        rd 1
169
yo                        rd 1
170
x_ctl                     rd 1
171
y_ctl                     rd 1
172
 
173
;ReturnAddresButton        rd 1
174
;ReturnAddresScroller      rd 1
175
;ReturnAddresBookmark      rd 1
176
;ReturnAddresImage         rd 1
177
;ReturnAddresText          rd 1
178
;ReturnAddresNumber        rd 1
179
;ReturnAddresCheckBox      rd 1
180
;ReturnAddresEditBox       rd 1
181
;ReturnAddresProgressBar   rd 1
182
 
183
Button_Flag               rb 1
184
 
185
Scrollersize              rd 1
186
ControlID                 rd 1
187
Message                   rd 4
188
Parend                    rd 1
189
Control                   rd 1
190
ReturnControl             rd 1
191
PointerToControl          rd 1
192
ActiveControl             rd 1
193
ActiveControlForKeys      rd 1
194
ButtonsOfMouse            rd 1
195
 
196
PointerToStructureForBookmark    rd 1
197
ParendForBookmark                rd 1
198
PointerToStructureForButton      rd 1
199
ParendForButton                  rd 1
200
PointerToStructureForScroller    rd 1
201
ParendForScroller                rd 1
202
PointerToStructureForImage       rd 1
203
PointerToStructureForText        rd 1
204
PointerToStructureForNumber      rd 1
205
PointerToStructureForCheckBox    rd 1
206
PointerToStructureForEditBox     rd 1
207
PointerToStructureForProgressBar rd 1
208
 
209
PointerForButton                rd 1
210
PointerForScroller              rd 1
211
PointerForBookmark              rd 1
212
PointerForImage                 rd 1
213
PointerForText                  rd 1
214
PointerForNumber                rd 1
215
PointerForCheckBox              rd 1
216
PointerForEditBox               rd 1
217
PointerForProgressBar           rd 1
218
 
219
ChisloZakladok                  rd 1
220
 
221
integer_part                    rd 1
222
float_part                      rd 1
223
tochnost1                       rd 1
224
tochnost2                       rd 1
225
signum_float_number             rb 1
226
 
227
skin_height                     rd 1
228
 
229
;*********************************
230
;**********GUI structures*********
231
;*********************************
232
 
233
;struc CONTROL
234
;{
235
; .ctrl_proc        rd 0  ;0
236
; .ctrl_fd          rd 0  ;4
237
; .ctrl_bk          rd 0  ;8
238
; .child_fd         rd 0  ;12
239
; .child_bk         rd 0  ;16
240
; .parend           rd 0  ;20
241
; .x                rd 0  ;24
242
; .y                rd 0  ;28
243
; .sizex            rd 0  ;32
244
; .sizey            rd 0  ;36
245
; .ID               rd 0  ;40
246
;}
247
 
248
struc BUTTON
249
{
250
 .ctrl_proc        rd 1
251
 .ctrl_fd          rd 1
252
 .ctrl_bk          rd 1
253
 .child_fd         rd 1
254
 .child_bk         rd 1
255
 .parend           rd 1
256
 .ctrl_x           rd 1
257
 .ctrl_y           rd 1
258
 .ctrl_sizex       rd 1
259
 .ctrl_sizey       rd 1
260
 .ctrl_ID          rd 1
261
 
262
 .type             rb 1
263
 .flag             rb 1
264
 .x                rw 1
265
 .y                rw 1
266
 .width            rw 1
267
 .height           rw 1
268
 .image            rd 1
269
 .imageX           rw 1
270
 .imageY           rw 1
271
 .imageSizeX       rw 1
272
 .imageSizeY       rw 1
273
 .transparentColor rd 1
274
 .text             rd 1
275
 .textX            rw 1
276
 .textY            rw 1
277
 .textcolor        rd 1
278
 .color1           rd 1
279
 .color2           rd 1
280
 .mouseX           rw 1
281
 .mouseY           rw 1
282
}
283
 
284
struc SCROLLER
285
{
286
 .ctrl_proc        rd 1
287
 .ctrl_fd          rd 1
288
 .ctrl_bk          rd 1
289
 .child_fd         rd 1
290
 .child_bk         rd 1
291
 .parend           rd 1
292
 .ctrl_x           rd 1
293
 .ctrl_y           rd 1
294
 .ctrl_sizex       rd 1
295
 .ctrl_sizey       rd 1
296
 .ctrl_ID          rd 1
297
 
298
 .type             rb 1
299
 .x                rw 1
300
 .y                rw 1
301
 .length           rw 1
302
 .color1           rd 1
303
 .size             rd 1
304
 .pos              rd 1
305
 .buttons_flags    rw 1
306
 .ChildButton1     rd 1
307
 .ChildButton2     rd 1
308
 .mouseX           rw 1
309
 .mouseY           rw 1
310
}
311
 
312
;********************************
313
;*********Child Buttons**********
314
;********************************
315
struc CHILDBUTTON
316
{
317
 .type             rb 1
318
 .flag             rb 1
319
 .x                rw 1
320
 .y                rw 1
321
 .width            rw 1
322
 .height           rw 1
323
 .image            rd 1
324
 .imageX           rw 1
325
 .imageY           rw 1
326
 .imageSizeX       rw 1
327
 .imageSizeY       rw 1
328
 .transparentColor rd 1
329
 .text             rd 1
330
 .textX            rw 1
331
 .textY            rw 1
332
 .textcolor        rd 1
333
 .color1           rd 1
334
 .color2           rd 1
335
 .mouseX           rw 1
336
 .mouseY           rw 1
337
}
338
 
339
struc BOOKMARK
340
{
341
 .type                          rb 1
342
 .flag                          rb 1
343
 .x                             rd 1
344
 .y                             rd 1
345
 .sizex                         rd 1
346
 .sizey                         rd 1
347
 .color1                        rd 1
348
 .reserved                      rd 1
349
 .color2                        rd 1
350
 
351
 .FullBookmarkSizeX             rd 1
352
 .BookmarkSizeX                 rd 1
353
 .PointerToTextForBookmark      rd 1
354
 .BookmarkX                     rd 1
355
 .BookmarkY                     rd 1
356
 .ChildButtonsForBookmark       rd 1
357
 .CounterChildButtons           rd 1
358
 .ChisloZakladok                rd 1
359
 .ChisloStrokeZakladok          rd 1
360
 .MessageForChildButton         rd 5
361
 .ChildControlForBookmark       rd 1
362
 .NumberBookmarksInActiveString rd 1
363
 .NumberBookmarksInEndString    rd 1
364
 .PointerToActiveBookmarks      rd 1
365
 .PointerToEndBookmarks         rd 1
366
 .BookmarkFlag                  rb 1
367
 .y_end_stroke                  rd 1
368
 
369
 .CounterChildControls          rd 1
370
 .ActiveChildControl            rd 1
371
 .AddresOfActiveChildControl    rd 1
372
 .MouseX                        rd 1
373
 .MouseY                        rd 1
374
 
375
 .DefectSizeX                   rd 1
376
 .ControlAddres                 rd 1
377
 
378
 .counter1                      rd 1
379
 .counter2                      rd 1
380
 
381
 .NumberActiveControl           rd 1
382
 
383
 .WorkPlace_x                   rd 1
384
 .WorkPlace_y                   rd 1
385
 .WorkPlace_sizex               rd 1
386
 .WorkPlace_sizey               rd 1
387
 .WorkPlace_windowx             rd 1
388
 .WorkPlace_windowsizex         rd 1
389
 
390
}
391
 
392
struc IMAGE
393
{
394
 .type                          rb 1
395
 .flag                          rb 1
396
 .color                         rd 1
397
 .x                             rd 1
398
 .y                             rd 1
399
 .sizex                         rd 1
400
 .sizey                         rd 1
401
 .pointer                       rd 1
402
}
403
 
404
struc TEXT
405
{
406
 .type                          rb 1
407
 .flag                          rb 1
408
 .color                         rd 1
409
 .x                             rd 1
410
 .y                             rd 1
411
 .length                        rd 1
412
 .pointer                       rd 1
413
}
414
 
415
struc NUMBER
416
{
417
  .type                         rb 1
418
  .flag                         rb 1
419
  .color                        rd 1
420
  .x                            rd 1
421
  .y                            rd 1
422
  .number                       rd 1
423
  .parameters                   rd 1
424
}
425
 
426
struc CHECKBOX
427
{
428
 .ch_flags                      rw 1
429
 .ch_left                       rw 1
430
 .ch_top                        rw 1
431
 .ch_text_margin                rd 1
432
 .ch_size                       rd 1
433
 .ch_size_2                     rw 1
434
 .ch_size_3                     rw 1
435
 .ch_color                      rd 1
436
 .ch_border_color               rd 1
437
 .ch_text_color                 rd 1
438
 .ch_text_ptr                   rd 1
439
 .ch_text_length                rw 1
440
 .mouseX                        rd 1
441
 .mouseY                        rd 1
442
}
443
 
444
struc EDITBOX
445
{
446
 .ed_width                      rd 1
447
 .ed_left                       rd 1
448
 .ed_top                        rd 1
449
 .ed_color                      rd 1
450
 .shift_color                   rd 1
451
 .ed_focus_border_color         rd 1
452
 .ed_blur_border_color          rd 1
453
 .ed_text_color                 rd 1
454
 .ed_max                        rd 1
455
 .ed_text                       rd 1
456
 .ed_flags                      rw 1
457
 .ed_size                       rd 1
458
 .ed_pos                        rd 1
459
 .ed_offset                     rd 1
460
 .cl_curs_x                     rd 1
461
 .cl_curs_y                     rd 1
462
 .ed_shift_pos                  rd 1
463
 .ed_shift_pos_old              rd 1
464
 .ed_height                     rd 1
465
 .mouseX                        rd 1
466
 .mouseY                        rd 1
467
}
468
 
469
struc PROGRESSBAR
470
{
471
 .type                          rb 1
472
 .flag                          rb 1
473
 .color1                        rd 1
474
 .color2                        rd 1
475
 .x                             rd 1
476
 .y                             rd 1
477
 .sizex                         rd 1
478
 .sizey                         rd 1
479
 .progress                      rd 1
480
 .color3                        rd 1
481
}
482
 
483
;********************************
484
;*Graphics primitives structures*
485
;********************************
486
struc LINE
487
{
488
 .x1               rd 1
489
 .y1               rd 1
490
 .x2               rd 1
491
 .y2               rd 1
492
 .color            rd 1
493
}
494
 
495
struc PIXEL
496
{
497
 .x                rd 1
498
 .y                rd 1
499
 .color            rd 1
500
}
501
 
502
struc FONT1
503
{
504
 .sizeX            rd 6
505
 .sizeY            rd 9
506
 .x                rd 1
507
 .y                rd 1
508
}
509
 
510
struc RECTANGLE
511
{
512
 .x                rd 1
513
 .y                rd 1
514
 .width            rd 1
515
 .height           rd 1
516
 .color            rd 1
517
}
518
 
519
struc SCROLLBAR
520
{
521
 .x                rd 1
522
 .y                rd 1
523
}
524
 
525
Line               LINE
526
Pixel              PIXEL
527
Font               FONT1
528
Rectangle          RECTANGLE
529
ScrollBar          SCROLLBAR
530
ChildButton        CHILDBUTTON
531
 
532
Button             BUTTON
533
Scroller           SCROLLER
534
Bookmark           BOOKMARK
535
Image              IMAGE
536
Text               TEXT
537
Number             NUMBER
538
CheckBox           CHECKBOX
539
EditBox            EDITBOX
540
ProgressBar        PROGRESSBAR
541
 
542
pointer                   rd 50
543
pointer2                  rd 13
544
IPC_table  process_information;               rb 1024
545
colors_table1             rd 15
546
colors_table2             rd 15