/* * 86Box A hypervisor and IBM PC system emulator that specializes in * running old operating systems and software designed for IBM * PC systems and compatibles from 1981 through fairly recent * system designs based on the PCI bus. * * This file is part of the 86Box distribution. * * The Emulator's Windows core. * * NOTE This should be named 'plat.h' and then include any * Windows-specific header files needed, to keep them * out of the main code. * * Version: @(#)win.h 1.0.3 2017/10/06 * * Authors: Sarah Walker, * Miran Grca, * Copyright 2008-2017 Sarah Walker. * Copyright 2016-2017 Miran Grca. */ #ifndef BOX_WIN_H # define BOX_WIN_H # ifndef NO_UNICODE # define UNICODE # endif # define BITMAP WINDOWS_BITMAP # if 0 # ifdef _WIN32_WINNT # undef _WIN32_WINNT # define _WIN32_WINNT 0x0501 # endif # endif # include # include "resource.h" # undef BITMAP /* Class names and such. */ #define CLASS_NAME L"86BoxMainWnd" #define MENU_NAME L"MainMenu" #define ACCEL_NAME L"MainAccel" #define SUB_CLASS_NAME L"86BoxSubWnd" #define SB_CLASS_NAME L"86BoxStatusBar" #define SB_MENU_NAME L"StatusBarMenu" #define RENDER_NAME L"RenderWindow" /* Application-specific window messages. */ #define WM_RESETD3D WM_USER #define WM_LEAVEFULLSCREEN WM_USER+1 #define WM_SAVESETTINGS 0x8888 extern HINSTANCE hinstance; extern HWND hwndMain; extern HICON hIcon[512]; extern int status_is_open; extern int mousecapture; extern char openfilestring[260]; extern WCHAR wopenfilestring[260]; extern int pause; #ifdef __cplusplus extern "C" { #endif extern void leave_fullscreen(void); #ifdef EMU_DEVICE_H extern void deviceconfig_open(HWND hwnd, device_t *device); #endif extern void joystickconfig_open(HWND hwnd, int joy_nr, int type); extern int getfile(HWND hwnd, char *f, char *fn); extern int getsfile(HWND hwnd, char *f, char *fn); extern void get_executable_name(wchar_t *s, int size); extern void set_window_title(wchar_t *s); extern void startblit(void); extern void endblit(void); extern void win_settings_open(HWND hwnd); extern void hard_disk_add_open(HWND hwnd, int is_existing); extern int hard_disk_was_added(void); extern void get_registry_key_map(void); extern void process_raw_input(LPARAM lParam, int infocus); extern void cdrom_init_host_drives(void); extern void cdrom_close(uint8_t id); extern HICON LoadIconEx(PCTSTR pszIconName); extern BOOL DirectoryExists(LPCTSTR szPath); /* About dialog definitions. */ extern void AboutDialogCreate(HWND hwnd); /* Status Window definitions. */ extern HWND hwndStatus; extern void StatusWindowCreate(HWND hwnd); /* Status Bar definitions. */ #define SB_ICON_WIDTH 24 #define SB_FLOPPY 0x00 #define SB_CDROM 0x10 #define SB_RDISK 0x20 #define SB_HDD 0x40 #define SB_NETWORK 0x50 #define SB_TEXT 0x60 extern HWND hwndSBAR; extern void StatusBarCreate(HWND hwndParent, int idStatus, HINSTANCE hInst); extern int fdd_type_to_icon(int type); extern int StatusBarFindPart(int tag); extern void StatusBarUpdatePanes(void); extern void StatusBarUpdateTip(int meaning); extern void StatusBarUpdateIcon(int tag, int val); extern void StatusBarUpdateIconState(int tag, int active); extern void StatusBarCheckMenuItem(int tag, int id, int chk); extern void StatusBarEnableMenuItem(int tag, int id, int val); extern void StatusBarSetTextW(wchar_t *wstr); extern void StatusBarSetText(char *str); #ifdef __cplusplus } #endif #endif /*BOX_WIN_H*/