11 dword *PixelData = NULL;
12 register dword oy, cx, cy, p, P;
15 TempRgn =
TAP_Osd_Create_Chk(
"TAP_Osd_PutFreeColorGd", 0, 0, gd->width, gd->height, 0, OSD_Flag_MemRgn);
21 if(!ret) PixelData = (dword *)
TAP_Osd_SaveBox_Chk(
"TAP_Osd_PutFreeColorGd A", TempRgn, 0, 0, gd->width, gd->height);
25 TAP_Osd_Delete(TempRgn);
28 return(ret ? ret : -1);
31 FR = (FilterColor >> 16) & 0xff;
32 FG = (FilterColor >> 8) & 0xff;
33 FB = FilterColor & 0xff;
36 for(oy = 0, cy = 0; cy < gd->height; cy++)
38 for(cx = 0; cx < gd->width; cx++)
48 B = (P & 0xff) - 255 + FB;
if(B < 0) B = 0;
if(B > 255) B = 255;
50 G = (P & 0xff) - 255 + FG;
if(
G < 0)
G = 0;
if(
G > 255)
G = 255;
52 R = (P & 0xff) - 255 + FR;
if(R < 0) R = 0;
if(R > 255) R = 255;
54 PixelData[p] = ARGB(P, R,
G, B);
62 TAP_Osd_Copy_Chk(
"TAP_Osd_PutFreeColorGd B", TempRgn, rgn, 0, 0, gd->width, gd->height, x, y, TRUE);
63 TAP_MemFree(PixelData);
64 TAP_Osd_Delete(TempRgn);
int TAP_Osd_Copy_Chk(char *Comment, word srcRgnNum, word dstRgnNum, dword srcX, dword srcY, dword w, dword h, dword dstX, dword dstY, bool sprite)
int TAP_Osd_Create_Chk(char *Comment, dword x, dword y, dword w, dword h, byte lutIdx, int flag)
int TAP_Osd_PutFreeColorGd(word rgn, int x, int y, TYPE_GrData *gd, bool sprite, dword FilterColor)
int TAP_Osd_PutGd_Chk(char *Comment, word rgn, int x, int y, TYPE_GrData *gd, bool sprite)
void TAP_Osd_RestoreBox_Chk(char *Comment, word rgn, dword x, dword y, dword w, dword h, void *data)
byte * TAP_Osd_SaveBox_Chk(char *Comment, word rgn, dword x, dword y, dword w, dword h)