X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/2db38a6f98c2abb42b746064ce97417cccc27e68..89d612214e95564c06c775189f8994001e3e1c06:/src/widget.c diff --git a/src/widget.c b/src/widget.c index 0c3aa64a74..0582718948 100644 --- a/src/widget.c +++ b/src/widget.c @@ -1,6 +1,5 @@ /* The emacs frame widget. - Copyright (C) 1992, 1993, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1992-1993, 2000-2011 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -76,25 +75,23 @@ along with GNU Emacs. If not, see . */ #define DEFAULT_FACE_FONT "-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*" -static void EmacsFrameInitialize (/*Widget, Widget, ArgList, Cardinal * */); -static void EmacsFrameDestroy (/* Widget */); -static void EmacsFrameRealize (/* Widget, XtValueMask*, XSetWindowAttributes* */); -void EmacsFrameResize (/* Widget widget */); -static Boolean EmacsFrameSetValues (/* Widget, Widget, Widget, - ArgList, Cardinal * */); -static XtGeometryResult EmacsFrameQueryGeometry (/* Widget, XtWidgetGeometry*, - XtWidgetGeometry* */); +static void EmacsFrameInitialize (Widget request, Widget new, ArgList dum1, Cardinal *dum2); +static void EmacsFrameDestroy (Widget widget); +static void EmacsFrameRealize (Widget widget, XtValueMask *mask, XSetWindowAttributes *attrs); +static void EmacsFrameResize (Widget widget); +static Boolean EmacsFrameSetValues (Widget cur_widget, Widget req_widget, Widget new_widget, ArgList dum1, Cardinal *dum2); +static XtGeometryResult EmacsFrameQueryGeometry (Widget widget, XtWidgetGeometry *request, XtWidgetGeometry *result); #undef XtOffset #define XtOffset(p_type,field) \ ((Cardinal) (((char *) (&(((p_type)0)->field))) - ((char *)0))) -#define offset(field) XtOffset(EmacsFrame, emacs_frame.field) +#define offset(field) XtOffset (EmacsFrame, emacs_frame.field) static XtResource resources[] = { - {XtNgeometry, XtCGeometry, XtRString, sizeof(String), + {XtNgeometry, XtCGeometry, XtRString, sizeof (String), offset (geometry), XtRString, (XtPointer) 0}, - {XtNiconic, XtCIconic, XtRBoolean, sizeof(Boolean), + {XtNiconic, XtCIconic, XtRBoolean, sizeof (Boolean), offset (iconic), XtRImmediate, (XtPointer) False}, {XtNemacsFrame, XtCEmacsFrame, XtRPointer, sizeof (XtPointer), @@ -108,12 +105,12 @@ static XtResource resources[] = { offset (internal_border_width), XtRImmediate, (XtPointer)4}, {XtNinterline, XtCInterline, XtRInt, sizeof (int), offset (interline), XtRImmediate, (XtPointer)0}, - {XtNfont, XtCFont, XtRFontStruct, sizeof(struct font *), - offset(font),XtRString, DEFAULT_FACE_FONT}, - {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel), - offset(foreground_pixel), XtRString, "XtDefaultForeground"}, - {XtNcursorColor, XtCForeground, XtRPixel, sizeof(Pixel), - offset(cursor_color), XtRString, "XtDefaultForeground"}, + {XtNfont, XtCFont, XtRFontStruct, sizeof (struct font *), + offset (font),XtRString, DEFAULT_FACE_FONT}, + {XtNforeground, XtCForeground, XtRPixel, sizeof (Pixel), + offset (foreground_pixel), XtRString, "XtDefaultForeground"}, + {XtNcursorColor, XtCForeground, XtRPixel, sizeof (Pixel), + offset (cursor_color), XtRString, "XtDefaultForeground"}, {XtNbarCursor, XtCBarCursor, XtRBoolean, sizeof (Boolean), offset (bar_cursor), XtRImmediate, (XtPointer)0}, {XtNvisualBell, XtCVisualBell, XtRBoolean, sizeof (Boolean), @@ -140,11 +137,11 @@ emacsFrameTranslations [] = "\ "; */ -EmacsFrameClassRec emacsFrameClassRec = { +static EmacsFrameClassRec emacsFrameClassRec = { { /* core fields */ /* superclass */ &widgetClassRec, /* class_name */ "EmacsFrame", - /* widget_size */ sizeof(EmacsFrameRec), + /* widget_size */ sizeof (EmacsFrameRec), /* class_initialize */ 0, /* class_part_initialize */ 0, /* class_inited */ FALSE, @@ -154,7 +151,7 @@ EmacsFrameClassRec emacsFrameClassRec = { /* actions */ 0, /*emacsFrameActionsTable*/ /* num_actions */ 0, /*XtNumber (emacsFrameActionsTable)*/ /* resources */ resources, - /* resource_count */ XtNumber(resources), + /* resource_count */ XtNumber (resources), /* xrm_class */ NULLQUARK, /* compress_motion */ TRUE, /* compress_exposure */ TRUE, @@ -180,10 +177,7 @@ EmacsFrameClassRec emacsFrameClassRec = { WidgetClass emacsFrameClass = (WidgetClass) &emacsFrameClassRec; static void -get_default_char_pixel_size (ew, pixel_width, pixel_height) - EmacsFrame ew; - int* pixel_width; - int* pixel_height; +get_default_char_pixel_size (EmacsFrame ew, int *pixel_width, int *pixel_height) { struct frame* f = ew->emacs_frame.frame; *pixel_width = FRAME_COLUMN_WIDTH (f); @@ -191,12 +185,7 @@ get_default_char_pixel_size (ew, pixel_width, pixel_height) } static void -pixel_to_char_size (ew, pixel_width, pixel_height, char_width, char_height) - EmacsFrame ew; - Dimension pixel_width; - Dimension pixel_height; - int* char_width; - int* char_height; +pixel_to_char_size (EmacsFrame ew, Dimension pixel_width, Dimension pixel_height, int *char_width, int *char_height) { struct frame* f = ew->emacs_frame.frame; *char_width = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, (int) pixel_width); @@ -204,12 +193,7 @@ pixel_to_char_size (ew, pixel_width, pixel_height, char_width, char_height) } static void -char_to_pixel_size (ew, char_width, char_height, pixel_width, pixel_height) - EmacsFrame ew; - int char_width; - int char_height; - Dimension* pixel_width; - Dimension* pixel_height; +char_to_pixel_size (EmacsFrame ew, int char_width, int char_height, Dimension *pixel_width, Dimension *pixel_height) { struct frame* f = ew->emacs_frame.frame; *pixel_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, char_width); @@ -217,12 +201,7 @@ char_to_pixel_size (ew, char_width, char_height, pixel_width, pixel_height) } static void -round_size_to_char (ew, in_width, in_height, out_width, out_height) - EmacsFrame ew; - Dimension in_width; - Dimension in_height; - Dimension* out_width; - Dimension* out_height; +round_size_to_char (EmacsFrame ew, Dimension in_width, Dimension in_height, Dimension *out_width, Dimension *out_height) { int char_width; int char_height; @@ -231,8 +210,7 @@ round_size_to_char (ew, in_width, in_height, out_width, out_height) } static Widget -get_wm_shell (w) - Widget w; +get_wm_shell (Widget w) { Widget wmshell; @@ -246,8 +224,7 @@ get_wm_shell (w) #if 0 /* Currently not used. */ static void -mark_shell_size_user_specified (wmshell) - Widget wmshell; +mark_shell_size_user_specified (Widget wmshell) { if (! XtIsWMShell (wmshell)) abort (); /* This is kind of sleazy, but I can't see how else to tell it to make it @@ -269,8 +246,7 @@ static Boolean first_frame_p = True; #endif static void -set_frame_size (ew) - EmacsFrame ew; +set_frame_size (EmacsFrame ew) { /* The widget hierarchy is @@ -486,13 +462,8 @@ set_frame_size (ew) } } -/* Nonzero tells update_wm_hints not to do anything - (the caller should call update_wm_hints explicitly later.) */ -int update_hints_inhibit; - static void -update_wm_hints (ew) - EmacsFrame ew; +update_wm_hints (EmacsFrame ew) { Widget wmshell = get_wm_shell ((Widget)ew); int cw; @@ -505,9 +476,6 @@ update_wm_hints (ew) int base_height; int min_rows = 0, min_cols = 0; - if (update_hints_inhibit) - return; - #if 0 check_frame_size (ew->emacs_frame.frame, &min_rows, &min_cols); #endif @@ -541,20 +509,16 @@ update_wm_hints (ew) #if 0 static void -create_frame_gcs (ew) - EmacsFrame ew; +create_frame_gcs (EmacsFrame ew) { struct frame *s = ew->emacs_frame.frame; s->output_data.x->normal_gc - = XCreateGC (XtDisplay (ew), RootWindowOfScreen (XtScreen (ew)), - (unsigned long)0, (XGCValues *)0); + = XCreateGC (XtDisplay (ew), RootWindowOfScreen (XtScreen (ew)), 0, 0); s->output_data.x->reverse_gc - = XCreateGC (XtDisplay (ew), RootWindowOfScreen (XtScreen (ew)), - (unsigned long)0, (XGCValues *)0); + = XCreateGC (XtDisplay (ew), RootWindowOfScreen (XtScreen (ew)), 0, 0); s->output_data.x->cursor_gc - = XCreateGC (XtDisplay (ew), RootWindowOfScreen (XtScreen (ew)), - (unsigned long)0, (XGCValues *)0); + = XCreateGC (XtDisplay (ew), RootWindowOfScreen (XtScreen (ew)), 0, 0); s->output_data.x->black_relief.gc = 0; s->output_data.x->white_relief.gc = 0; } @@ -570,8 +534,7 @@ static char setup_frame_cursor_bits[] = }; static void -setup_frame_gcs (ew) - EmacsFrame ew; +setup_frame_gcs (EmacsFrame ew) { XGCValues gc_values; struct frame* s = ew->emacs_frame.frame; @@ -585,7 +548,7 @@ setup_frame_gcs (ew) if (STRINGP (font)) { XFontStruct *xfont = XLoadQueryFont (FRAME_X_DISPLAY_INFO (s)->display, - SDATA (font)); + SSDATA (font)); if (xfont) { gc_values.font = xfont->fid; @@ -611,11 +574,10 @@ setup_frame_gcs (ew) never actually get used as a background tile! */ blank_tile - = XCreatePixmapFromBitmapData (XtDisplay(ew), + = XCreatePixmapFromBitmapData (XtDisplay (ew), RootWindowOfScreen (XtScreen (ew)), setup_frame_cursor_bits, 2, 2, - (unsigned long)0, (unsigned long)1, - ew->core.depth); + 0, 1, ew->core.depth); /* Normal video */ gc_values.foreground = ew->emacs_frame.foreground_pixel; @@ -649,8 +611,7 @@ setup_frame_gcs (ew) } static void -update_various_frame_slots (ew) - EmacsFrame ew; +update_various_frame_slots (EmacsFrame ew) { struct frame *f = ew->emacs_frame.frame; struct x_output *x = f->output_data.x; @@ -661,8 +622,7 @@ update_various_frame_slots (ew) } static void -update_from_various_frame_slots (ew) - EmacsFrame ew; +update_from_various_frame_slots (EmacsFrame ew) { struct frame *f = ew->emacs_frame.frame; struct x_output *x = f->output_data.x; @@ -677,11 +637,7 @@ update_from_various_frame_slots (ew) } static void -EmacsFrameInitialize (request, new, dum1, dum2) - Widget request; - Widget new; - ArgList dum1; - Cardinal *dum2; +EmacsFrameInitialize (Widget request, Widget new, ArgList dum1, Cardinal *dum2) { EmacsFrame ew = (EmacsFrame)new; @@ -698,10 +654,7 @@ EmacsFrameInitialize (request, new, dum1, dum2) static void -EmacsFrameRealize (widget, mask, attrs) - Widget widget; - XtValueMask *mask; - XSetWindowAttributes *attrs; +EmacsFrameRealize (Widget widget, XtValueMask *mask, XSetWindowAttributes *attrs) { EmacsFrame ew = (EmacsFrame)widget; @@ -717,11 +670,10 @@ EmacsFrameRealize (widget, mask, attrs) update_wm_hints (ew); } -extern void free_frame_faces (/* struct frame * */); +extern void free_frame_faces (struct frame *); static void -EmacsFrameDestroy (widget) - Widget widget; +EmacsFrameDestroy (Widget widget) { EmacsFrame ew = (EmacsFrame) widget; struct frame* s = ew->emacs_frame.frame; @@ -738,9 +690,8 @@ EmacsFrameDestroy (widget) UNBLOCK_INPUT; } -void -EmacsFrameResize (widget) - Widget widget; +static void +EmacsFrameResize (Widget widget) { EmacsFrame ew = (EmacsFrame)widget; struct frame *f = ew->emacs_frame.frame; @@ -756,12 +707,7 @@ EmacsFrameResize (widget) } static Boolean -EmacsFrameSetValues (cur_widget, req_widget, new_widget, dum1, dum2) - Widget cur_widget; - Widget req_widget; - Widget new_widget; - ArgList dum1; - Cardinal *dum2; +EmacsFrameSetValues (Widget cur_widget, Widget req_widget, Widget new_widget, ArgList dum1, Cardinal *dum2) { EmacsFrame cur = (EmacsFrame)cur_widget; EmacsFrame new = (EmacsFrame)new_widget; @@ -834,10 +780,7 @@ EmacsFrameSetValues (cur_widget, req_widget, new_widget, dum1, dum2) } static XtGeometryResult -EmacsFrameQueryGeometry (widget, request, result) - Widget widget; - XtWidgetGeometry* request; - XtWidgetGeometry* result; +EmacsFrameQueryGeometry (Widget widget, XtWidgetGeometry *request, XtWidgetGeometry *result) { EmacsFrame ew = (EmacsFrame)widget; @@ -867,10 +810,7 @@ EmacsFrameQueryGeometry (widget, request, result) /* Special entrypoints */ void -EmacsFrameSetCharSize (widget, columns, rows) - Widget widget; - int columns; - int rows; +EmacsFrameSetCharSize (Widget widget, int columns, int rows) { EmacsFrame ew = (EmacsFrame) widget; struct frame *f = ew->emacs_frame.frame; @@ -880,14 +820,10 @@ EmacsFrameSetCharSize (widget, columns, rows) void -widget_store_internal_border (widget) - Widget widget; +widget_store_internal_border (Widget widget) { EmacsFrame ew = (EmacsFrame) widget; FRAME_PTR f = ew->emacs_frame.frame; ew->emacs_frame.internal_border_width = f->internal_border_width; } - -/* arch-tag: 931d28e5-0d59-405a-8325-7d475d0a13d9 - (do not change this comment) */