X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/d2ddb05002375d191b3fe5cfc5978873748debe5..7014398e612e9aef2c14ac1b1db515a7efb3d98c:/src/w32term.h diff --git a/src/w32term.h b/src/w32term.h index 3e7f3a3a6a..f796e597be 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -1,13 +1,13 @@ /* Definitions and headers for communication on the Microsoft W32 API. Copyright (C) 1995, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,9 +15,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GNU Emacs. If not, see . */ /* Added by Kevin Gallo */ @@ -27,22 +25,12 @@ Boston, MA 02110-1301, USA. */ #define BLACK_PIX_DEFAULT(f) PALETTERGB(0,0,0) #define WHITE_PIX_DEFAULT(f) PALETTERGB(255,255,255) -#define FONT_WIDTH(f) \ - ((f)->bdf ? (f)->bdf->width : (f)->tm.tmAveCharWidth) -#define FONT_HEIGHT(f) \ - ((f)->bdf ? (f)->bdf->height : (f)->tm.tmHeight) -#define FONT_BASE(f) \ - ((f)->bdf ? (f)->bdf->ury : (f)->tm.tmAscent) -#define FONT_DESCENT(f) \ - ((f)->bdf ? -((f)->bdf->lly) : (f)->tm.tmDescent) -#define FONT_MAX_WIDTH(f) \ - ((f)->bdf ? (f)->bdf->width : (f)->tm.tmMaxCharWidth) +#define FONT_WIDTH(f) ((f)->max_width) +#define FONT_HEIGHT(f) ((f)->height) +#define FONT_BASE(f) ((f)->ascent) +#define FONT_DESCENT(f) ((f)->descent) #define CP_DEFAULT 1004 -/* Special pseudo-codepages. */ -#define CP_8BIT -1 -#define CP_UNICODE -2 -#define CP_UNKNOWN -3 #define CHECK_W32_FRAME(f, frame) \ if (NILP (frame)) \ @@ -152,12 +140,6 @@ struct w32_display_info received; value is reset after key is received. */ int faked_key; - /* A table of all the fonts we have already loaded. */ - struct font_info *font_table; - - /* The current capacity of font_table. */ - int font_table_size; - /* Minimum width over all characters in all fonts in font_table. */ int smallest_char_width; @@ -233,9 +215,6 @@ struct w32_display_info frame. It differs from w32_focus_frame when we're using a global minibuffer. */ struct frame *x_highlight_frame; - - /* Cache of images. */ - struct image_cache *image_cache; }; /* This is a chain of structures for all the displays currently in use. */ @@ -259,11 +238,6 @@ Lisp_Object display_x_get_resource P_ ((struct w32_display_info *, extern struct w32_display_info *w32_term_init (); -extern Lisp_Object w32_list_fonts P_ ((struct frame *, Lisp_Object, int, int)); -extern struct font_info *w32_get_font_info (), *w32_query_font (); -extern void w32_cache_char_metrics (XFontStruct *font); -extern void w32_find_ccl_program(); - #define PIX_TYPE COLORREF /* Each W32 frame object points to its own struct w32_display object @@ -325,7 +299,7 @@ struct w32_output Window parent_desc; /* Default ASCII font of this frame. */ - XFontStruct *font; + struct font *font; /* The baseline offset of the default ASCII font. */ int baseline_offset; @@ -358,13 +332,12 @@ struct w32_output Cursor hourglass_cursor; Cursor horizontal_drag_cursor; - /* Window whose cursor is hourglass_cursor. This window is - temporarily mapped to display an hourglass cursor. */ - Window hourglass_window; - /* Non-zero means hourglass cursor is currently displayed. */ unsigned hourglass_p : 1; + /* Non-hourglass cursor that is currently active. */ + Cursor current_cursor; + /* Flag to set when the window needs to be completely repainted. */ int needs_exposure; @@ -421,9 +394,6 @@ extern struct w32_output w32term_display; /* This is the `Display *' which frame F is on. */ #define FRAME_X_DISPLAY(f) (0) -/* This is the 'font_info *' which frame F has. */ -#define FRAME_W32_FONT_TABLE(f) (FRAME_W32_DISPLAY_INFO (f)->font_table) - /* Value is the smallest width of any character in any font on frame F. */ #define FRAME_SMALLEST_CHAR_WIDTH(F) \ @@ -433,11 +403,6 @@ extern struct w32_output w32term_display; #define FRAME_SMALLEST_FONT_HEIGHT(F) \ FRAME_W32_DISPLAY_INFO(F)->smallest_font_height - -/* Return a pointer to the image cache of frame F. */ - -#define FRAME_X_IMAGE_CACHE(F) FRAME_W32_DISPLAY_INFO ((F))->image_cache - /* W32-specific scroll bar stuff. */ @@ -598,9 +563,6 @@ do { \ #define w32_clear_area(f,hdc,px,py,nx,ny) \ w32_fill_area (f, hdc, FRAME_BACKGROUND_PIXEL (f), px, py, nx, ny) -extern struct font_info *w32_load_font (); -extern void w32_unload_font (); - /* Define for earlier versions of Visual C */ #ifndef WM_MOUSEWHEEL #define WM_MOUSEWHEEL (WM_MOUSELAST + 1) @@ -612,6 +574,19 @@ extern void w32_unload_font (); #define WM_XBUTTONDOWN (WM_MOUSEWHEEL + 1) #define WM_XBUTTONUP (WM_MOUSEWHEEL + 2) #endif /* WM_XBUTTONDOWN */ +#ifndef WM_MOUSEHWHEEL +#define WM_MOUSEHWHEEL (WM_MOUSEWHEEL + 4) +#endif /* WM_MOUSEHWHEEL */ +#ifndef WM_APPCOMMAND +#define WM_APPCOMMAND 0x319 +#define GET_APPCOMMAND_LPARAM(lParam) (HIWORD(lParam) & 0x7fff) +#endif +#ifndef WM_UNICHAR +#define WM_UNICHAR 0x109 +#endif +#ifndef UNICODE_NOCHAR +#define UNICODE_NOCHAR 0xFFFF +#endif #define WM_EMACS_START (WM_USER + 1) #define WM_EMACS_KILL (WM_EMACS_START + 0) @@ -745,20 +720,10 @@ struct face; XGCValues *XCreateGC (void *, Window, unsigned long, XGCValues *); struct frame * check_x_frame (Lisp_Object); -Lisp_Object vga_stdcolor_name (int); EXFUN (Fx_display_color_p, 1); EXFUN (Fx_display_grayscale_p, 1); -#define FONT_TYPE_FOR_UNIBYTE(font, ch) \ - ((font)->bdf ? BDF_1D_FONT : ANSI_FONT) - -#define FONT_TYPE_FOR_MULTIBYTE(font, ch) \ - (!(font)->bdf \ - ? UNICODE_FONT \ - : ((CHARSET_DIMENSION (CHAR_CHARSET ((ch))) == 1) \ - ? BDF_1D_FONT : BDF_2D_FONT)) - typedef DWORD (WINAPI * ClipboardSequence_Proc) (); typedef BOOL (WINAPI * AppendMenuW_Proc) ( IN HMENU,