5void ShowMessageWindow(
char **content, dword pos_x, dword pos_y,
byte fntSize,
byte align, dword bdcolor, dword titlecolor, dword msgcolor, dword bgcolor, dword delay)
9 dword extra_x, h_y, w = 0, h = 0, w1, i, j, extra, rahmen, y;
13 if(content[0] == NULL && content[1] == NULL) content[0] =
"";
15 if(fntSize > FNT_Size_1926) fntSize = FNT_Size_1926;
17 if(fntSize == FNT_Size_1419)
22 else if(fntSize == FNT_Size_1622)
37 w = TAP_Osd_GetW(content[0], 0, fntSize) + extra_x;
41 for(i = 1; (pos_y >= 576 ? 0 : pos_y) + h + h_y < 576 && content[i] != NULL; i++)
43 w1 = TAP_Osd_GetW(content[i], 0, fntSize) + extra_x;
48 if(w > 720 - (pos_x >= 720 ? 0 : pos_x)) w = 720 - (pos_x >= 720 ? 0 : pos_x);
50 if(pos_x >= 720) pos_x = (720 - w) / 2;
51 if(pos_y >= 576) pos_y = (576 - h) / 2;
53 extra = extra_x / (align == ALIGN_CENTER ? 4 : 2);
57 fbl_memrgn =
TAP_Osd_Create_Chk(
"ShowMessageWindow A", pos_x, pos_y, w, h, 0, OSD_Flag_MemRgn);
63 TAP_Osd_FillBox_Chk(
"ShowMessageWindow B", fbl_memrgn, rahmen, rahmen, w - rahmen * 2, h - rahmen * 2, bgcolor);
68 TAP_Osd_PutS(fbl_memrgn, extra_x / 4, y + extra_y / 2, w - extra_x / 4, content[0], titlecolor, bgcolor, 0, fntSize, (
byte) FALSE, ALIGN_CENTER);
73 for(j = 1; j < i; j++)
75 TAP_Osd_PutS(fbl_memrgn, extra, y + extra_y / 2, w - extra, content[j], msgcolor, bgcolor, 0, fntSize, (
byte) FALSE, align);
82 TAP_Osd_Delete(fbl_memrgn);
void ShowMessageWindow(char **content, dword pos_x, dword pos_y, byte fntSize, byte align, dword bdcolor, dword titlecolor, dword msgcolor, dword bgcolor, dword delay)
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_FillBox_Chk(char *Comment, word rgn, dword x, dword y, dword w, dword h, dword color)