diff options
| author | Gerd Moellmann | 2000-03-04 16:00:03 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-03-04 16:00:03 +0000 |
| commit | 43bd1b2bfe1b14ab5f2bed007d09049021aa55c5 (patch) | |
| tree | 5faa941512df4d31cc5fa988296a97396a36e422 /src | |
| parent | 276104706d05b309a1ef829a5f1d78214560bcd5 (diff) | |
| download | emacs-43bd1b2bfe1b14ab5f2bed007d09049021aa55c5.tar.gz emacs-43bd1b2bfe1b14ab5f2bed007d09049021aa55c5.zip | |
(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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/xterm.c b/src/xterm.c index 1ed9c9db617..82e3cc308dd 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -3351,7 +3351,7 @@ x_setup_relief_color (f, relief, factor, delta, default_pixel) | |||
| 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 | ||
| @@ -12990,6 +12990,7 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 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); |
| @@ -13016,6 +13017,21 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 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); |