X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/01fcc3a532872b29784a4d888ab9cc1aef0eed01..806bda47ddb469f6206ecc533458eadae6a5b575:/src/w32term.h diff --git a/src/w32term.h b/src/w32term.h index 7154d549f2..9c27c09d03 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -71,6 +71,8 @@ struct w32_palette_entry { }; extern void w32_regenerate_palette (struct frame *f); +extern void w32_fullscreen_rect (HWND hwnd, int fsmode, RECT normal, + RECT *rect); /* For each display (currently only one on w32), we have a structure that @@ -203,7 +205,6 @@ extern void x_focus_on_frame (struct frame *f); extern struct w32_display_info *w32_term_init (Lisp_Object, char *, char *); -extern void check_w32 (void); extern int w32_defined_color (FRAME_PTR f, const char *color, XColor *color_def, int alloc); extern void x_set_window_size (struct frame *f, int change_grav, @@ -359,6 +360,12 @@ struct w32_output /* The background for which the above relief GCs were set up. They are changed only when a different background is involved. */ unsigned long relief_background; + + /* Frame geometry and full-screen mode before it was resized by + specifying the 'fullscreen' frame parameter. Used to restore the + geometry when 'fullscreen' is reset to nil. */ + WINDOWPLACEMENT normal_placement; + int prev_fsmode; }; extern struct w32_output w32term_display; @@ -390,6 +397,10 @@ extern struct w32_output w32term_display; #define FRAME_SMALLEST_FONT_HEIGHT(F) \ FRAME_W32_DISPLAY_INFO(F)->smallest_font_height + +#define FRAME_NORMAL_PLACEMENT(F) ((F)->output_data.w32->normal_placement) +#define FRAME_PREV_FSMODE(F) ((F)->output_data.w32->prev_fsmode) + /* W32-specific scroll bar stuff. */ @@ -727,7 +738,6 @@ struct image; struct face; XGCValues *XCreateGC (void *, Window, unsigned long, XGCValues *); -struct frame * check_x_frame (Lisp_Object); typedef DWORD (WINAPI * ClipboardSequence_Proc) (void); typedef BOOL (WINAPI * AppendMenuW_Proc) ( @@ -761,6 +771,23 @@ extern const char* w32_name_of_message (UINT msg); #endif /* EMACSDEBUG */ +#ifdef NTGUI_UNICODE +extern Lisp_Object ntgui_encode_system (Lisp_Object str); +#define GUISTR(x) (L ## x) +#define GUI_ENCODE_FILE GUI_ENCODE_SYSTEM +#define GUI_ENCODE_SYSTEM(x) ntgui_encode_system (x) +#define GUI_FN(fn) fn ## W +typedef wchar_t guichar_t; +#else /* !NTGUI_UNICODE */ +#define GUISTR(x) x +#define GUI_ENCODE_FILE ENCODE_FILE +#define GUI_ENCODE_SYSTEM ENCODE_SYSTEM +#define GUI_FN(fn) fn +typedef char guichar_t; +#endif /* NTGUI_UNICODE */ + +#define GUI_SDATA(x) ((guichar_t*) SDATA (x)) + extern void syms_of_w32term (void); extern void syms_of_w32menu (void); extern void syms_of_w32fns (void);