update emulator

This commit is contained in:
Shuanglei Tao
2025-07-01 19:48:45 +08:00
parent 390793928c
commit fc386dae71

View File

@@ -3,6 +3,8 @@
#include <windows.h> #include <windows.h>
#include <stdint.h> #include <stdint.h>
#include <time.h> #include <time.h>
#include <string.h>
#include <wchar.h>
#include "GUI.h" #include "GUI.h"
#define BITMAP_WIDTH 400 #define BITMAP_WIDTH 400
@@ -180,6 +182,31 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
SelectObject(hdc, oldBrush); SelectObject(hdc, oldBrush);
DeleteObject(borderPen); DeleteObject(borderPen);
// Draw help text below the bitmap
int helpTextY = drawY + BITMAP_HEIGHT * scale + 5;
SetTextColor(hdc, RGB(80, 80, 80));
SetBkMode(hdc, TRANSPARENT);
// Create a smaller font for help text
HFONT helpFont = CreateFont(
14, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE,
ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial"
);
HFONT oldFont = SelectObject(hdc, helpFont);
wchar_t helpText[] = L"快捷键: 空格 - 切换模式 | R - 切换BWR | 方向键 - 调整日期/月份";
// Calculate text width for centering
SIZE textSize;
GetTextExtentPoint32W(hdc, helpText, wcslen(helpText), &textSize);
int centeredX = drawX + (BITMAP_WIDTH - textSize.cx) / 2;
TextOutW(hdc, centeredX, helpTextY, helpText, wcslen(helpText));
SelectObject(hdc, oldFont);
DeleteObject(helpFont);
// Use the stored timestamp // Use the stored timestamp
gui_data_t data = { gui_data_t data = {
.color = g_bwr_mode ? 2 : 1, .color = g_bwr_mode ? 2 : 1,
@@ -284,7 +311,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
g_hwnd = CreateWindowA( g_hwnd = CreateWindowA(
"BitmapDemo", "BitmapDemo",
"Emurator", // Using simple title "Emurator", // Using simple title
WS_OVERLAPPEDWINDOW, WS_POPUPWINDOW | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH, WINDOW_HEIGHT,
NULL, NULL, hInstance, NULL NULL, NULL, hInstance, NULL