15,7 → 15,6 |
word width_buffer; |
dword file_size; |
dword buffer; |
dword buffer_size; |
word block; |
dword data; |
dword begin; |
69,15 → 68,13 |
return true; |
} |
:proc_info Form_SELF_FONTS; |
|
:dword FONT::text(word x,y;dword text1,c;byte size) |
{ |
dword len=0; |
IF(size)IF(!changeSIZE(size))return 0; |
if(size)if(!changeSIZE(size))return 0; |
GetProcessInfo(#Form_SELF_FONTS, SelfInfo); |
IF(y>Form_SELF_FONTS.cheight) return 0; |
IF(x>Form_SELF_FONTS.cwidth) return 0; |
tmp_y = y; |
//tmp_height = height; |
//tmp_y = 0; |
AX = c; |
r = AL; |
g = AH; |
86,8 → 83,7 |
b = AL; |
width_buffer = width; |
width_buffer *= strlen(text1); |
IF(!buffer_size)buffer = malloc(width_buffer*height); |
ELSE IF(buffer_size<width_buffer*height)buffer = realloc(width_buffer*height); |
buffer = malloc(width_buffer*height); |
width_buffer /= 3; |
CopyScreen(buffer,x+Form_SELF_FONTS.left+5,y+Form_SELF_FONTS.top+GetSkinHeight(),width_buffer,height); |
|
97,6 → 93,7 |
text1++; |
} |
_PutImage(x,y,width_buffer,height,buffer); |
free(buffer); |
return len; |
} |
:dword FONT::textarea(word x,y;dword text1,c;byte size) |
108,7 → 105,7 |
dword xi,yi; |
dword tmp,_; |
dword iii; |
dword ___x; |
dword ___; |
byte rw=0; |
IF(s==32)return width/4; |
IF(s==9)return width; |
116,11 → 113,17 |
iii = 0; |
tmp = 4*block*s; |
tmp +=data; |
while(yi<height) |
WHILE(yi<height) |
{ |
xi = 0; |
WHILE(xi<width) |
{ |
/*IF(x+width>Form_SELF_FONTS.cwidth) |
{ |
tmp_y+=height; |
tmp_height += height; |
tmp_x = x; |
}*/ |
IF(iii%32) _ >>= 1; |
ELSE |
{ |
130,8 → 133,8 |
IF(_&1) |
{ |
IF(xi>rw)rw=xi; |
___x = x+xi; |
IF(___x<Form_SELF_FONTS.cwidth)&&(tmp_y+yi<Form_SELF_FONTS.cheight)PixelRGB(x+xi,yi); |
//PixelRGB(x+xi-tmp_x,tmp_y+yi); |
PixelRGB(x+xi,yi); |
} |
xi++; |
iii++; |