- for (i = 0; i <= State->MaxIndex; i++) {
- DrawText(Screen->Entries[i]->Title, (i == State->CurrentSelection), LineWidth, EntriesPosX,
- EntriesPosY + i * TEXT_LINE_HEIGHT);
- }
- if (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_HINTS)) {
- if ((Screen->Hint1 != NULL) && (StrLen(Screen->Hint1) > 0))
- DrawTextWithTransparency(Screen->Hint1, (UGAWidth - LAYOUT_TEXT_WIDTH) / 2, UGAHeight - (FONT_CELL_HEIGHT * 3));
- if ((Screen->Hint2 != NULL) && (StrLen(Screen->Hint2) > 0))
- DrawTextWithTransparency(Screen->Hint2, (UGAWidth - LAYOUT_TEXT_WIDTH) / 2, UGAHeight - (FONT_CELL_HEIGHT * 2));
- } // if
- break;
+ ComputeSubScreenWindowSize(Screen, State, &EntriesPosX, &EntriesPosY, &MenuWidth, &MenuHeight, &LineWidth);
+ DrawText(Screen->Title, FALSE, (StrLen(Screen->Title) + 2) * CharWidth, TitlePosX, EntriesPosY += TextLineHeight());
+ if (Screen->TitleImage) {
+ BltImageAlpha(Screen->TitleImage, EntriesPosX + TITLEICON_SPACING, EntriesPosY + TextLineHeight() * 2,
+ BackgroundPixel);
+ EntriesPosX += (Screen->TitleImage->Width + TITLEICON_SPACING * 2);
+ }
+ EntriesPosY += (TextLineHeight() * 2);
+ if (Screen->InfoLineCount > 0) {
+ for (i = 0; i < (INTN)Screen->InfoLineCount; i++) {
+ DrawText(Screen->InfoLines[i], FALSE, LineWidth, EntriesPosX, EntriesPosY);
+ EntriesPosY += TextLineHeight();
+ }
+ EntriesPosY += TextLineHeight(); // also add a blank line
+ }
+
+ for (i = 0; i <= State->MaxIndex; i++) {
+ DrawText(Screen->Entries[i]->Title, (i == State->CurrentSelection), LineWidth, EntriesPosX,
+ EntriesPosY + i * TextLineHeight());
+ }
+ if (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_HINTS)) {
+ if ((Screen->Hint1 != NULL) && (StrLen(Screen->Hint1) > 0))
+ DrawTextWithTransparency(Screen->Hint1, (UGAWidth - egComputeTextWidth(Screen->Hint1)) / 2,
+ UGAHeight - (egGetFontHeight() * 3));
+ if ((Screen->Hint2 != NULL) && (StrLen(Screen->Hint2) > 0))
+ DrawTextWithTransparency(Screen->Hint2, (UGAWidth - egComputeTextWidth(Screen->Hint2)) / 2,
+ UGAHeight - (egGetFontHeight() * 2));
+ } // if
+ break;