mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-07-06 05:28:56 +00:00
instance -> g_hInstance
This commit is contained in:
parent
fa642482ed
commit
787aba9b4e
@ -42,7 +42,10 @@ DWORD cyclenum = 0; // Used by SpkrToggle() for non-wave sound
|
|||||||
DWORD emulmsec = 0;
|
DWORD emulmsec = 0;
|
||||||
static DWORD emulmsec_frac = 0;
|
static DWORD emulmsec_frac = 0;
|
||||||
bool g_bFullSpeed = false;
|
bool g_bFullSpeed = false;
|
||||||
HINSTANCE instance = (HINSTANCE)0;
|
|
||||||
|
// Win32
|
||||||
|
HINSTANCE g_hInstance = (HINSTANCE)0;
|
||||||
|
|
||||||
static DWORD lastfastpaging = 0;
|
static DWORD lastfastpaging = 0;
|
||||||
static DWORD lasttrimimages = 0;
|
static DWORD lasttrimimages = 0;
|
||||||
|
|
||||||
@ -639,7 +642,7 @@ int APIENTRY WinMain (HINSTANCE passinstance, HINSTANCE, LPSTR lpCmdLine, int)
|
|||||||
// DSInit(); // Done when g_hFrameWindow is created (WM_CREATE)
|
// DSInit(); // Done when g_hFrameWindow is created (WM_CREATE)
|
||||||
|
|
||||||
// DO ONE-TIME INITIALIZATION
|
// DO ONE-TIME INITIALIZATION
|
||||||
instance = passinstance;
|
g_hInstance = passinstance;
|
||||||
GdiSetBatchLimit(512);
|
GdiSetBatchLimit(512);
|
||||||
GetProgramDirectory();
|
GetProgramDirectory();
|
||||||
RegisterExtensions();
|
RegisterExtensions();
|
||||||
|
@ -12,7 +12,9 @@ extern DWORD cumulativecycles;
|
|||||||
extern DWORD cyclenum;
|
extern DWORD cyclenum;
|
||||||
extern DWORD emulmsec;
|
extern DWORD emulmsec;
|
||||||
extern bool g_bFullSpeed;
|
extern bool g_bFullSpeed;
|
||||||
extern HINSTANCE instance;
|
|
||||||
|
// Win32
|
||||||
|
extern HINSTANCE g_hInstance;
|
||||||
|
|
||||||
extern AppMode_e g_nAppMode;
|
extern AppMode_e g_nAppMode;
|
||||||
|
|
||||||
|
@ -482,7 +482,7 @@ void DiskSelectImage (int drive, LPSTR pszFilename)
|
|||||||
ZeroMemory(&ofn,sizeof(OPENFILENAME));
|
ZeroMemory(&ofn,sizeof(OPENFILENAME));
|
||||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||||
ofn.hwndOwner = g_hFrameWindow;
|
ofn.hwndOwner = g_hFrameWindow;
|
||||||
ofn.hInstance = instance;
|
ofn.hInstance = g_hInstance;
|
||||||
ofn.lpstrFilter = TEXT("All Images\0*.apl;*.bin;*.do;*.dsk;*.iie;*.nib;*.po\0")
|
ofn.lpstrFilter = TEXT("All Images\0*.apl;*.bin;*.do;*.dsk;*.iie;*.nib;*.po\0")
|
||||||
TEXT("Disk Images (*.bin,*.do,*.dsk,*.iie,*.nib,*.po)\0*.bin;*.do;*.dsk;*.iie;*.nib;*.po\0")
|
TEXT("Disk Images (*.bin,*.do,*.dsk,*.iie,*.nib,*.po)\0*.bin;*.do;*.dsk;*.iie;*.nib;*.po\0")
|
||||||
TEXT("All Files\0*.*\0");
|
TEXT("All Files\0*.*\0");
|
||||||
|
@ -68,7 +68,7 @@ static int buttonover = -1;
|
|||||||
static int buttonx = BUTTONX;
|
static int buttonx = BUTTONX;
|
||||||
static int buttony = BUTTONY;
|
static int buttony = BUTTONY;
|
||||||
static HRGN clipregion = (HRGN)0;
|
static HRGN clipregion = (HRGN)0;
|
||||||
static HDC framedc = (HDC)0;
|
static HDC g_hFrameDC = (HDC)0;
|
||||||
static RECT framerect = {0,0,0,0};
|
static RECT framerect = {0,0,0,0};
|
||||||
HWND g_hFrameWindow = (HWND)0;
|
HWND g_hFrameWindow = (HWND)0;
|
||||||
BOOL fullscreen = 0;
|
BOOL fullscreen = 0;
|
||||||
@ -95,7 +95,7 @@ void SetUsingCursor (BOOL);
|
|||||||
//===========================================================================
|
//===========================================================================
|
||||||
void CreateGdiObjects () {
|
void CreateGdiObjects () {
|
||||||
ZeroMemory(buttonbitmap,BUTTONS*sizeof(HBITMAP));
|
ZeroMemory(buttonbitmap,BUTTONS*sizeof(HBITMAP));
|
||||||
#define LOADBUTTONBITMAP(bitmapname) LoadImage(instance,bitmapname, \
|
#define LOADBUTTONBITMAP(bitmapname) LoadImage(g_hInstance,bitmapname, \
|
||||||
IMAGE_BITMAP,0,0, \
|
IMAGE_BITMAP,0,0, \
|
||||||
LR_CREATEDIBSECTION | \
|
LR_CREATEDIBSECTION | \
|
||||||
LR_LOADMAP3DCOLORS | \
|
LR_LOADMAP3DCOLORS | \
|
||||||
@ -1005,7 +1005,7 @@ void ProcessDiskPopupMenu(HWND hwnd, POINT pt, const int iDrive)
|
|||||||
|
|
||||||
// Load the menu template containing the shortcut menu from the
|
// Load the menu template containing the shortcut menu from the
|
||||||
// application's resources.
|
// application's resources.
|
||||||
hmenu = LoadMenu(instance, MAKEINTRESOURCE(ID_MENU_DISK_POPUP));
|
hmenu = LoadMenu(g_hInstance, MAKEINTRESOURCE(ID_MENU_DISK_POPUP));
|
||||||
if (hmenu == NULL)
|
if (hmenu == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -1201,20 +1201,24 @@ void FrameCreateWindow ()
|
|||||||
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU |
|
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU |
|
||||||
WS_MINIMIZEBOX | WS_VISIBLE,
|
WS_MINIMIZEBOX | WS_VISIBLE,
|
||||||
xpos,ypos,width,height,
|
xpos,ypos,width,height,
|
||||||
HWND_DESKTOP,(HMENU)0,instance,NULL );
|
HWND_DESKTOP,
|
||||||
|
(HMENU)0,
|
||||||
|
g_hInstance,NULL );
|
||||||
|
|
||||||
|
|
||||||
InitCommonControls();
|
InitCommonControls();
|
||||||
tooltipwindow = CreateWindow(
|
tooltipwindow = CreateWindow(
|
||||||
TOOLTIPS_CLASS,NULL,TTS_ALWAYSTIP,
|
TOOLTIPS_CLASS,NULL,TTS_ALWAYSTIP,
|
||||||
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
|
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
|
||||||
g_hFrameWindow,(HMENU)0,instance,NULL );
|
g_hFrameWindow,
|
||||||
|
(HMENU)0,
|
||||||
|
g_hInstance,NULL );
|
||||||
|
|
||||||
TOOLINFO toolinfo;
|
TOOLINFO toolinfo;
|
||||||
toolinfo.cbSize = sizeof(toolinfo);
|
toolinfo.cbSize = sizeof(toolinfo);
|
||||||
toolinfo.uFlags = TTF_CENTERTIP;
|
toolinfo.uFlags = TTF_CENTERTIP;
|
||||||
toolinfo.hwnd = g_hFrameWindow;
|
toolinfo.hwnd = g_hFrameWindow;
|
||||||
toolinfo.hinst = instance;
|
toolinfo.hinst = g_hInstance;
|
||||||
toolinfo.lpszText = LPSTR_TEXTCALLBACK;
|
toolinfo.lpszText = LPSTR_TEXTCALLBACK;
|
||||||
toolinfo.rect.left = BUTTONX;
|
toolinfo.rect.left = BUTTONX;
|
||||||
toolinfo.rect.right = toolinfo.rect.left+BUTTONCX+1;
|
toolinfo.rect.right = toolinfo.rect.left+BUTTONCX+1;
|
||||||
@ -1230,11 +1234,11 @@ void FrameCreateWindow ()
|
|||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
HDC FrameGetDC () {
|
HDC FrameGetDC () {
|
||||||
if (!framedc) {
|
if (!g_hFrameDC) {
|
||||||
framedc = GetDC(g_hFrameWindow);
|
g_hFrameDC = GetDC(g_hFrameWindow);
|
||||||
SetViewportOrgEx(framedc,viewportx,viewporty,NULL);
|
SetViewportOrgEx(g_hFrameDC,viewportx,viewporty,NULL);
|
||||||
}
|
}
|
||||||
return framedc;
|
return g_hFrameDC;
|
||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
@ -1269,25 +1273,25 @@ void FrameRegisterClass () {
|
|||||||
wndclass.cbSize = sizeof(WNDCLASSEX);
|
wndclass.cbSize = sizeof(WNDCLASSEX);
|
||||||
wndclass.style = CS_OWNDC | CS_BYTEALIGNCLIENT;
|
wndclass.style = CS_OWNDC | CS_BYTEALIGNCLIENT;
|
||||||
wndclass.lpfnWndProc = FrameWndProc;
|
wndclass.lpfnWndProc = FrameWndProc;
|
||||||
wndclass.hInstance = instance;
|
wndclass.hInstance = g_hInstance;
|
||||||
wndclass.hIcon = LoadIcon(instance,TEXT("APPLEWIN_ICON"));
|
wndclass.hIcon = LoadIcon(g_hInstance,TEXT("APPLEWIN_ICON"));
|
||||||
wndclass.hCursor = LoadCursor(0,IDC_ARROW);
|
wndclass.hCursor = LoadCursor(0,IDC_ARROW);
|
||||||
wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
|
wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
|
||||||
#if ENABLE_MENU
|
#if ENABLE_MENU
|
||||||
wndclass.lpszMenuName = (LPCSTR)IDR_MENU1;
|
wndclass.lpszMenuName = (LPCSTR)IDR_MENU1;
|
||||||
#endif
|
#endif
|
||||||
wndclass.lpszClassName = TEXT("APPLE2FRAME");
|
wndclass.lpszClassName = TEXT("APPLE2FRAME");
|
||||||
wndclass.hIconSm = (HICON)LoadImage(instance,TEXT("APPLEWIN_ICON"),
|
wndclass.hIconSm = (HICON)LoadImage(g_hInstance,TEXT("APPLEWIN_ICON"),
|
||||||
IMAGE_ICON,16,16,LR_DEFAULTCOLOR);
|
IMAGE_ICON,16,16,LR_DEFAULTCOLOR);
|
||||||
RegisterClassEx(&wndclass);
|
RegisterClassEx(&wndclass);
|
||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
void FrameReleaseDC () {
|
void FrameReleaseDC () {
|
||||||
if (framedc) {
|
if (g_hFrameDC) {
|
||||||
SetViewportOrgEx(framedc,0,0,NULL);
|
SetViewportOrgEx(g_hFrameDC,0,0,NULL);
|
||||||
ReleaseDC(g_hFrameWindow,framedc);
|
ReleaseDC(g_hFrameWindow,g_hFrameDC);
|
||||||
framedc = (HDC)0;
|
g_hFrameDC = (HDC)0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
enum {NOT_ASCII=0, ASCII};
|
enum {NOT_ASCII=0, ASCII};
|
||||||
|
|
||||||
|
// Win32
|
||||||
extern HWND g_hFrameWindow;
|
extern HWND g_hFrameWindow;
|
||||||
|
|
||||||
extern BOOL fullscreen;
|
extern BOOL fullscreen;
|
||||||
|
|
||||||
void FrameCreateWindow ();
|
void FrameCreateWindow ();
|
||||||
|
@ -321,7 +321,7 @@ void HD_Select(int nDrive)
|
|||||||
ZeroMemory(&ofn,sizeof(OPENFILENAME));
|
ZeroMemory(&ofn,sizeof(OPENFILENAME));
|
||||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||||
ofn.hwndOwner = g_hFrameWindow;
|
ofn.hwndOwner = g_hFrameWindow;
|
||||||
ofn.hInstance = instance;
|
ofn.hInstance = g_hInstance;
|
||||||
ofn.lpstrFilter = TEXT("Hard Disk Images (*.hdv)\0*.hdv\0");
|
ofn.lpstrFilter = TEXT("Hard Disk Images (*.hdv)\0*.hdv\0");
|
||||||
ofn.lpstrFile = filename;
|
ofn.lpstrFile = filename;
|
||||||
ofn.nMaxFile = MAX_PATH;
|
ofn.nMaxFile = MAX_PATH;
|
||||||
|
@ -722,7 +722,7 @@ static int SaveStateSelectImage(HWND hWindow, TCHAR* pszTitle, bool bSave)
|
|||||||
|
|
||||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||||
ofn.hwndOwner = hWindow;
|
ofn.hwndOwner = hWindow;
|
||||||
ofn.hInstance = instance;
|
ofn.hInstance = g_hInstance;
|
||||||
ofn.lpstrFilter = TEXT("Save State files (*.aws)\0*.aws\0")
|
ofn.lpstrFilter = TEXT("Save State files (*.aws)\0*.aws\0")
|
||||||
TEXT("All Files\0*.*\0");
|
TEXT("All Files\0*.*\0");
|
||||||
ofn.lpstrFile = szFilename;
|
ofn.lpstrFile = szFilename;
|
||||||
@ -1185,7 +1185,7 @@ static BOOL CALLBACK TfeDlgProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpara
|
|||||||
|
|
||||||
void ui_tfe_settings_dialog(HWND hwnd)
|
void ui_tfe_settings_dialog(HWND hwnd)
|
||||||
{
|
{
|
||||||
DialogBox(instance, (LPCTSTR)IDD_TFE_SETTINGS_DIALOG, hwnd,
|
DialogBox(g_hInstance, (LPCTSTR)IDD_TFE_SETTINGS_DIALOG, hwnd,
|
||||||
TfeDlgProc);
|
TfeDlgProc);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1198,31 +1198,31 @@ void PSP_Init()
|
|||||||
|
|
||||||
PropSheetPages[PG_CONFIG].dwSize = sizeof(PROPSHEETPAGE);
|
PropSheetPages[PG_CONFIG].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
PropSheetPages[PG_CONFIG].dwFlags = PSP_DEFAULT;
|
PropSheetPages[PG_CONFIG].dwFlags = PSP_DEFAULT;
|
||||||
PropSheetPages[PG_CONFIG].hInstance = instance;
|
PropSheetPages[PG_CONFIG].hInstance = g_hInstance;
|
||||||
PropSheetPages[PG_CONFIG].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_CONFIG);
|
PropSheetPages[PG_CONFIG].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_CONFIG);
|
||||||
PropSheetPages[PG_CONFIG].pfnDlgProc = (DLGPROC)ConfigDlgProc;
|
PropSheetPages[PG_CONFIG].pfnDlgProc = (DLGPROC)ConfigDlgProc;
|
||||||
|
|
||||||
PropSheetPages[PG_INPUT].dwSize = sizeof(PROPSHEETPAGE);
|
PropSheetPages[PG_INPUT].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
PropSheetPages[PG_INPUT].dwFlags = PSP_DEFAULT;
|
PropSheetPages[PG_INPUT].dwFlags = PSP_DEFAULT;
|
||||||
PropSheetPages[PG_INPUT].hInstance = instance;
|
PropSheetPages[PG_INPUT].hInstance = g_hInstance;
|
||||||
PropSheetPages[PG_INPUT].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_INPUT);
|
PropSheetPages[PG_INPUT].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_INPUT);
|
||||||
PropSheetPages[PG_INPUT].pfnDlgProc = (DLGPROC)InputDlgProc;
|
PropSheetPages[PG_INPUT].pfnDlgProc = (DLGPROC)InputDlgProc;
|
||||||
|
|
||||||
PropSheetPages[PG_SOUND].dwSize = sizeof(PROPSHEETPAGE);
|
PropSheetPages[PG_SOUND].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
PropSheetPages[PG_SOUND].dwFlags = PSP_DEFAULT;
|
PropSheetPages[PG_SOUND].dwFlags = PSP_DEFAULT;
|
||||||
PropSheetPages[PG_SOUND].hInstance = instance;
|
PropSheetPages[PG_SOUND].hInstance = g_hInstance;
|
||||||
PropSheetPages[PG_SOUND].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_SOUND);
|
PropSheetPages[PG_SOUND].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_SOUND);
|
||||||
PropSheetPages[PG_SOUND].pfnDlgProc = (DLGPROC)SoundDlgProc;
|
PropSheetPages[PG_SOUND].pfnDlgProc = (DLGPROC)SoundDlgProc;
|
||||||
|
|
||||||
PropSheetPages[PG_SAVESTATE].dwSize = sizeof(PROPSHEETPAGE);
|
PropSheetPages[PG_SAVESTATE].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
PropSheetPages[PG_SAVESTATE].dwFlags = PSP_DEFAULT;
|
PropSheetPages[PG_SAVESTATE].dwFlags = PSP_DEFAULT;
|
||||||
PropSheetPages[PG_SAVESTATE].hInstance = instance;
|
PropSheetPages[PG_SAVESTATE].hInstance = g_hInstance;
|
||||||
PropSheetPages[PG_SAVESTATE].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_SAVESTATE);
|
PropSheetPages[PG_SAVESTATE].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_SAVESTATE);
|
||||||
PropSheetPages[PG_SAVESTATE].pfnDlgProc = (DLGPROC)SaveStateDlgProc;
|
PropSheetPages[PG_SAVESTATE].pfnDlgProc = (DLGPROC)SaveStateDlgProc;
|
||||||
|
|
||||||
PropSheetPages[PG_DISK].dwSize = sizeof(PROPSHEETPAGE);
|
PropSheetPages[PG_DISK].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
PropSheetPages[PG_DISK].dwFlags = PSP_DEFAULT;
|
PropSheetPages[PG_DISK].dwFlags = PSP_DEFAULT;
|
||||||
PropSheetPages[PG_DISK].hInstance = instance;
|
PropSheetPages[PG_DISK].hInstance = g_hInstance;
|
||||||
PropSheetPages[PG_DISK].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_DISK);
|
PropSheetPages[PG_DISK].pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_DISK);
|
||||||
PropSheetPages[PG_DISK].pfnDlgProc = (DLGPROC)DiskDlgProc;
|
PropSheetPages[PG_DISK].pfnDlgProc = (DLGPROC)DiskDlgProc;
|
||||||
|
|
||||||
|
@ -204,9 +204,6 @@ static LPBYTE g_pHiresBank0;
|
|||||||
static HBITMAP g_hLogoBitmap;
|
static HBITMAP g_hLogoBitmap;
|
||||||
static HPALETTE g_hPalette;
|
static HPALETTE g_hPalette;
|
||||||
|
|
||||||
|
|
||||||
const int APPLE_FONT_WIDTH = 14;
|
|
||||||
const int APPLE_FONT_HEIGHT = 16;
|
|
||||||
static HBITMAP g_hSourceBitmap;
|
static HBITMAP g_hSourceBitmap;
|
||||||
static LPBYTE g_pSourcePixels;
|
static LPBYTE g_pSourcePixels;
|
||||||
static LPBITMAPINFO g_pSourceHeader;
|
static LPBITMAPINFO g_pSourceHeader;
|
||||||
@ -932,33 +929,36 @@ void DrawMonoLoResSource () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
void DrawMonoTextSource (HDC dc) {
|
void DrawMonoTextSource (HDC hDstDC)
|
||||||
HDC memdc = CreateCompatibleDC(dc);
|
{
|
||||||
HBITMAP bitmap = LoadBitmap(instance,TEXT("CHARSET40"));
|
HDC hSrcDC = CreateCompatibleDC(hDstDC);
|
||||||
HBRUSH brush;
|
HBITMAP hBitmap = LoadBitmap(g_hInstance,TEXT("CHARSET40"));
|
||||||
switch (videotype)
|
HBRUSH hBrush;
|
||||||
{
|
switch (videotype)
|
||||||
case VT_MONO_AMBER: brush = CreateSolidBrush(RGB(0xFF,0x80,0x00)); break;
|
{
|
||||||
case VT_MONO_GREEN: brush = CreateSolidBrush(RGB(0x00,0xC0,0x00)); break;
|
case VT_MONO_AMBER: hBrush = CreateSolidBrush(RGB(0xFF,0x80,0x00)); break;
|
||||||
case VT_MONO_WHITE: brush = CreateSolidBrush(RGB(0xFF,0xFF,0xFF)); break;
|
case VT_MONO_GREEN: hBrush = CreateSolidBrush(RGB(0x00,0xC0,0x00)); break;
|
||||||
default : brush = CreateSolidBrush(monochrome); break;
|
case VT_MONO_WHITE: hBrush = CreateSolidBrush(RGB(0xFF,0xFF,0xFF)); break;
|
||||||
}
|
default : hBrush = CreateSolidBrush(monochrome); break;
|
||||||
SelectObject(memdc,bitmap);
|
}
|
||||||
SelectObject(dc,brush);
|
SelectObject(hSrcDC,hBitmap);
|
||||||
BitBlt(dc,SRCOFFS_40COL,0,256,512,memdc,0,0,MERGECOPY);
|
SelectObject(hDstDC,hBrush);
|
||||||
BitBlt(dc,SRCOFFS_IIPLUS,0,256,256,memdc,0,512,MERGECOPY);
|
|
||||||
StretchBlt(dc,SRCOFFS_80COL,0,128,512,memdc,0,0,256,512,MERGECOPY);
|
// TODO: Update with APPLE_FONT_Y_ values
|
||||||
SelectObject(dc,GetStockObject(NULL_BRUSH));
|
BitBlt(hDstDC,SRCOFFS_40COL,0,256,512,hSrcDC,0,0,MERGECOPY);
|
||||||
DeleteObject(brush);
|
BitBlt(hDstDC,SRCOFFS_IIPLUS,0,256,256,hSrcDC,0,512,MERGECOPY);
|
||||||
DeleteDC(memdc);
|
StretchBlt(hDstDC,SRCOFFS_80COL,0,128,512,hSrcDC,0,0,256,512,MERGECOPY);
|
||||||
DeleteObject(bitmap);
|
SelectObject(hDstDC,GetStockObject(NULL_BRUSH));
|
||||||
|
DeleteObject(hBrush);
|
||||||
|
DeleteDC(hSrcDC);
|
||||||
|
DeleteObject(hBitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
void DrawTextSource (HDC dc)
|
void DrawTextSource (HDC dc)
|
||||||
{
|
{
|
||||||
HDC memdc = CreateCompatibleDC(dc);
|
HDC memdc = CreateCompatibleDC(dc);
|
||||||
HBITMAP bitmap = LoadBitmap(instance,TEXT("CHARSET40"));
|
HBITMAP bitmap = LoadBitmap(g_hInstance,TEXT("CHARSET40"));
|
||||||
SelectObject(memdc,bitmap);
|
SelectObject(memdc,bitmap);
|
||||||
|
|
||||||
BitBlt(
|
BitBlt(
|
||||||
@ -1774,7 +1774,7 @@ void VideoInitialize () {
|
|||||||
ZeroMemory(vidlastmem,0x10000);
|
ZeroMemory(vidlastmem,0x10000);
|
||||||
|
|
||||||
// LOAD THE LOGO
|
// LOAD THE LOGO
|
||||||
g_hLogoBitmap = (HBITMAP)LoadImage(instance, MAKEINTRESOURCE(IDB_APPLEWIN), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
|
g_hLogoBitmap = (HBITMAP)LoadImage(g_hInstance, MAKEINTRESOURCE(IDB_APPLEWIN), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
|
||||||
|
|
||||||
// CREATE A BITMAPINFO STRUCTURE FOR THE FRAME BUFFER
|
// CREATE A BITMAPINFO STRUCTURE FOR THE FRAME BUFFER
|
||||||
framebufferinfo = (LPBITMAPINFO)VirtualAlloc(NULL,
|
framebufferinfo = (LPBITMAPINFO)VirtualAlloc(NULL,
|
||||||
|
@ -17,6 +17,29 @@ extern BOOL graphicsmode;
|
|||||||
extern COLORREF monochrome;
|
extern COLORREF monochrome;
|
||||||
extern DWORD videotype;
|
extern DWORD videotype;
|
||||||
|
|
||||||
|
enum AppleFont_e
|
||||||
|
{
|
||||||
|
// 40-Column mode is 2x Zoom (default)
|
||||||
|
// 80-Column mode is 1.5x Zoom (7 x 16)
|
||||||
|
// Tiny mode is 1x zoom (7x8) for debugger
|
||||||
|
APPLE_FONT_WIDTH = 14, // in pixels
|
||||||
|
APPLE_FONT_HEIGHT = 16, // in pixels
|
||||||
|
|
||||||
|
// Each cell has a reserved aligned pixel area
|
||||||
|
APPLE_FONT_CELL_WIDTH = 16,
|
||||||
|
APPLE_FONT_CELL_HEIGHT = 16,
|
||||||
|
|
||||||
|
// The bitmap contains 3 regions
|
||||||
|
// Each region is 256x256 pixels = 16x16 chars
|
||||||
|
APPLE_FONT_X_REGIONSIZE = 256, // in pixelx
|
||||||
|
APPLE_FONT_Y_REGIONSIZE = 256, // in pixels
|
||||||
|
|
||||||
|
// Starting Y offsets (pixels) for the regions
|
||||||
|
APPLE_FONT_Y_APPLE_2PLUS = 0, // ][+
|
||||||
|
APPLE_FONT_Y_APPLE_80COL = 256, // //e (inc. Mouse Text)
|
||||||
|
APPLE_FONT_Y_APPLE_40COL = 512, // ][
|
||||||
|
};
|
||||||
|
|
||||||
void CreateColorMixMap();
|
void CreateColorMixMap();
|
||||||
|
|
||||||
BOOL VideoApparentlyDirty ();
|
BOOL VideoApparentlyDirty ();
|
||||||
|
Loading…
Reference in New Issue
Block a user