Subversion Repositories Kolibri OS

Rev

Rev 2658 | Rev 2815 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2658 Rev 2759
1
 
1
 
2
 
2
 
3
áèáëèîòåêà äëÿ ðàáîòû ñ 2d áóôåðàìè
3
áèáëèîòåêà äëÿ ðàáîòû ñ 2d áóôåðàìè
4
 
4
 
5
 
5
 
6
body
6
body
7
{
7
{
8
  font-size: 15px;
8
  font-size: 15px;
9
  font-family: "Bookman Old Style";
9
  font-family: "Bookman Old Style";
10
  color: black;
10
  color: black;
11
  text-align: justify;
11
  text-align: justify;
12
}
12
}
13
h1 { color: green; font-size: 23px; }
13
h1 { color: green; font-size: 23px; }
14
h2 { color: green; font-size: 21px; }
14
h2 { color: green; font-size: 21px; }
15
h3 { color: green; font-size: 19px; }
15
h3 { color: green; font-size: 19px; }
16
h4 { color: #803f00; font-size: 17px; }
16
h4 { color: #803f00; font-size: 17px; }
17
i { color: #0099cc; }
17
i { color: #0099cc; }
18
b { color: #0099cc; }
18
b { color: #0099cc; }
19
p {
19
p {
20
  text-indent: 1em;
20
  text-indent: 1em;
21
  margin-top: 3px;
21
  margin-top: 3px;
22
  margin-bottom: 2px;
22
  margin-bottom: 2px;
23
  margin-left: 0px;
23
  margin-left: 0px;
24
  margin-right: 0px;
24
  margin-right: 0px;
25
}
25
}
26
ol, ul, dl{
26
ol, ul, dl{
27
  margin-top: 3px;
27
  margin-top: 3px;
28
  margin-bottom: 2px;
28
  margin-bottom: 2px;
29
}
29
}
30
pre
30
pre
31
{
31
{
32
  padding: 2px;
32
  padding: 2px;
33
  padding-left: 20px;
33
  padding-left: 20px;
34
  margin-top: 5px;
34
  margin-top: 5px;
35
  margin-bottom: 5px;
35
  margin-bottom: 5px;
36
  margin-left: 0px;
36
  margin-left: 0px;
37
  margin-right: 0px;
37
  margin-right: 0px;
38
  font-family: "Courier New";
38
  font-family: "Courier New";
39
  font-size: 15px;
39
  font-size: 15px;
40
  color: #004000;
40
  color: #004000;
41
  background-color: #ffd0ff;
41
  background-color: #ffd0ff;
42
}
42
}
43
table { font-size: 15px; }
43
table { font-size: 15px; }
44
 
44
 
45
 
45
 
46
 
46
 
47
 
47
 
48
 
48
 
49

Îãëàâëåíèå

49

Îãëàâëåíèå

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

    Âñòóïëåíèå

    65

    Âñòóïëåíèå

    60

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

    66

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

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

    69
     Èçîáðàæåíèÿ ìîæíî íàêëàäûâàòü îäíî íà äðóãîå, ïîääåðæèâàåòñÿ ðàáîòà ñ ïðîçðà÷íûìè èçîáðàæåíèÿìè.
    -
     
    70
     Åñòü ôóíêöèè ðèñîâàíèÿ ëèíèé, êðèâûõ Áåçüå, ïðÿìîóãîëüíèêîâ, îêðóæíîñòåé.
    -
     
    71
     Òàêæå åñòü ôóíêöèè äëÿ ðèñîâàíèé âîêñåëüíîé ãðàôèêè.

    64
     
    72
     
    65

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

    73

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

    66
     
    74
     
    67

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

    75

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

    68

    Ïîääåðæèâàåòñÿ 3 ôîðìàòà áóôåðîâ.

    76

    Ïîääåðæèâàåòñÿ 3 ôîðìàòà áóôåðîâ.

    69
     Êàæäàÿ ôóíêöèÿ ïðè ðàáîòå ñ áóôåðàìè ìîæåò áûòü ðàñ÷èòàíà íà ðàáîòó ñ îïðåäåëåííûìè ôîðìàòàìè èçîáðàæåíèé.

    77
     Êàæäàÿ ôóíêöèÿ ïðè ðàáîòå ñ áóôåðàìè ìîæåò áûòü ðàñ÷èòàíà íà ðàáîòó ñ îïðåäåëåííûìè ôîðìàòàìè èçîáðàæåíèé.

    70
     
    78
     
    71

    8 áèò

    79

    8 áèò

    72

    Ñîæåðæèò àëüôà êàíàë a (ïðîçðà÷íîñòü) èçîáðàæåíèÿ. Íà ýêðàí íå âûâîäèòñÿ. Èñïîëüçóåòñÿ äëÿ ñîçäàíÿ 32-áèòíûõ áóôåðîâ.

    80

    Ñîæåðæèò àëüôà êàíàë a (ïðîçðà÷íîñòü) èçîáðàæåíèÿ. Íà ýêðàí íå âûâîäèòñÿ. Èñïîëüçóåòñÿ äëÿ ñîçäàíÿ 32-áèòíûõ áóôåðîâ.

    73

    24 áèò

    81

    24 áèò

    74

    Äàííûé áóôåð ñîäåðæèò èçîáðàæåíèå â ôîðìàòå rgb. Ìîæåò âûâîäèòñÿ íà ýêðàí.

    82

    Äàííûé áóôåð ñîäåðæèò èçîáðàæåíèå â ôîðìàòå rgb. Ìîæåò âûâîäèòñÿ íà ýêðàí.

    75

    32 áèò

    83

    32 áèò

    76

    Ñîäåðæèò ïðîçðà÷íîå èçîáðàæåíèå â ôîðìàòå rgba. Íà ýêðàí íå âûâîäèòñÿ. Èñïîëüçóåòñÿ äëÿ íàëîæåíèÿ èçîáðàæåíèé.

    84

    Ñîäåðæèò ïðîçðà÷íîå èçîáðàæåíèå â ôîðìàòå rgba. Íà ýêðàí íå âûâîäèòñÿ. Èñïîëüçóåòñÿ äëÿ íàëîæåíèÿ èçîáðàæåíèé.

    77
     
    85
     
    78

    Ôóíêöèè

    86

    Ôóíêöèè

    79
     
    87
     
    80

    Ïî÷òè âñå ôóíêöèè 1-ì ïàðàìåòðîì ïðèíèìàþò óêàçàòåëü íà ñòðóêòóðó áóôåðà,

    88

    Ïî÷òè âñå ôóíêöèè 1-ì ïàðàìåòðîì ïðèíèìàþò óêàçàòåëü íà ñòðóêòóðó áóôåðà,

    81
     èç êîòîðîé ìîãóò èñïîëüçîâàòüñÿ ïàðàìåòðû, íóæíûå äëÿ ðàáîòû êîíêðåòíîé ôóíêöèè.
    89
     èç êîòîðîé ìîãóò èñïîëüçîâàòüñÿ ïàðàìåòðû, íóæíûå äëÿ ðàáîòû êîíêðåòíîé ôóíêöèè.
    82
     Ïðèìåð ñòðóêòóðû áóôåðà èçîáðàæåíèÿ:

    90
     Ïðèìåð ñòðóêòóðû áóôåðà èçîáðàæåíèÿ:

    83
    align 4
    91
    align 4
    84
    buf_0:
    92
    buf_0:
    85
    	dd    0 ;+ 0 óêàçàòåëü íà áóôåð èçîáðàæåíèÿ
    93
    	dd    0 ;+ 0 óêàçàòåëü íà áóôåð èçîáðàæåíèÿ
    86
    	dw  100 ;+ 4 îòñòóï ñëåâà
    94
    	dw  100 ;+ 4 îòñòóï ñëåâà
    87
    	dw   10 ;+ 6 îòñòóï ñïðàâà
    95
    	dw   10 ;+ 6 îòñòóï ñïðàâà
    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 áèò íà ïèêñåëü
    92
     
    100
     
    93

    lib_init

    101

    lib_init

    94

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

    102

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

    95
     
    103
     
    -
     
    104

    buf2d_create

    -
     
    105

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

    -
     
    106
    stdcall [buf2d_create], buf_0
    96

    buf2d_create

    107

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

    97

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

    108

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

    98
     
    109
     
    99

    buf2d_create_f_img

    110

    buf2d_create_f_img

    100

    Ñîçäàåò áóôåð íà îñíîâå èçîáðàæåíèÿ â ôîðìàòå rgb.

    111

    Ñîçäàåò áóôåð íà îñíîâå èçîáðàæåíèÿ â ôîðìàòå rgb.

    101
     
    112
     
    102

    buf2d_clear

    113

    buf2d_clear

    103

    ×èñòèò áóôåð óêàçàíûì öâåòîì. Ïðèìåð:

    114

    ×èñòèò áóôåð óêàçàíûì öâåòîì. Ïðèìåð:

    104
    buf2d_color equ dword[edi+16] ;öâåò ôîíà áóôåðà
    115
    buf2d_color equ dword[edi+16] ;öâåò ôîíà áóôåðà
    105
    mov edi,buf_0
    116
    mov edi,buf_0
    106
    stdcall [buf2d_clear], edi, buf2d_color ;î÷èùàåì ýêðàí ôîíîâûì öâåòîì
    117
    stdcall [buf2d_clear], edi, buf2d_color ;î÷èùàåì ýêðàí ôîíîâûì öâåòîì
    107

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

    118

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

    108
     
    119
     
    109

    buf2d_draw

    120

    buf2d_draw

    110

    Ðèñóåò áóôåð íà ýêðàíå (ðàáîòàåò ÷åðåç ñèñòåìíóþ ô. 7). Ðèñóþòñÿ òîëüêî áóôåðà ñ ãëóáèíîé öâåòà 24 áèòà.

    121

    Ðèñóåò áóôåð íà ýêðàíå (ðàáîòàåò ÷åðåç ñèñòåìíóþ ô. 7). Ðèñóþòñÿ òîëüêî áóôåðà ñ ãëóáèíîé öâåòà 24 áèòà.

    111
     
    122
     
    112

    buf2d_delete

    123

    buf2d_delete

    113

    Îñâîáîæäàåò ïàìÿòü çàíÿòóþ èçîáðàæåíèåì áóôåðà.

    124

    Îñâîáîæäàåò ïàìÿòü çàíÿòóþ èçîáðàæåíèåì áóôåðà.

    114
     
    125
     
    115

    buf2d_resize

    126

    buf2d_resize

    116

    Èçìåíÿåò ðàçìåðû áóôåðà. Ïîêà ïîääåðæèâàþòñÿ áóôåðà ñ ãëóáèíîé öâåòà 24 áèòà. Ïðèìåð:

    127

    Èçìåíÿåò ðàçìåðû áóôåðà. Ïîêà ïîääåðæèâàþòñÿ áóôåðà ñ ãëóáèíîé öâåòà 24 áèòà. Ïðèìåð:

    117
    stdcall [buf2d_resize], buf_0, 0,300 ;èçìåíÿåì âûñîòó áóôåðà
    128
    stdcall [buf2d_resize], buf_0, 0,300 ;èçìåíÿåì âûñîòó áóôåðà
    118

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ëèíèÿ; 0 - íîâàÿ øèðèíà áóôåðà (0 îçíà÷àåò íå èçìåíÿòü ðàçìåð); 300 - íîâàÿ âûñîòà áóôåðà.

    129

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ëèíèÿ; 0 - íîâàÿ øèðèíà áóôåðà (0 îçíà÷àåò íå èçìåíÿòü ðàçìåð); 300 - íîâàÿ âûñîòà áóôåðà.

    119
     
    130
     
    120

    buf2d_line

    131

    buf2d_line

    121

    Ðèñóåò â áóôåðå ëèíèþ ñ çàäàííûì öâåòîì è êîîðäèíàòàìè. Ïðèìåð:

    132

    Ðèñóåò â áóôåðå ëèíèþ ñ çàäàííûì öâåòîì è êîîðäèíàòàìè. Ïðèìåð:

    122
    stdcall [buf2d_line], buf_0, 30,10, 110,70, 0xffff00 ;ðèñóåì ëèíèþ
    133
    stdcall [buf2d_line], buf_0, 30,10, 110,70, 0xffff00 ;ðèñóåì ëèíèþ
    123

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ëèíèÿ; 30, 10, 110, 70 - êîîðäèíàòû ëèíèè; 0xffff00 - öâåò ëèíèè.

    134

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ëèíèÿ; 30, 10, 110, 70 - êîîðäèíàòû ëèíèè; 0xffff00 - öâåò ëèíèè.

    124

    Äëÿ ðèñîâàíèÿ ñãëàæåííîé ëèíèè èñïîëüçóéòå buf2d_line_sm.

    135

    Äëÿ ðèñîâàíèÿ ñãëàæåííîé ëèíèè èñïîëüçóéòå buf2d_line_sm.

    125
     
    136
     
    126

    buf2d_line_sm

    137

    buf2d_line_sm

    127

    Ðèñóåò â áóôåðå ëèíèþ ïðèíèìàåò òàêèæå ïàðàìåòðû êàê è ôóíêöèÿ buf2d_line. Äàííàÿ ôóíêöèÿ ðèñóåò ñãëàæåííóþ ëèíèþ áîëåå êðàñèâóþ ÷åì buf2d_line, íî ðàáîòàåò ìåäëåííåå íå¸ çà ñ÷åò âû÷èñëåíèÿ ñìåøàííûõ öâåòîâ ôîíà è ñàìîé ëèíèè.

    138

    Ðèñóåò â áóôåðå ëèíèþ ïðèíèìàåò òàêèæå ïàðàìåòðû êàê è ôóíêöèÿ buf2d_line. Äàííàÿ ôóíêöèÿ ðèñóåò ñãëàæåííóþ ëèíèþ áîëåå êðàñèâóþ ÷åì buf2d_line, íî ðàáîòàåò ìåäëåííåå íå¸ çà ñ÷åò âû÷èñëåíèÿ ñìåøàííûõ öâåòîâ ôîíà è ñàìîé ëèíèè.

    128
     
    139
     
    129

    buf2d_rect_by_size

    140

    buf2d_rect_by_size

    130

    Ðèñóåò ïðÿìîóãîëüíóþ ðàìêó, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó. Åñëè ðàçìåðû îòðèöàòåëüíûå ðàìêà ðèñóåòñÿ â îáðàòíîì íàïðàâëåíèè.

    141

    Ðèñóåò ïðÿìîóãîëüíóþ ðàìêó, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó. Åñëè ðàçìåðû îòðèöàòåëüíûå ðàìêà ðèñóåòñÿ â îáðàòíîì íàïðàâëåíèè.

    131
    stdcall [buf2d_rect_by_size], buf_0, 10,10,150,100, 0x8080
    142
    stdcall [buf2d_rect_by_size], buf_0, 10,10,150,100, 0x8080
    132

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ïðÿìîóãîëüíèê; 10, 10 - êîîðäèíàòû ëåâîãî âåðõíåãî óãëà (ïðè îòðèöàòåëüíûõ ðàçìåðàõ êîîðäèíàòà ïðàâîãî íèæíåãî); 150, 100 - ðàçìåð ïðÿìîóãîëüíèêà; 0x8080 - öâåò ëèíèè.

    143

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ïðÿìîóãîëüíèê; 10, 10 - êîîðäèíàòû ëåâîãî âåðõíåãî óãëà (ïðè îòðèöàòåëüíûõ ðàçìåðàõ êîîðäèíàòà ïðàâîãî íèæíåãî); 150, 100 - ðàçìåð ïðÿìîóãîëüíèêà; 0x8080 - öâåò ëèíèè.

    133
     
    144
     
    134

    buf2d_filled_rect_by_size

    145

    buf2d_filled_rect_by_size

    135

    Ðèñóåò çàêðàøåííûé ïðÿìîóãîëüíèê, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó. Åñëè ðàçìåð çàäàòü 1*1, òî áóäåò íàðèñîâàíà òî÷êà ðàçìåðîì â 1 ïèêñåëü, ò.å. ðàçìåð ïðÿìîóãîëüíèêà â ïèêñåëÿõ áóäåò ðàâåí óêàçàííîìó. Åñëè ðàçìåðû îòðèöàòåëüíûå ïðÿìîóãîëüíèê ðèñóåòñÿ â îáðàòíîì íàïðàâëåíèè.

    146

    Ðèñóåò çàêðàøåííûé ïðÿìîóãîëüíèê, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó. Åñëè ðàçìåð çàäàòü 1*1, òî áóäåò íàðèñîâàíà òî÷êà ðàçìåðîì â 1 ïèêñåëü, ò.å. ðàçìåð ïðÿìîóãîëüíèêà â ïèêñåëÿõ áóäåò ðàâåí óêàçàííîìó. Åñëè ðàçìåðû îòðèöàòåëüíûå ïðÿìîóãîëüíèê ðèñóåòñÿ â îáðàòíîì íàïðàâëåíèè.

    136
    stdcall [buf2d_rect_by_size], buf_0, 10,10,150,100, 0x8080
    147
    stdcall [buf2d_rect_by_size], buf_0, 10,10,150,100, 0x8080
    137

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ïðÿìîóãîëüíèê; 10, 10 - êîîðäèíàòû ëåâîãî âåðõíåãî óãëà (ïðè îòðèöàòåëüíûõ ðàçìåðàõ êîîðäèíàòà ïðàâîãî íèæíåãî); 150, 100 - ðàçìåð ïðÿìîóãîëüíèêà; 0x8080 - öâåò ïðÿìîóãîëèêà.

    148

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ïðÿìîóãîëüíèê; 10, 10 - êîîðäèíàòû ëåâîãî âåðõíåãî óãëà (ïðè îòðèöàòåëüíûõ ðàçìåðàõ êîîðäèíàòà ïðàâîãî íèæíåãî); 150, 100 - ðàçìåð ïðÿìîóãîëüíèêà; 0x8080 - öâåò ïðÿìîóãîëèêà.

    138
     
    149
     
    139

    buf2d_circle

    150

    buf2d_circle

    140

    Ðèñóåò â áóôåðå îêðóæíîñòü ñ çàäàííûì öâåòîì è ðàäèóñîì. Ïðèìåð:

    151

    Ðèñóåò â áóôåðå îêðóæíîñòü ñ çàäàííûì öâåòîì è ðàäèóñîì. Ïðèìåð:

    141
    stdcall [buf2d_circle], buf_0, 25, 70, 15, 0xff0000
    152
    stdcall [buf2d_circle], buf_0, 25, 70, 15, 0xff0000
    142

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ îêðóæíîñòü; 25, 70 - êîîðäèíàòû öåíòðà; 15 - ðàäèóñ; 0xff0000 - öâåò.

    153

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ îêðóæíîñòü; 25, 70 - êîîðäèíàòû öåíòðà; 15 - ðàäèóñ; 0xff0000 - öâåò.

    143
     
    154
     
    144

    buf2d_img_hdiv2

    155

    buf2d_img_hdiv2

    145

    Ñæèìàåò èçîáðàæåíèå â áóôåðå ïî âûñîòå â 2 ðàçà, ïðè ýòîì ðàçìåð ñàìîãî áóôåðà íå óìåíüøàåòñÿ.

    156

    Ñæèìàåò èçîáðàæåíèå â áóôåðå ïî âûñîòå â 2 ðàçà, ïðè ýòîì ðàçìåð ñàìîãî áóôåðà íå óìåíüøàåòñÿ.

    146
     
    157
     
    147

    buf2d_img_wdiv2

    158

    buf2d_img_wdiv2

    148

    Ñæèìàåò èçîáðàæåíèå â áóôåðå ïî øèðèíå â 2 ðàçà, ïðè ýòîì ðàçìåð ñàìîãî áóôåðà íå óìåíüøàåòñÿ.

    159

    Ñæèìàåò èçîáðàæåíèå â áóôåðå ïî øèðèíå â 2 ðàçà, ïðè ýòîì ðàçìåð ñàìîãî áóôåðà íå óìåíüøàåòñÿ.

    149
     
    160
     
    150

    buf2d_conv_24_to_8

    161

    buf2d_conv_24_to_8

    151

    Ïðåîáðàçîâàíèå áóôåðà èç 24-áèòíîãî â 8-áèòíûé.

    162

    Ïðåîáðàçîâàíèå áóôåðà èç 24-áèòíîãî â 8-áèòíûé.

    152
     Ïðè ïðåîáðàçîâàíèè óêàçûâàåòñÿ êàêîé öâåò áåðàòü: 0-ñèíèé, 1-çåëåíûé, 2-êðàñíûé.
    163
     Ïðè ïðåîáðàçîâàíèè óêàçûâàåòñÿ êàêîé öâåò áåðàòü: 0-ñèíèé, 1-çåëåíûé, 2-êðàñíûé.
    153
     Îñòàëüíûå öâåòà ïðè ïðåîáðàçîâàíèè òåðÿþòñÿ.

    164
     Îñòàëüíûå öâåòà ïðè ïðåîáðàçîâàíèè òåðÿþòñÿ.

    154
     
    165
     
    155

    buf2d_conv_24_to_32

    166

    buf2d_conv_24_to_32

    156

    Ïðåîáðàçîâàíèå áóôåðà èç 24-áèòíîãî â 32-áèòíûé.

    167

    Ïðåîáðàçîâàíèå áóôåðà èç 24-áèòíîãî â 32-áèòíûé.

    157
     Ïðè ïðåîáðàçîâàíèè óêàçûâàåòñÿ òàêæå 8-áèòíûé áóôåð, êîòîðûé áóäåò èñïîëüçîâàí äëÿ ñîçäàíèÿ àëüôà êàíàëà. Ïðèìåð:

    168
     Ïðè ïðåîáðàçîâàíèè óêàçûâàåòñÿ òàêæå 8-áèòíûé áóôåð, êîòîðûé áóäåò èñïîëüçîâàí äëÿ ñîçäàíèÿ àëüôà êàíàëà. Ïðèìåð:

    158
    stdcall [buf2d_conv_24_to_32],buf_a,buf_b ;äåëàåì áóôåð rgba 32áèò
    169
    stdcall [buf2d_conv_24_to_32],buf_a,buf_b ;äåëàåì áóôåð rgba 32áèò
    159

    Äî âûïîëíåíèÿ ôóíêöèè áóôåð buf_a äîëæåí áûòü 24 áèòíûì, à áóôåð buf_b - 8 áèòíûì.

    170

    Äî âûïîëíåíèÿ ôóíêöèè áóôåð buf_a äîëæåí áûòü 24 áèòíûì, à áóôåð buf_b - 8 áèòíûì.

    160
     Ïîñëå âûïîëíåíèÿ ôóíêöèè áóôåð buf_a ñòàíåò 32 áèòíûì, áóôåð buf_b íå èçìåíèòñÿ.

    171
     Ïîñëå âûïîëíåíèÿ ôóíêöèè áóôåð buf_a ñòàíåò 32 áèòíûì, áóôåð buf_b íå èçìåíèòñÿ.

    161
     
    172
     
    162

    buf2d_bit_blt

    173

    buf2d_bit_blt

    163

    Ðèñóåò â áóôåðå èçîáðàæåíèå èç äðóãîãî áóôåðà â óêàçàííûõ êîîðäèíàòàõ. Áóôåð â êîòîðîì ðèñóò (ïðèåìíèê) äîëæåí áûòü 24 áèòíûì, à òîò êîòîðûé ðèñóåòñÿ (èñòî÷íèê) 24 èëè 32 áèòíûì. Åñëè áóôåð èñòî÷íèê 32 áèòíûé, òî åãî ïðîçðà÷íîñòü ïðè ðèñîâàíèè íå ó÷èòûâàåòñÿ, äëÿ ó÷åòà ïðîçðà÷íîñòè èñïîëüçóåòñÿ ôóíêöèÿ buf2d_bit_blt_transp. Ïðèìåð:

    174

    Ðèñóåò â áóôåðå èçîáðàæåíèå èç äðóãîãî áóôåðà â óêàçàííûõ êîîðäèíàòàõ. Áóôåð â êîòîðîì ðèñóò (ïðèåìíèê) äîëæåí áûòü 24 áèòíûì, à òîò êîòîðûé ðèñóåòñÿ (èñòî÷íèê) 24 èëè 32 áèòíûì. Åñëè áóôåð èñòî÷íèê 32 áèòíûé, òî åãî ïðîçðà÷íîñòü ïðè ðèñîâàíèè íå ó÷èòûâàåòñÿ, äëÿ ó÷åòà ïðîçðà÷íîñòè èñïîëüçóåòñÿ ôóíêöèÿ buf2d_bit_blt_transp. Ïðèìåð:

    164
    stdcall [buf2d_bit_blt], buf_0, 50,30, buf_1 ;ïðîðèñîâêà ñðåäíåãî ñêèíà
    175
    stdcall [buf2d_bit_blt], buf_0, 50,30, buf_1 ;ïðîðèñîâêà ñðåäíåãî ñêèíà
    165

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ èçîáðàæåíèå (ïðèåìíèê);

    176

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ èçîáðàæåíèå (ïðèåìíèê);

    166
      buf_1 - ñòðóêòóðà áóôåðà ñ ðèñóåìûì èçîáðàæåíèåì (èñòî÷íèê);
    177
      buf_1 - ñòðóêòóðà áóôåðà ñ ðèñóåìûì èçîáðàæåíèåì (èñòî÷íèê);
    167
      50,30 - êîîðäèíàòû äëÿ âûâîäà èçîáðàæåíèÿ, îïðåäåëÿþò ïîëîæåíèå ðèñóåìîé êàðòèíêè â buf_0.

    178
      50,30 - êîîðäèíàòû äëÿ âûâîäà èçîáðàæåíèÿ, îïðåäåëÿþò ïîëîæåíèå ðèñóåìîé êàðòèíêè â buf_0.

    168
     
    179
     
    169

    buf2d_bit_blt_transp

    180

    buf2d_bit_blt_transp

    170

    Ðèñóåò â áóôåðå èçîáðàæåíèå èç äðóãîãî áóôåðà â óêàçàííûõ êîîðäèíàòàõ, ïðè ýòîì ó÷èòûâàåòñÿ ïðîçðà÷íîñòü.

    181

    Ðèñóåò â áóôåðå èçîáðàæåíèå èç äðóãîãî áóôåðà â óêàçàííûõ êîîðäèíàòàõ, ïðè ýòîì ó÷èòûâàåòñÿ ïðîçðà÷íîñòü.

    171
     Áóôåð êîòîðûé áóäåò íàðèñîâàí äîëæåí áûòü 32 áèòíûì, à òîò â êîòîðîì ðèñóþò 24 áèòíûì.

    182
     Áóôåð êîòîðûé áóäåò íàðèñîâàí äîëæåí áûòü 32 áèòíûì, à òîò â êîòîðîì ðèñóþò 24 áèòíûì.

    172
     
    183
     
    173

    buf2d_bit_blt_alpha

    184

    buf2d_bit_blt_alpha

    174

    Ðèñóåò â áóôåðå èçîáðàæåíèå èç äðóãîãî áóôåðà â óêàçàííûõ êîîðäèíàòàõ, ïðè ýòîì ó÷èòûâàåòñÿ ïðîçðà÷íîñòü.

    185

    Ðèñóåò â áóôåðå èçîáðàæåíèå èç äðóãîãî áóôåðà â óêàçàííûõ êîîðäèíàòàõ, ïðè ýòîì ó÷èòûâàåòñÿ ïðîçðà÷íîñòü.

    175
     Áóôåð êîòîðûé áóäåò íàðèñîâàí äîëæåí áûòü 8 áèòíûì, à òîò â êîòîðîì ðèñóþò 24 áèòíûì.

    186
     Áóôåð êîòîðûé áóäåò íàðèñîâàí äîëæåí áûòü 8 áèòíûì, à òîò â êîòîðîì ðèñóþò 24 áèòíûì.

    176
     
    187
     
    177

    buf2d_curve_bezier

    188

    buf2d_curve_bezier

    178

    Ðèñóåò ïî òðåì òî÷êàì îòðåçîê êðèâîé áåçüå.

    189

    Ðèñóåò ïî òðåì òî÷êàì îòðåçîê êðèâîé áåçüå.

    179
    stdcall [buf2d_curve_bezier], buf_0, (10 shl 16)+20,(110 shl 16)+10,(50 shl 16)+90, dword 0xff
    190
    stdcall [buf2d_curve_bezier], buf_0, (10 shl 16)+20,(110 shl 16)+10,(50 shl 16)+90, dword 0xff
    180

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ êðèâàÿ;

    191

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ êðèâàÿ;

    181
      (10 shl 16)+20,(110 shl 16)+10,(50 shl 16)+90 - êîîðäèíàòû òî÷åê (10,20), (110,10), (50,90);
    192
      (10 shl 16)+20,(110 shl 16)+10,(50 shl 16)+90 - êîîðäèíàòû òî÷åê (10,20), (110,10), (50,90);
    182
      0xff - öâåò ïðÿìîé.

    193
      0xff - öâåò ïðÿìîé.

    183
     
    194
     
    184

    buf2d_convert_text_matrix

    195

    buf2d_convert_text_matrix

    185

    Ïðåîáðàçóåò ìàòðèöó ñ òåêñòîì ðàçìåðîì 16*16 â ðàçìåð 1*256. Íåîáõîäèìî äëÿ ñîçäàíèÿ ìàòðèöû äëÿ ðèñîâàíèÿ òåêñòà. Ïåðåä èñïîëüçîâàíèåì äàííîé ôóíêöèè ïðåäïîëàãàåòñÿ ÷òî åñòü èçîáðàæåíèå ñ ïîëíûì íàáîðîì ñèìâîëîâ ðàçìåðîì 16 ñòîëáöîâ íà 16 ñòðîê, èç êîòîðîãî ïðåäâàðèòåëüíî áûë ñîçäàí 8 áèòíûé áóôåð.

    196

    Ïðåîáðàçóåò ìàòðèöó ñ òåêñòîì ðàçìåðîì 16*16 â ðàçìåð 1*256. Íåîáõîäèìî äëÿ ñîçäàíèÿ ìàòðèöû äëÿ ðèñîâàíèÿ òåêñòà. Ïåðåä èñïîëüçîâàíèåì äàííîé ôóíêöèè ïðåäïîëàãàåòñÿ ÷òî åñòü èçîáðàæåíèå ñ ïîëíûì íàáîðîì ñèìâîëîâ ðàçìåðîì 16 ñòîëáöîâ íà 16 ñòðîê, èç êîòîðîãî ïðåäâàðèòåëüíî áûë ñîçäàí 8 áèòíûé áóôåð.

    186
    stdcall [buf2d_create_f_img], buf_1,[image_data] ;ñîçäàåì áóôåð 24 áèò íà îñíîâå äàííûõ èçîáðàæåíèÿ
    197
    stdcall [buf2d_create_f_img], buf_1,[image_data] ;ñîçäàåì áóôåð 24 áèò íà îñíîâå äàííûõ èçîáðàæåíèÿ
    187
    stdcall [buf2d_conv_24_to_8], buf_1,1 ;äåëàåì áóôåð ïðîçðà÷íîñòè 8 áèò
    198
    stdcall [buf2d_conv_24_to_8], buf_1,1 ;äåëàåì áóôåð ïðîçðà÷íîñòè 8 áèò
    188
    stdcall [buf2d_convert_text_matrix], buf_1
    199
    stdcall [buf2d_convert_text_matrix], buf_1
    189

    ãäå buf_1 - ñòðóêòóðà áóôåðà äëÿ ôîðìèðîâàíèÿ òåêñòîâîé ìàòðèöû;

    200

    ãäå buf_1 - ñòðóêòóðà áóôåðà äëÿ ôîðìèðîâàíèÿ òåêñòîâîé ìàòðèöû;

    190
      image_data - äàííûå èçîáðàæåíèÿ òåêñòîâîé ìàòðèöû â ôîðìàòå rgb, ðàçìåðîì 16*16 ñèìâîëîâ.

    201
      image_data - äàííûå èçîáðàæåíèÿ òåêñòîâîé ìàòðèöû â ôîðìàòå rgb, ðàçìåðîì 16*16 ñèìâîëîâ.

    191
     
    202
     
    192

    buf2d_draw_text

    203

    buf2d_draw_text

    193

    Ðèñóåò òåêñò â áóôåðå, èñïîëüçóÿ ìàòðèöó ñ òåêñòîì ðàçìåðîì 1*256 ñèìâîëîâ. Ïðèìåð:

    204

    Ðèñóåò òåêñò â áóôåðå, èñïîëüçóÿ ìàòðèöó ñ òåêñòîì ðàçìåðîì 1*256 ñèìâîëîâ. Ïðèìåð:

    194
    stdcall [buf2d_draw_text], buf_0, buf_1,some_text,20,10,0x4040ff ;ðèñóåì ñòðîêó ñ òåêñòîì
    205
    stdcall [buf2d_draw_text], buf_0, buf_1,some_text,20,10,0x4040ff ;ðèñóåì ñòðîêó ñ òåêñòîì
    195

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ òåêñò;

    206

    ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ òåêñò;

    196
      buf_1 - ñòðóêòóðà áóôåðà ñ òåêñòîâîé ìàòðèöåé â ôîðìàòå 8 áèò, ðàçìåðîì 1*256 ñèìâîëîâ;
    207
      buf_1 - ñòðóêòóðà áóôåðà ñ òåêñòîâîé ìàòðèöåé â ôîðìàòå 8 áèò, ðàçìåðîì 1*256 ñèìâîëîâ;
    197
      some_text - òåêñò, êîòîðûé áóäåò âûâåäåí â áóôåð buf_0.

    208
      some_text - òåêñò, êîòîðûé áóäåò âûâåäåí â áóôåð buf_0.

    198
     
    209
     
    199

    buf2d_crop_color

    210

    buf2d_crop_color

    200

    Îáðåçàíèå áóôåðà, ïî óêàçàííîìó öâåòó. Ôóíêöèÿ èñïîëüçóåòñÿ äëÿ óìåíüøåíèÿ ïàìÿòè, çàíèìàåìîé áóôåðîì. Îòðåçàþòñÿ êðàéíèå ÷àñòè áóôåðà èìåþùèå îäèíàêîâûé öâåò. Ïðèìåð:

    211

    Îáðåçàíèå áóôåðà, ïî óêàçàííîìó öâåòó. Ôóíêöèÿ èñïîëüçóåòñÿ äëÿ óìåíüøåíèÿ ïàìÿòè, çàíèìàåìîé áóôåðîì. Îòðåçàþòñÿ êðàéíèå ÷àñòè áóôåðà èìåþùèå îäèíàêîâûé öâåò. Ïðèìåð:

    201
    stdcall [buf2d_crop_color], buf_0,0xffffff,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM
    212
    stdcall [buf2d_crop_color], buf_0,0xffffff,BUF2D_OPT_CROP_TOP+BUF2D_OPT_CROP_BOTTOM
    202

    ãäå buf_0 - ñòðóêòóðà áóôåðà êîòîðûé áóäåò îáðåçàí;

    213

    ãäå buf_0 - ñòðóêòóðà áóôåðà êîòîðûé áóäåò îáðåçàí;

    203
      0xffffff - öâåò ïî êîòîðîìó áóäåò îáðåçàòüñÿ áóôåð;
    214
      0xffffff - öâåò ïî êîòîðîìó áóäåò îáðåçàòüñÿ áóôåð;
    204
      BUF2D_OPT_CROP_TOP è BUF2D_OPT_CROP_BOTTOM - êîíñòàíòû, óêàçûâàþùèå ñ êàêèõ ñòîðîí îáðåçàòü áóôåð.

    215
      BUF2D_OPT_CROP_TOP è BUF2D_OPT_CROP_BOTTOM - êîíñòàíòû, óêàçûâàþùèå ñ êàêèõ ñòîðîí îáðåçàòü áóôåð.

    205
     
    216
     
    206

    buf2d_offset_h

    217

    buf2d_offset_h

    207

    Ñäâèã èçîáðàæåíèÿ â áóôåðå ïî âûñîòå ââåðõ èëè âíèç.

    218

    Ñäâèã èçîáðàæåíèÿ â áóôåðå ïî âûñîòå ââåðõ èëè âíèç.

    208
     
    219
     
    209

    buf2d_flood_fill

    220

    buf2d_flood_fill

    210

    Ôóíêöèÿ äëÿ ðåêóðñèâíîé çàëèâêè âûáðàííûì öâåòîì. Èìååòñÿ äâà âàðèàíòà çàëèâêè. Ïðèìåð:

    221

    Ôóíêöèÿ äëÿ ðåêóðñèâíîé çàëèâêè âûáðàííûì öâåòîì. Èìååòñÿ äâà âàðèàíòà çàëèâêè. Ïðèìåð:

    211
    stdcall [buf2d_flood_fill], buf_0, 100,200, 0, 0xff,0xff0000
    222
    stdcall [buf2d_flood_fill], buf_0, 100,200, 0, 0xff,0xff0000
    212

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

    223

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

    213
      100,200 - êîîðäèíàòû òî÷êè, ñ êîòîðîé íà÷íåòñÿ çàëèâêà;
    224
      100,200 - êîîðäèíàòû òî÷êè, ñ êîòîðîé íà÷íåòñÿ çàëèâêà;
    214
      0 - ïàðàìåòð, îïðåäåëÿåò àëãîðèòì çàëèâêè (ìîæåò áûòü 0 èëè 1);
    225
      0 - ïàðàìåòð, îïðåäåëÿåò àëãîðèòì çàëèâêè (ìîæåò áûòü 0 èëè 1);
    215
      0xff - öâåò çàëèâêè;

    226
      0xff - öâåò çàëèâêè;

    216
      0xff0000 - çàâèñèò îò çíà÷åíèÿ 4-ãî ïàðàìåòðà, 1) åñëè 0 - öâåò äî êîòîðîãî áóäåò çàëèâàòüñÿ îáëàñòü; 2) åñëè 1 - öâåò îáëàñòè êîòîðàÿ áóäåò çàëèâàòñÿ;

    227
      0xff0000 - çàâèñèò îò çíà÷åíèÿ 4-ãî ïàðàìåòðà, 1) åñëè 0 - öâåò äî êîòîðîãî áóäåò çàëèâàòüñÿ îáëàñòü; 2) åñëè 1 - öâåò îáëàñòè êîòîðàÿ áóäåò çàëèâàòñÿ;

    217
     
    228
     
    218

    buf2d_set_pixel

    229

    buf2d_set_pixel

    219

    Ôóíêöèÿ ñòàâèò òî÷êó, ïðèíèìàåò êîîðäèíàòû è öâåò.

    230

    Ôóíêöèÿ ñòàâèò òî÷êó, ïðèíèìàåò êîîðäèíàòû è öâåò.

    220
    stdcall [buf2d_set_pixel], buf_0, 100,150, 0xff0000
    231
    stdcall [buf2d_set_pixel], buf_0, 100,150, 0xff0000
    221

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

    232

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

    222

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

    233

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

    223

    0xff0000 - öâåò òî÷êè.

    234

    0xff0000 - öâåò òî÷êè.

    224
     
    235
     
    225

    buf2d_get_pixel

    236

    buf2d_get_pixel

    226

    Ôóíêöèÿ çàïèñûâàåò öâåò òî÷êè â ðåãèñòð eax, ïðèíèìàåò êîîðäèíàòû.

    237

    Ôóíêöèÿ çàïèñûâàåò öâåò òî÷êè â ðåãèñòð eax, ïðèíèìàåò êîîðäèíàòû.

    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 â ñëó÷àå îøèáêè.

    -
     
    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

    236

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

    274

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

    237

    BUF2D_OPT_CROP_BOTTOM equ 4

    275

    BUF2D_OPT_CROP_BOTTOM equ 4

    238

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

    276

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

    239

    BUF2D_OPT_CROP_RIGHT equ 8

    277

    BUF2D_OPT_CROP_RIGHT equ 8

    240

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

    278

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

    241
     
    279
     
    242

    Òàáëèöà ýêñïîðòà

    280

    Òàáëèöà ýêñïîðòà

    243

    Ïðèìåð òàáëèöû ýêñïîðòà, ðàñ÷èòàííîé íà èñïîëüçîâàíèå ìàêðîñà @use_library_mem:

    281

    Ïðèìåð òàáëèöû ýêñïîðòà, ðàñ÷èòàííîé íà èñïîëüçîâàíèå ìàêðîñà @use_library_mem:

    244
    align 4
    282
    align 4
    245
    import_buf2d_lib:
    283
    import_buf2d_lib:
    246
    	dd sz_lib_init
    284
    	dd sz_lib_init
    247
    	buf2d_create dd sz_buf2d_create
    285
    	buf2d_create dd sz_buf2d_create
    248
    	buf2d_create_f_img dd sz_buf2d_create_f_img
    286
    	buf2d_create_f_img dd sz_buf2d_create_f_img
    249
    	buf2d_clear dd sz_buf2d_clear
    287
    	buf2d_clear dd sz_buf2d_clear
    250
    	buf2d_draw dd sz_buf2d_draw
    288
    	buf2d_draw dd sz_buf2d_draw
    251
    	buf2d_delete dd sz_buf2d_delete
    289
    	buf2d_delete dd sz_buf2d_delete
    252
    	buf2d_resize dd sz_buf2d_resize
    290
    	buf2d_resize dd sz_buf2d_resize
    253
    	buf2d_line dd sz_buf2d_line
    291
    	buf2d_line dd sz_buf2d_line
    254
    	buf2d_line_sm dd sz_buf2d_line_sm
    292
    	buf2d_line_sm dd sz_buf2d_line_sm
    255
    	buf2d_rect_by_size dd sz_buf2d_rect_by_size
    293
    	buf2d_rect_by_size dd sz_buf2d_rect_by_size
    256
    	buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
    294
    	buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
    257
    	buf2d_circle dd sz_buf2d_circle
    295
    	buf2d_circle dd sz_buf2d_circle
    258
    	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
    296
    	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
    259
    	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
    297
    	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
    260
    	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
    298
    	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
    261
    	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
    299
    	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
    262
    	buf2d_bit_blt dd sz_buf2d_bit_blt
    300
    	buf2d_bit_blt dd sz_buf2d_bit_blt
    263
    	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
    301
    	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
    264
    	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
    302
    	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
    265
    	buf2d_curve_bezier dd sz_buf2d_curve_bezier
    303
    	buf2d_curve_bezier dd sz_buf2d_curve_bezier
    266
    	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
    304
    	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
    267
    	buf2d_draw_text dd sz_buf2d_draw_text
    305
    	buf2d_draw_text dd sz_buf2d_draw_text
    268
    	buf2d_crop_color dd sz_buf2d_crop_color
    306
    	buf2d_crop_color dd sz_buf2d_crop_color
    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
    -
     
    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
    278
    	sz_buf2d_clear db 'buf2d_clear',0
    327
    	sz_buf2d_clear db 'buf2d_clear',0
    279
    	sz_buf2d_draw db 'buf2d_draw',0
    328
    	sz_buf2d_draw db 'buf2d_draw',0
    280
    	sz_buf2d_delete db 'buf2d_delete',0
    329
    	sz_buf2d_delete db 'buf2d_delete',0
    281
    	sz_buf2d_resize db 'buf2d_resize',0
    330
    	sz_buf2d_resize db 'buf2d_resize',0
    282
    	sz_buf2d_line db 'buf2d_line',0
    331
    	sz_buf2d_line db 'buf2d_line',0
    283
    	sz_buf2d_line_sm db 'buf2d_line_sm',0
    332
    	sz_buf2d_line_sm db 'buf2d_line_sm',0
    284
    	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
    333
    	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
    285
    	sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
    334
    	sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
    286
    	sz_buf2d_circle db 'buf2d_circle',0
    335
    	sz_buf2d_circle db 'buf2d_circle',0
    287
    	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
    336
    	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
    288
    	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
    337
    	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
    289
    	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
    338
    	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
    290
    	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
    339
    	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
    291
    	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
    340
    	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
    292
    	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
    341
    	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
    293
    	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
    342
    	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
    294
    	sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
    343
    	sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
    295
    	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
    344
    	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
    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
    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.

    306

    16.07.10 - èñïðàâëåíî ïî 2 îøèáêè â ôóíêöèÿõ buf2d_img_hdiv2 è buf2d_img_wdiv2, êîòîðûå ìîãëè ïðîÿâëÿòüñÿ ïðè îïðåäåëåííûõ óñëîâèÿõ (åñëè ðàçìåð èçîáðàæåíèÿ áûë êðàòåí 4Êá è äð.). Äîáàâëåíû 2 ôóíêöèè äëÿ âûâîäà òåêñòà â áóôåð buf2d_convert_text_matrix è buf2d_draw_text.

    366

    16.07.10 - èñïðàâëåíî ïî 2 îøèáêè â ôóíêöèÿõ buf2d_img_hdiv2 è buf2d_img_wdiv2, êîòîðûå ìîãëè ïðîÿâëÿòüñÿ ïðè îïðåäåëåííûõ óñëîâèÿõ (åñëè ðàçìåð èçîáðàæåíèÿ áûë êðàòåí 4Êá è äð.). Äîáàâëåíû 2 ôóíêöèè äëÿ âûâîäà òåêñòà â áóôåð buf2d_convert_text_matrix è buf2d_draw_text.

    307

    19.07.10 - äîáàâëåíà ôóíêöèÿ ðèñîâàíèÿ îêðóæíîñòè buf2d_circle;

    367

    19.07.10 - äîáàâëåíà ôóíêöèÿ ðèñîâàíèÿ îêðóæíîñòè buf2d_circle;

    308
     èçìåíåí ôîðìàò áóôåðà - äëÿ øèðèíû è âûñîòû èñïîëüçóþòñÿ 4-õ áàéòíûå ÷èñëà âìåñòî 2-õ áàéòíûõ.

    368
     èçìåíåí ôîðìàò áóôåðà - äëÿ øèðèíû è âûñîòû èñïîëüçóþòñÿ 4-õ áàéòíûå ÷èñëà âìåñòî 2-õ áàéòíûõ.

    309

    29.07.10 - äîáàâëåíû ôóíêöèè buf2d_crop_color è buf2d_offset_h;

    369

    29.07.10 - äîáàâëåíû ôóíêöèè buf2d_crop_color è buf2d_offset_h;

    310
     èñïðàâëåíèÿ â ôóíêöèè buf2d_delete.

    370
     èñïðàâëåíèÿ â ôóíêöèè buf2d_delete.

    311

    30.09.10 - äîáàâëåíà ôóíêöèÿ buf2d_rect_by_size.

    371

    30.09.10 - äîáàâëåíà ôóíêöèÿ buf2d_rect_by_size.

    312

    04.10.10 - äîáàâëåíà ôóíêöèÿ buf2d_filled_rect_by_size, äîðàáîòàíà ôóíêöèÿ buf_bit_blt_alpha.

    372

    04.10.10 - äîáàâëåíà ôóíêöèÿ buf2d_filled_rect_by_size, äîðàáîòàíà ôóíêöèÿ buf_bit_blt_alpha.

    313

    07.10.10 - äîðàáîòàíà ôóíêöèÿ buf_bit_blt (ïðè ïîïûòêå íàðèñîâàòü èçîáðàæåíèå çà ïðåäåëàìè ïðàâîãî êðàÿ áóôåðà ïðèëîæåíèå âûçâàâøåå ôóíêöèþ ïàäàëî).

    373

    07.10.10 - äîðàáîòàíà ôóíêöèÿ buf_bit_blt (ïðè ïîïûòêå íàðèñîâàòü èçîáðàæåíèå çà ïðåäåëàìè ïðàâîãî êðàÿ áóôåðà ïðèëîæåíèå âûçâàâøåå ôóíêöèþ ïàäàëî).

    314

    11.10.10 - èñïðàâëåíî çàäàíèå öâåòîâ â íåêîòîðûõ ôóíêöèÿõ, êðàñíûé è ñèíèé öâåòà ïîìåíÿë ìåñòàìè. Òåïåðü öâåòà ñîâïàäàþò ñ ñèñåìíûìè ôóíêöèÿìè.

    374

    11.10.10 - èñïðàâëåíî çàäàíèå öâåòîâ â íåêîòîðûõ ôóíêöèÿõ, êðàñíûé è ñèíèé öâåòà ïîìåíÿë ìåñòàìè. Òåïåðü öâåòà ñîâïàäàþò ñ ñèñåìíûìè ôóíêöèÿìè.

    315

    02.11.10 - äîáàâëåíà ôóíêöèÿ buf2d_flood_fill.

    375

    02.11.10 - äîáàâëåíà ôóíêöèÿ buf2d_flood_fill.

    316

    22.12.10 - èçìåíåíî èìÿ ôóíêöèè buf2d_cruve_bezier íà buf2d_curve_bezier.

    376

    22.12.10 - èçìåíåíî èìÿ ôóíêöèè buf2d_cruve_bezier íà buf2d_curve_bezier.

    317

    25.03.11 - äîáàâëåíà ôóíêöèÿ äëÿ ðèñîâàíèÿ òî÷êè buf2d_set_pixel.

    377

    25.03.11 - äîáàâëåíà ôóíêöèÿ äëÿ ðèñîâàíèÿ òî÷êè buf2d_set_pixel.

    318

    30.08.11 - äîáàâëåíà ôóíêöèÿ èçìåíåíèÿ ðàçìåðîâ áóôåðà buf2d_resize.

    378

    30.08.11 - äîáàâëåíà ôóíêöèÿ èçìåíåíèÿ ðàçìåðîâ áóôåðà buf2d_resize.

    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