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;