Mercurial > emacs
comparison src/xterm.c @ 27985:4ba445af210b
(x_term_init): Set Colormap member of x_display_info
structure. Copy colormap if resource `privateColormap' is
specified (PseudoColor only).
(x_setup_relief_color): Access colormap of frame using
FRAME_X_COLORMAP.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sat, 04 Mar 2000 16:00:03 +0000 |
parents | d443ad369a18 |
children | cf10555b8ce0 |
comparison
equal
deleted
inserted
replaced
27984:574e0b398168 | 27985:4ba445af210b |
---|---|
3349 XGCValues xgcv; | 3349 XGCValues xgcv; |
3350 struct x_output *di = f->output_data.x; | 3350 struct x_output *di = f->output_data.x; |
3351 unsigned long mask = GCForeground | GCLineWidth | GCGraphicsExposures; | 3351 unsigned long mask = GCForeground | GCLineWidth | GCGraphicsExposures; |
3352 unsigned long pixel; | 3352 unsigned long pixel; |
3353 unsigned long background = di->relief_background; | 3353 unsigned long background = di->relief_background; |
3354 Colormap cmap = DefaultColormapOfScreen (FRAME_X_SCREEN (f)); | 3354 Colormap cmap = FRAME_X_COLORMAP (f); |
3355 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 3355 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); |
3356 Display *dpy = FRAME_X_DISPLAY (f); | 3356 Display *dpy = FRAME_X_DISPLAY (f); |
3357 | 3357 |
3358 xgcv.graphics_exposures = False; | 3358 xgcv.graphics_exposures = False; |
3359 xgcv.line_width = 1; | 3359 xgcv.line_width = 1; |
12988 | 12988 |
12989 dpyinfo->screen = ScreenOfDisplay (dpyinfo->display, | 12989 dpyinfo->screen = ScreenOfDisplay (dpyinfo->display, |
12990 DefaultScreen (dpyinfo->display)); | 12990 DefaultScreen (dpyinfo->display)); |
12991 dpyinfo->visual = select_visual (dpyinfo->display, dpyinfo->screen, | 12991 dpyinfo->visual = select_visual (dpyinfo->display, dpyinfo->screen, |
12992 &dpyinfo->n_planes); | 12992 &dpyinfo->n_planes); |
12993 dpyinfo->cmap = DefaultColormapOfScreen (dpyinfo->screen); | |
12993 dpyinfo->height = HeightOfScreen (dpyinfo->screen); | 12994 dpyinfo->height = HeightOfScreen (dpyinfo->screen); |
12994 dpyinfo->width = WidthOfScreen (dpyinfo->screen); | 12995 dpyinfo->width = WidthOfScreen (dpyinfo->screen); |
12995 dpyinfo->root_window = RootWindowOfScreen (dpyinfo->screen); | 12996 dpyinfo->root_window = RootWindowOfScreen (dpyinfo->screen); |
12996 dpyinfo->grabbed = 0; | 12997 dpyinfo->grabbed = 0; |
12997 dpyinfo->reference_count = 0; | 12998 dpyinfo->reference_count = 0; |
13014 dpyinfo->x_focus_frame = 0; | 13015 dpyinfo->x_focus_frame = 0; |
13015 dpyinfo->x_focus_event_frame = 0; | 13016 dpyinfo->x_focus_event_frame = 0; |
13016 dpyinfo->x_highlight_frame = 0; | 13017 dpyinfo->x_highlight_frame = 0; |
13017 dpyinfo->image_cache = make_image_cache (); | 13018 dpyinfo->image_cache = make_image_cache (); |
13018 | 13019 |
13020 /* See if a private colormap is requested. */ | |
13021 if (dpyinfo->visual == DefaultVisualOfScreen (dpyinfo->screen) | |
13022 && dpyinfo->visual->class == PseudoColor) | |
13023 { | |
13024 Lisp_Object value; | |
13025 value = display_x_get_resource (dpyinfo, | |
13026 build_string ("privateColormap"), | |
13027 build_string ("PrivateColormap"), | |
13028 Qnil, Qnil); | |
13029 if (STRINGP (value) | |
13030 && (!strcmp (XSTRING (value)->data, "true") | |
13031 || !strcmp (XSTRING (value)->data, "on"))) | |
13032 dpyinfo->cmap = XCopyColormapAndFree (dpyinfo->display, dpyinfo->cmap); | |
13033 } | |
13034 | |
13019 { | 13035 { |
13020 int screen_number = XScreenNumberOfScreen (dpyinfo->screen); | 13036 int screen_number = XScreenNumberOfScreen (dpyinfo->screen); |
13021 double pixels = DisplayHeight (dpyinfo->display, screen_number); | 13037 double pixels = DisplayHeight (dpyinfo->display, screen_number); |
13022 double mm = DisplayHeightMM (dpyinfo->display, screen_number); | 13038 double mm = DisplayHeightMM (dpyinfo->display, screen_number); |
13023 dpyinfo->resy = pixels * 25.4 / mm; | 13039 dpyinfo->resy = pixels * 25.4 / mm; |