Subversion Repositories Kolibri OS

Rev

Rev 2658 | Rev 2815 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2658 Rev 2759
Line 47... Line 47...
47
 
47
 
Line 48... Line 48...
48
 
48
 
49

Îãëàâëåíèå

49

Îãëàâëåíèå

50
 
50
 
51
  • Âñòóïëåíèå
  • 51
  • Âñòóïëåíèå
  • 52
  • Ôîðìàòû áóôåðîâ
  • 52
  • Ôîðìàòû áóôåðîâ
  • -
     
    53
  • Ôóíêöèè
  • -
     
    54
     
    -
     
    55
  • lib_init
  • -
     
    56
  • buf2d_create
  • -
     
    57
  • buf2d_vox_brush_create
  • -
     
    58
     
    53
  • Ôóíêöèè
  • 59
     
    54
  • Êîíñòàíòû
  • 60
  • Êîíñòàíòû
  • 55
  • Òàáëèöà ýêñïîðòà
  • 61
  • Òàáëèöà ýêñïîðòà
  • 56
  • Èñòîðèÿ
  • 62
  • Èñòîðèÿ
  • Line 57... Line 63...
    57
     
    63
     
    58
     
    64
     
    59

    Âñòóïëåíèå

    65

    Âñòóïëåíèå

    60

    Äîêóìåíòàöèÿ ê ñâîáîäíîé áèáëèîòåêå buf2d.asm, äëÿ ÎÑ Êîëèáðè.

    66

    Äîêóìåíòàöèÿ ê ñâîáîäíîé áèáëèîòåêå buf2d.asm, äëÿ ÎÑ Êîëèáðè.

    61
     Ýòà áèáëèîòåêà ñîçäàíà äëÿ ðàáîòû ñ 2d èçîáðàæåíèÿìè.
    67
     Ýòà áèáëèîòåêà ñîçäàíà äëÿ ðàáîòû ñ 2d èçîáðàæåíèÿìè.
    -
     
    68
     Ñ åå ïîìîùüþ ìîæíî ñîçäàâàòü áóôåðà ñ èçîáðàæåíèÿìè â ïàìÿòè, è ïðè íåîáõîäèìîñòè âûâîäèòü èõ íà ýêðàí.
    -
     
    69
     Èçîáðàæåíèÿ ìîæíî íàêëàäûâàòü îäíî íà äðóãîå, ïîääåðæèâàåòñÿ ðàáîòà ñ ïðîçðà÷íûìè èçîáðàæåíèÿìè.
    Line 62... Line 70...
    62
     Ñ åå ïîìîùüþ ìîæíî ñîçäàâàòü áóôåðà ñ èçîáðàæåíèÿìè â ïàìÿòè, è ïðè íåîáõîäèìîñòè âûâîäèòü èõ íà ýêðàí.
    70
     Åñòü ôóíêöèè ðèñîâàíèÿ ëèíèé, êðèâûõ Áåçüå, ïðÿìîóãîëüíèêîâ, îêðóæíîñòåé.
    Line 63... Line 71...
    63
     Èçîáðàæåíèÿ ìîæíî íàêëàäûâàòü îäíî íà äðóãîå, ïîääåðæèâàåòñÿ ðàáîòà ñ ïðîçðà÷íûìè èçîáðàæåíèÿìè, åñòü ôóíêöèÿ ðèñîâàíèÿ ëèíè ïîêà íà ýòîì âñå.

    71
     Òàêæå åñòü ôóíêöèè äëÿ ðèñîâàíèé âîêñåëüíîé ãðàôèêè.

    64
     
    72
     
    65

    Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 11.05.12.

    73

    Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 12.06.12.

    Line 66... Line 74...
    66
     
    74
     
    67

    Ôîðìàòû áóôåðîâ

    75

    Ôîðìàòû áóôåðîâ

    Line 88... Line 96...
    88
    	dd  150 ;+ 8 øèðèíà
    96
    	dd  150 ;+ 8 øèðèíà
    89
    	dd  100 ;+12 âûñîòà
    97
    	dd  100 ;+12 âûñîòà
    90
    	dd 0x80 ;+16 ôîíîâûé öâåò
    98
    	dd 0x80 ;+16 ôîíîâûé öâåò
    91
    	db   24 ;+20 áèò íà ïèêñåëü
    99
    	db   24 ;+20 áèò íà ïèêñåëü
    Line 92... Line 100...
    92
     
    100
     
    93

    lib_init

    101

    lib_init

    Line 94... Line 102...
    94

    Ýòà ôóíêöèÿ ïîëó÷àåò óêàçàòåëè íà ôóíêöèè ðàáîòû ñ ïàìÿòüþ, âûçûâàòñÿ äîëæíà ïðè çàãðóçêå áèáëèîòåêè. Ìîæåòå èñïîëüçîâàòü ìàêðîñ @use_library_mem, äëÿ åå àâòîìàòè÷åñêîé íàñòðîéêè.

    102

    Ýòà ôóíêöèÿ ïîëó÷àåò óêàçàòåëè íà ôóíêöèè ðàáîòû ñ ïàìÿòüþ, âûçûâàòñÿ äîëæíà ïðè çàãðóçêå áèáëèîòåêè. Ìîæåòå èñïîëüçîâàòü ìàêðîñ @use_library_mem, äëÿ åå àâòîìàòè÷åñêîé íàñòðîéêè.

    95
     
    103
     
    -
     
    104

    buf2d_create

    -
     
    105

    Ñîçäàåò áóôåð è ÷èñòèò åãî ôîíîâûì öâåòîì. Ïðèìåð:

    -
     
    106
    stdcall [buf2d_create], buf_0
    Line 96... Line 107...
    96

    buf2d_create

    107

    ãäå buf_0 - ñòðóêòóðà áóôåðà.

    97

    Ñîçäàåò áóôåð è ÷èñòèò åãî ôîíîâûì öâåòîì.

    108

    Ïàðàìåòðû äëÿ ñîçäàíèÿ áóôåðà áåðóòñÿ èç ñòðóêòóðû.

    Line 98... Line 109...
    98
     
    109
     
    Line 227... Line 238...
    227
    stdcall [buf2d_get_pixel], buf_0, 100,150
    238
    stdcall [buf2d_get_pixel], buf_0, 100,150
    228

    ãäå buf_0 - ñòðóêòóðà áóôåðà;

    239

    ãäå buf_0 - ñòðóêòóðà áóôåðà;

    229

    100,150 - êîîðäèíàòû òî÷êè;

    240

    100,150 - êîîðäèíàòû òî÷êè;

    230

    eax - öâåò òî÷êè (äëÿ 8 è 24 áèòíûõ áóôåðîâ íå èñïîëüçóåìûå ñòàðøèå áèòû â eax ðàâíû 0) èëè çíà÷åíèå -1 â ñëó÷àå îøèáêè.

    241

    eax - öâåò òî÷êè (äëÿ 8 è 24 áèòíûõ áóôåðîâ íå èñïîëüçóåìûå ñòàðøèå áèòû â eax ðàâíû 0) èëè çíà÷åíèå -1 â ñëó÷àå îøèáêè.

    Line -... Line 242...
    -
     
    242
     
    -
     
    243

    buf2d_vox_brush_create

    -
     
    244

    Ñîçäàíèå âîêñåëüíîé êèñòè.

    -
     
    245
     
    -
     
    246

    buf2d_vox_brush_delete

    -
     
    247

    Óäàëåíèå âîêñåëüíîé êèñòè.

    -
     
    248
     
    -
     
    249

    buf2d_vox_obj_get_img_w_3g

    -
     
    250

    Âîçâðàøàåò øèðèíó âîêñåëüíîãî èçîáðàæåíèÿ ñ 3-ìÿ ãðàíÿìè (êîòîðîå ðèñóåòñÿ ôóíêöèåé buf2d_vox_obj_draw_3g), ïðèíèìàåò óêàçàòåëü íà êèñòü è ìàñøòàá.

    -
     
    251
     
    -
     
    252

    buf2d_vox_obj_get_img_h_3g

    -
     
    253

    Âîçâðàøàåò âûñîòó âîêñåëüíîãî èçîáðàæåíèÿ ñ 3-ìÿ ãðàíÿìè (êîòîðîå ðèñóåòñÿ ôóíêöèåé buf2d_vox_obj_draw_3g), ïðèíèìàåò óêàçàòåëü íà êèñòü è ìàñøòàá.

    -
     
    254
     
    -
     
    255

    buf2d_vox_obj_draw_3g

    -
     
    256

    Ðèñîâàíèå âîêñåëüíîãî îáúåêòà ñ 3-ìÿ ãðàíÿìè.

    -
     
    257
     
    -
     
    258

    buf2d_vox_obj_draw_3g_scaled

    -
     
    259

    Ðèñîâàíèå ÷àñòè âîêñåëüíîãî îáúåêòà.

    -
     
    260
     
    -
     
    261

    buf2d_vox_obj_draw_3g_shadows

    -
     
    262

    Ôóíêöèÿ ðèñóþùàÿ òåíè äëÿ èçîáðàæåíèé íàðèñîâàííûõ ñ ïîìîùüþ ôóíêöèè buf2d_vox_obj_draw_3g èëè buf2d_vox_obj_draw_3g_scaled.

    -
     
    263
     
    -
     
    264

    buf2d_vox_obj_draw_pl

    -
     
    265

    Ôóíêöèÿ ðèñóþùàÿ ñðåç âîêñåëüíîãî îáüåêòà.

    -
     
    266
     
    -
     
    267

    buf2d_vox_obj_draw_pl_scaled

    -
     
    268

    Ôóíêöèÿ ðèñóþùàÿ ñðåç ÷àñòè âîêñåëüíîãî îáüåêòà.

    231
     
    269
     
    232

    Êîíñòàíòû

    270

    Êîíñòàíòû

    233

    BUF2D_OPT_CROP_TOP equ 1

    271

    BUF2D_OPT_CROP_TOP equ 1

    234

    Êîíñòàíòà äëÿ ôóíêöèè buf2d_crop_color, îáîçíà÷àåò îáðåçêó áóôåðà ñâåðõó

    272

    Êîíñòàíòà äëÿ ôóíêöèè buf2d_crop_color, îáîçíà÷àåò îáðåçêó áóôåðà ñâåðõó

    235

    BUF2D_OPT_CROP_LEFT equ 2

    273

    BUF2D_OPT_CROP_LEFT equ 2

    Line 269... Line 307...
    269
    	buf2d_offset_h dd sz_buf2d_offset_h
    307
    	buf2d_offset_h dd sz_buf2d_offset_h
    270
    	buf2d_flood_fill dd sz_buf2d_flood_fill
    308
    	buf2d_flood_fill dd sz_buf2d_flood_fill
    271
    	buf2d_set_pixel dd sz_buf2d_set_pixel
    309
    	buf2d_set_pixel dd sz_buf2d_set_pixel
    272
    	buf2d_get_pixel dd sz_buf2d_get_pixel
    310
    	buf2d_get_pixel dd sz_buf2d_get_pixel
    Line -... Line 311...
    -
     
    311
     
    -
     
    312
    	;âîêñåëüíûå ôóíêöèè:
    -
     
    313
    	buf2d_vox_brush_create dd sz_buf2d_vox_brush_create
    -
     
    314
    	buf2d_vox_brush_delete dd sz_buf2d_vox_brush_delete
    -
     
    315
    	buf2d_vox_obj_get_img_w_3g dd sz_buf2d_vox_obj_get_img_w_3g
    -
     
    316
    	buf2d_vox_obj_get_img_h_3g dd sz_buf2d_vox_obj_get_img_h_3g
    -
     
    317
    	buf2d_vox_obj_draw_3g dd sz_buf2d_vox_obj_draw_3g
    -
     
    318
    	buf2d_vox_obj_draw_3g_scaled dd sz_buf2d_vox_obj_draw_3g_scaled
    -
     
    319
    	buf2d_vox_obj_draw_3g_shadows dd sz_buf2d_vox_obj_draw_3g_shadows
    -
     
    320
    	buf2d_vox_obj_draw_pl dd sz_buf2d_vox_obj_draw_pl
    -
     
    321
    	buf2d_vox_obj_draw_pl_scaled dd sz_buf2d_vox_obj_draw_pl_scaled
    273
     
    322
     
    274
    	dd 0,0
    323
    	dd 0,0
    275
    	sz_lib_init db 'lib_init',0
    324
    	sz_lib_init db 'lib_init',0
    276
    	sz_buf2d_create db 'buf2d_create',0
    325
    	sz_buf2d_create db 'buf2d_create',0
    277
    	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
    326
    	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
    Line 296... Line 345...
    296
    	sz_buf2d_draw_text db 'buf2d_draw_text',0
    345
    	sz_buf2d_draw_text db 'buf2d_draw_text',0
    297
    	sz_buf2d_crop_color db 'buf2d_crop_color',0
    346
    	sz_buf2d_crop_color db 'buf2d_crop_color',0
    298
    	sz_buf2d_offset_h db 'buf2d_offset_h',0
    347
    	sz_buf2d_offset_h db 'buf2d_offset_h',0
    299
    	sz_buf2d_flood_fill db 'buf2d_flood_fill',0
    348
    	sz_buf2d_flood_fill db 'buf2d_flood_fill',0
    300
    	sz_buf2d_set_pixel db 'buf2d_set_pixel',0
    349
    	sz_buf2d_set_pixel db 'buf2d_set_pixel',0
    301
    	sz_buf2d_get_pixel db 'buf2d_get_pixel',0
    350
    	sz_buf2d_get_pixel db 'buf2d_get_pixel',0
    -
     
    351
     
    -
     
    352
    	;âîêñåëüíûå ôóíêöèè:
    -
     
    353
    	sz_buf2d_vox_brush_create db 'buf2d_vox_brush_create',0
    -
     
    354
    	sz_buf2d_vox_brush_delete db 'buf2d_vox_brush_delete',0
    -
     
    355
    	sz_buf2d_vox_obj_get_img_w_3g db 'buf2d_vox_obj_get_img_w_3g',0
    -
     
    356
    	sz_buf2d_vox_obj_get_img_h_3g db 'buf2d_vox_obj_get_img_h_3g',0
    -
     
    357
    	sz_buf2d_vox_obj_draw_3g db 'buf2d_vox_obj_draw_3g',0
    -
     
    358
    	sz_buf2d_vox_obj_draw_3g_scaled db 'buf2d_vox_obj_draw_3g_scaled',0
    -
     
    359
    	sz_buf2d_vox_obj_draw_3g_shadows db 'buf2d_vox_obj_draw_3g_shadows',0
    -
     
    360
    	sz_buf2d_vox_obj_draw_pl db 'buf2d_vox_obj_draw_pl',0
    -
     
    361
    	sz_buf2d_vox_obj_draw_pl_scaled db 'buf2d_vox_obj_draw_pl_scaled',0
    Line 302... Line 362...
    302
     
    362
     
    303

    Èñòîðèÿ

    363

    Èñòîðèÿ

    304

    02.07.10 - ñàìàÿ ïåðâàÿ âåðñèÿ áèáëèîòåêè, 2 ïðèìåðà èñïîëüçîâàíèÿ.

    364

    02.07.10 - ñàìàÿ ïåðâàÿ âåðñèÿ áèáëèîòåêè, 2 ïðèìåðà èñïîëüçîâàíèÿ.

    305

    06.07.10 - ðàñøèðåíû âîçìîæíîñòè ôóíêöèè buf2d_bit_blt, òåïåðü îíà ìîæåò ðèñîâàòü 32 áèòíûå áóôåðû. Äîáàâëåíû 2 íîâûå ôóíêöèè: buf2d_bit_blt_alpha è buf2d_cruve_bezier. Íåáîëüøèå èçìåíåíèÿ â ôóíêöèè buf2d_line.

    365

    06.07.10 - ðàñøèðåíû âîçìîæíîñòè ôóíêöèè buf2d_bit_blt, òåïåðü îíà ìîæåò ðèñîâàòü 32 áèòíûå áóôåðû. Äîáàâëåíû 2 íîâûå ôóíêöèè: buf2d_bit_blt_alpha è buf2d_cruve_bezier. Íåáîëüøèå èçìåíåíèÿ â ôóíêöèè buf2d_line.

    Line 319... Line 379...
    319

    13.09.11 - îïòèìèçèðîâàíà ðàáîòà ôóíêöèé buf2d_filled_rect_by_size buf2d_rect_by_size, äîáàâëåíû ïðèìåðû èñïîëüçîâàíèÿ áèáëèîòåêè.

    379

    13.09.11 - îïòèìèçèðîâàíà ðàáîòà ôóíêöèé buf2d_filled_rect_by_size buf2d_rect_by_size, äîáàâëåíû ïðèìåðû èñïîëüçîâàíèÿ áèáëèîòåêè.

    320

    22.09.11 - äîáàâëåíà ôóíêöèÿ buf2d_line_sm äëÿ ðèñîâàíèÿ ñãëàæåííîé ëèíèè.

    380

    22.09.11 - äîáàâëåíà ôóíêöèÿ buf2d_line_sm äëÿ ðèñîâàíèÿ ñãëàæåííîé ëèíèè.

    321

    20.02.12 - ôóíêöèè buf2d_filled_rect_by_size è buf2d_rect_by_size ìîãóò ïðèíèìàòü îòðèöàòåëüíûå ðàçìåðû äëÿ ïðÿìîóãîëüíèêîâ, â ôóíêöèè buf2d_line ãîðèçîíòàëüíàÿ ëèíèÿ ðèñóåòñÿ íà 1 ïèêñåëü äëèíåå (ðàíüøå íå äîðèñîâûâàëî), íåêîòîðûå ôóíêöèè ìîãóò ðèñîâàòü â 8 áèòíûõ áóôåðàõ.

    381

    20.02.12 - ôóíêöèè buf2d_filled_rect_by_size è buf2d_rect_by_size ìîãóò ïðèíèìàòü îòðèöàòåëüíûå ðàçìåðû äëÿ ïðÿìîóãîëüíèêîâ, â ôóíêöèè buf2d_line ãîðèçîíòàëüíàÿ ëèíèÿ ðèñóåòñÿ íà 1 ïèêñåëü äëèíåå (ðàíüøå íå äîðèñîâûâàëî), íåêîòîðûå ôóíêöèè ìîãóò ðèñîâàòü â 8 áèòíûõ áóôåðàõ.

    322

    23.02.12 - ôóíêöèÿ buf2d_bit_blt_alpha ìîæåò ïðèíèìàòü îòðèöàòåëüíûå êîîðäèíàòû â ïîçèöèè êîïèðóåìîãî áóôåðà, íåáîëüøèå äîðàáîòêè â buf2d_bit_blt_transp

    382

    23.02.12 - ôóíêöèÿ buf2d_bit_blt_alpha ìîæåò ïðèíèìàòü îòðèöàòåëüíûå êîîðäèíàòû â ïîçèöèè êîïèðóåìîãî áóôåðà, íåáîëüøèå äîðàáîòêè â buf2d_bit_blt_transp

    323

    11.05.12 - äîáàâëåíà ôóíêöèÿ äëÿ âçÿòèÿ öâåòà òî÷êè buf2d_get_pixel, äîðàáîòêè â buf2d_set_pixel.

    383

    11.05.12 - äîáàâëåíà ôóíêöèÿ äëÿ âçÿòèÿ öâåòà òî÷êè buf2d_get_pixel, äîðàáîòêè â buf2d_set_pixel.

    -
     
    384

    12.06.12 - äîáàâëåíû ôóíêöèè äëÿ ðèñîâàíèÿ âîêñåëüíîé ãðàôèêè.

    324
     
    385
     
    325
     
    386
     
    326
    387