diff options
author | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-15 18:15:18 +0000 |
---|---|---|
committer | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-15 18:15:18 +0000 |
commit | edfda78355c5528eee489fa8a7f9c73bf8e734f2 (patch) | |
tree | 78d2414d9791e1efc17ec9b35b438ae35602340a /src/w32gui.h | |
parent | 1391cd548782097e34d7856ec4f20ca90bdf2c26 (diff) |
merging Emacs.app (NeXTstep port)
Diffstat (limited to 'src/w32gui.h')
-rw-r--r-- | src/w32gui.h | 93 |
1 files changed, 35 insertions, 58 deletions
diff --git a/src/w32gui.h b/src/w32gui.h index aea3582b3e..d9f09e3313 100644 --- a/src/w32gui.h +++ b/src/w32gui.h @@ -21,66 +21,19 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #define EMACS_W32GUI_H #include <windows.h> +#include "w32bdf.h" -/* Emulate widget_value from ../lwlib/lwlib.h, modified for Windows. */ -typedef void * XtPointer; -typedef char Boolean; -enum button_type +/* Emulate XCharStruct. */ +typedef struct _XCharStruct { - BUTTON_TYPE_NONE, - BUTTON_TYPE_TOGGLE, - BUTTON_TYPE_RADIO -}; -typedef struct _widget_value -{ - /* name of widget */ - Lisp_Object lname; - char* name; - /* value (meaning depend on widget type) */ - char* value; - /* keyboard equivalent. no implications for XtTranslations */ - Lisp_Object lkey; - char* key; - /* Help string or nil if none. - GC finds this string through the frame's menu_bar_vector - or through menu_items. */ - Lisp_Object help; - /* true if enabled */ - Boolean enabled; - /* true if selected */ - Boolean selected; - /* The type of a button. */ - enum button_type button_type; - /* true if menu title */ - Boolean title; -#if 0 - /* true if was edited (maintained by get_value) */ - Boolean edited; - /* true if has changed (maintained by lw library) */ - change_type change; - /* true if this widget itself has changed, - but not counting the other widgets found in the `next' field. */ - change_type this_one_change; -#endif - /* Contents of the sub-widgets, also selected slot for checkbox */ - struct _widget_value* contents; - /* data passed to callback */ - XtPointer call_data; - /* next one in the list */ - struct _widget_value* next; -#if 0 - /* slot for the toolkit dependent part. Always initialize to NULL. */ - void* toolkit_data; - /* tell us if we should free the toolkit data slot when freeing the - widget_value itself. */ - Boolean free_toolkit_data; - - /* we resource the widget_value structures; this points to the next - one on the free list if this one has been deallocated. - */ - struct _widget_value *free_list; -#endif -} widget_value; + short rbearing; + short lbearing; + short width; + short ascent; + short descent; +} XCharStruct; + + /* Local memory management for menus. */ #define local_heap (GetProcessHeap ()) #define local_alloc(n) (HeapAlloc (local_heap, HEAP_ZERO_MEMORY, (n))) @@ -89,6 +42,30 @@ typedef struct _widget_value #define malloc_widget_value() ((widget_value *) local_alloc (sizeof (widget_value))) #define free_widget_value(wv) (local_free ((wv))) + +enum w32_char_font_type +{ + UNKNOWN_FONT = 0 /* FONT_TYPE_UNKNOWN */, + ANSI_FONT, + UNICODE_FONT, + BDF_1D_FONT, + BDF_2D_FONT +}; + +typedef struct W32FontStruct { + enum w32_char_font_type font_type; + TEXTMETRIC tm; + HFONT hfont; + bdffont *bdf; + int double_byte_p; + XCharStruct max_bounds; + XCharStruct scratch; + /* Only store info for ascii chars, if not fixed pitch. */ + XCharStruct * per_char; +} W32FontStruct; + +typedef struct W32FontStruct XFontStruct; + /* Emulate X GC's by keeping color and font info in a structure. */ typedef struct _XGCValues { |