diff --git a/gdk/x11/gdkglcontext-egl.c b/gdk/x11/gdkglcontext-egl.c index cad79305bb..4bb1f89d06 100644 --- a/gdk/x11/gdkglcontext-egl.c +++ b/gdk/x11/gdkglcontext-egl.c @@ -19,7 +19,6 @@ #include "gdkx11glcontext.h" #include "gdkx11screen.h" #include "gdkx11surface.h" -#include "gdkvisual-x11.h" #include "gdkx11property.h" #include diff --git a/gdk/x11/gdkglcontext-glx.c b/gdk/x11/gdkglcontext-glx.c index 04af52483f..0df7c40ba8 100644 --- a/gdk/x11/gdkglcontext-glx.c +++ b/gdk/x11/gdkglcontext-glx.c @@ -19,7 +19,6 @@ #include "gdkx11glcontext.h" #include "gdkx11screen.h" #include "gdkx11surface.h" -#include "gdkvisual-x11.h" #include "gdkx11property.h" #include diff --git a/gdk/x11/gdkglcontext-x11.c b/gdk/x11/gdkglcontext-x11.c index b493c34e29..7d618c5b7c 100644 --- a/gdk/x11/gdkglcontext-x11.c +++ b/gdk/x11/gdkglcontext-x11.c @@ -29,7 +29,6 @@ #include "gdkx11glcontext.h" #include "gdkx11screen.h" #include "gdkx11surface.h" -#include "gdkvisual-x11.h" #include "gdkx11property.h" #include diff --git a/gdk/x11/gdkglcontext-x11.h b/gdk/x11/gdkglcontext-x11.h index e9a349613c..7dbd4d9ba5 100644 --- a/gdk/x11/gdkglcontext-x11.h +++ b/gdk/x11/gdkglcontext-x11.h @@ -35,7 +35,6 @@ #include "gdkglcontextprivate.h" #include "gdkdisplay-x11.h" -#include "gdkvisual-x11.h" #include "gdksurface.h" #include "gdkinternals.h" diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index d06ecfb05c..e84645bf17 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -91,9 +91,6 @@ gdk_x11_screen_dispose (GObject *object) _gdk_x11_xsettings_finish (x11_screen); - for (i = 0; i < x11_screen->nvisuals; i++) - g_object_run_dispose (G_OBJECT (x11_screen->visuals[i])); - G_OBJECT_CLASS (gdk_x11_screen_parent_class)->dispose (object); x11_screen->xdisplay = NULL; @@ -106,12 +103,6 @@ static void gdk_x11_screen_finalize (GObject *object) { GdkX11Screen *x11_screen = GDK_X11_SCREEN (object); - int i; - - /* Visual Part */ - for (i = 0; i < x11_screen->nvisuals; i++) - g_object_unref (x11_screen->visuals[i]); - g_free (x11_screen->visuals); g_free (x11_screen->window_manager_name); @@ -897,8 +888,6 @@ _gdk_x11_screen_new (GdkDisplay *display, init_randr_support (x11_screen); init_multihead (x11_screen); - _gdk_x11_screen_init_visuals (x11_screen); - return x11_screen; } diff --git a/gdk/x11/gdkscreen-x11.h b/gdk/x11/gdkscreen-x11.h index 03cbee6678..2d9c8ae677 100644 --- a/gdk/x11/gdkscreen-x11.h +++ b/gdk/x11/gdkscreen-x11.h @@ -23,7 +23,6 @@ #define __GDK_X11_SCREEN__ #include "gdkx11screen.h" -#include "gdkvisual-x11.h" #include #include @@ -71,15 +70,6 @@ struct _GdkX11Screen guint xft_antialias : 1; guint xft_hinting : 1; - /* Visual Part */ - int nvisuals; - GdkX11Visual **visuals; - int available_depths[7]; - GdkVisualType available_types[6]; - gint16 navailable_depths; - gint16 navailable_types; - GdkX11Visual *rgba_visual; - /* cache for window->translate vfunc */ GC subwindow_gcs[32]; }; @@ -118,8 +108,6 @@ _gdk_x11_screen_get_xft_setting (GdkX11Screen *screen, const char *name, GValue *value); -void _gdk_x11_screen_init_visuals (GdkX11Screen *screen); - G_END_DECLS #endif /* __GDK_X11_SCREEN__ */ diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c index 5dc3e001b4..9a3446c4e8 100644 --- a/gdk/x11/gdksurface-x11.c +++ b/gdk/x11/gdksurface-x11.c @@ -31,7 +31,6 @@ #include "gdkpopupprivate.h" #include "gdktoplevelprivate.h" #include "gdkdragsurfaceprivate.h" -#include "gdkvisual-x11.h" #include "gdkinternals.h" #include "gdkdeviceprivate.h" #include "gdkdevice-xi2-private.h" diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c deleted file mode 100644 index d8dba33c2d..0000000000 --- a/gdk/x11/gdkvisual-x11.c +++ /dev/null @@ -1,247 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include "gdkprivate-x11.h" -#include "gdkscreen-x11.h" -#include "gdkvisual-x11.h" -#include "gdkglcontext-x11.h" - -#include -#include - -struct _GdkX11VisualClass -{ - GObjectClass parent_class; -}; - -G_DEFINE_TYPE (GdkX11Visual, gdk_x11_visual, G_TYPE_OBJECT) - -static void -gdk_x11_visual_init (GdkX11Visual *x11_visual) -{ -} - -static void -gdk_x11_visual_class_init (GdkX11VisualClass *class) -{ -} - -void -_gdk_x11_screen_init_visuals (GdkX11Screen *x11_screen) -{ - static const int possible_depths[8] = { 32, 30, 24, 16, 15, 8, 4, 1 }; - static const GdkVisualType possible_types[6] = - { - GDK_VISUAL_DIRECT_COLOR, - GDK_VISUAL_TRUE_COLOR, - GDK_VISUAL_PSEUDO_COLOR, - GDK_VISUAL_STATIC_COLOR, - GDK_VISUAL_GRAYSCALE, - GDK_VISUAL_STATIC_GRAY - }; - - XVisualInfo *visual_list; - XVisualInfo visual_template; - GdkX11Visual **visuals; - int nxvisuals; - int nvisuals; - int i, j; - - nxvisuals = 0; - visual_template.screen = x11_screen->screen_num; - visual_list = XGetVisualInfo (x11_screen->xdisplay, VisualScreenMask, &visual_template, &nxvisuals); - - visuals = g_new (GdkX11Visual *, nxvisuals); - for (i = 0; i < nxvisuals; i++) - visuals[i] = g_object_new (GDK_TYPE_X11_VISUAL, NULL); - - nvisuals = 0; - for (i = 0; i < nxvisuals; i++) - { - if (visual_list[i].depth >= 1) - { -#ifdef __cplusplus - switch (visual_list[i].c_class) -#else /* __cplusplus */ - switch (visual_list[i].class) -#endif /* __cplusplus */ - { - case StaticGray: - visuals[nvisuals]->type = GDK_VISUAL_STATIC_GRAY; - break; - case GrayScale: - visuals[nvisuals]->type = GDK_VISUAL_GRAYSCALE; - break; - case StaticColor: - visuals[nvisuals]->type = GDK_VISUAL_STATIC_COLOR; - break; - case PseudoColor: - visuals[nvisuals]->type = GDK_VISUAL_PSEUDO_COLOR; - break; - case TrueColor: - visuals[nvisuals]->type = GDK_VISUAL_TRUE_COLOR; - break; - case DirectColor: - visuals[nvisuals]->type = GDK_VISUAL_DIRECT_COLOR; - break; - default: - g_warn_if_reached (); - break; - } - - visuals[nvisuals]->depth = visual_list[i].depth; - visuals[nvisuals]->byte_order = - (ImageByteOrder(x11_screen->xdisplay) == LSBFirst) ? - GDK_LSB_FIRST : GDK_MSB_FIRST; - visuals[nvisuals]->red_mask = visual_list[i].red_mask; - visuals[nvisuals]->green_mask = visual_list[i].green_mask; - visuals[nvisuals]->blue_mask = visual_list[i].blue_mask; - visuals[nvisuals]->colormap_size = visual_list[i].colormap_size; - visuals[nvisuals]->bits_per_rgb = visual_list[i].bits_per_rgb; - GDK_X11_VISUAL (visuals[nvisuals])->xvisual = visual_list[i].visual; - - if ((visuals[nvisuals]->type != GDK_VISUAL_TRUE_COLOR) && - (visuals[nvisuals]->type != GDK_VISUAL_DIRECT_COLOR)) - { - visuals[nvisuals]->red_mask = 0; - visuals[nvisuals]->green_mask = 0; - visuals[nvisuals]->blue_mask = 0; - } - - nvisuals += 1; - } - } - - if (visual_list) - XFree (visual_list); - - for (i = 0; i < nvisuals; i++) - { - /* For now, we only support 8888 ARGB for the "rgba visual". - * Additional formats (like ABGR) could be added later if they - * turn up. - */ - if (x11_screen->rgba_visual == NULL && - visuals[i]->depth == 32 && - (visuals[i]->red_mask == 0xff0000 && - visuals[i]->green_mask == 0x00ff00 && - visuals[i]->blue_mask == 0x0000ff)) - { - x11_screen->rgba_visual = visuals[i]; - } - } - -#ifdef G_ENABLE_DEBUG - if (GDK_DISPLAY_DEBUG_CHECK (GDK_SCREEN_DISPLAY (x11_screen), MISC)) - { - static const char *const visual_names[] = - { - "static gray", - "grayscale", - "static color", - "pseudo color", - "true color", - "direct color", - }; - - for (i = 0; i < nvisuals; i++) - g_message ("visual: %s: %d", visual_names[visuals[i]->type], visuals[i]->depth); - } -#endif /* G_ENABLE_DEBUG */ - - x11_screen->navailable_depths = 0; - for (i = 0; i < G_N_ELEMENTS (possible_depths); i++) - { - for (j = 0; j < nvisuals; j++) - { - if (visuals[j]->depth == possible_depths[i]) - { - x11_screen->available_depths[x11_screen->navailable_depths++] = visuals[j]->depth; - break; - } - } - } - - if (x11_screen->navailable_depths == 0) - g_error ("unable to find a usable depth"); - - x11_screen->navailable_types = 0; - for (i = 0; i < G_N_ELEMENTS (possible_types); i++) - { - for (j = 0; j < nvisuals; j++) - { - if (visuals[j]->type == possible_types[i]) - { - x11_screen->available_types[x11_screen->navailable_types++] = visuals[j]->type; - break; - } - } - } - - if (x11_screen->navailable_types == 0) - g_error ("unable to find a usable visual type"); - - x11_screen->visuals = visuals; - x11_screen->nvisuals = nvisuals; -} - -/*< private > - * gdk_x11_screen_lookup_visual: - * @screen: a `GdkX11Screen` - * @xvisualid: an X Visual ID. - * - * Looks up the `GdkVisual` for a particular screen and X Visual ID. - * - * Returns: (transfer none) (nullable) (type GdkX11Visual): the `GdkVisual` - */ -GdkX11Visual * -gdk_x11_screen_lookup_visual (GdkX11Screen *x11_screen, - VisualID xvisualid) -{ - int i; - - for (i = 0; i < x11_screen->nvisuals; i++) - if (xvisualid == GDK_X11_VISUAL (x11_screen->visuals[i])->xvisual->visualid) - return x11_screen->visuals[i]; - - return NULL; -} - -/*< private > - * gdk_x11_visual_get_xvisual: - * @visual: a `GdkX11Visual` - * - * Returns the X visual belonging to a `GdkX11Visual`. - * - * Returns: (transfer none): an Xlib Visual*. - **/ -Visual * -gdk_x11_visual_get_xvisual (GdkX11Visual *visual) -{ - g_return_val_if_fail (GDK_IS_X11_VISUAL (visual), NULL); - - return GDK_X11_VISUAL (visual)->xvisual; -} diff --git a/gdk/x11/gdkvisual-x11.h b/gdk/x11/gdkvisual-x11.h deleted file mode 100644 index 7b1acb4e0c..0000000000 --- a/gdk/x11/gdkvisual-x11.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library. If not, see . - */ - -#ifndef __GDK_X11_VISUAL__ -#define __GDK_X11_VISUAL__ - -G_BEGIN_DECLS - -#include -#include - -#include -#include - -G_BEGIN_DECLS - -#define GDK_TYPE_X11_VISUAL (gdk_x11_visual_get_type ()) -#define GDK_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_VISUAL, GdkX11Visual)) -#define GDK_X11_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_VISUAL, GdkX11VisualClass)) -#define GDK_IS_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_VISUAL)) -#define GDK_IS_X11_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_VISUAL)) -#define GDK_X11_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_VISUAL, GdkX11VisualClass)) - -typedef struct _GdkX11Visual GdkX11Visual; -typedef struct _GdkX11VisualClass GdkX11VisualClass; - -typedef enum -{ - GDK_VISUAL_STATIC_GRAY, - GDK_VISUAL_GRAYSCALE, - GDK_VISUAL_STATIC_COLOR, - GDK_VISUAL_PSEUDO_COLOR, - GDK_VISUAL_TRUE_COLOR, - GDK_VISUAL_DIRECT_COLOR -} GdkVisualType; - -typedef enum -{ - GDK_LSB_FIRST, - GDK_MSB_FIRST -} GdkByteOrder; - -struct _GdkX11Visual -{ - GObject parent_instance; - - GdkVisualType type; - int depth; - GdkByteOrder byte_order; - int colormap_size; - int bits_per_rgb; - - guint32 red_mask; - guint32 green_mask; - guint32 blue_mask; - - Visual *xvisual; -}; - -GType gdk_x11_visual_get_type (void); - -Visual * gdk_x11_visual_get_xvisual (GdkX11Visual *visual); - -#define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual)) - -GdkX11Visual* gdk_x11_screen_lookup_visual (GdkX11Screen *screen, - VisualID xvisualid); - -G_END_DECLS - -#endif diff --git a/gdk/x11/meson.build b/gdk/x11/meson.build index 725570a1dc..58d12bb8a1 100644 --- a/gdk/x11/meson.build +++ b/gdk/x11/meson.build @@ -16,7 +16,6 @@ gdk_x11_public_sources = files([ 'gdkproperty-x11.c', 'gdkscreen-x11.c', 'gdkselection-x11.c', - 'gdkvisual-x11.c', 'gdksurface-x11.c', 'gdkxid.c', 'xsettings-client.c',