]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkpreview.c
Improve wording. String change! (#355128, David Lodge)
[~andy/gtk] / gtk / gtkpreview.c
index 62f9a3e6bd4ba74b7ef1df420ec3b1da43a291d9..736c1bca12bf66be6bc2402e5ad229bab527b27e 100644 (file)
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  */
 
-#include "config.h"
+#undef GDK_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+
+#include <config.h>
 
 #include <math.h>
 #include <string.h>
@@ -35,7 +38,9 @@
 #include "gdk/gdkrgb.h"
 #include "gtkpreview.h"
 #include "gtksignal.h"
+#include "gtkprivate.h"
 #include "gtkintl.h"
+#include "gtkalias.h"
 
 
 #define PREVIEW_CLASS(w)      GTK_PREVIEW_CLASS (GTK_OBJECT (w)->klass)
@@ -46,8 +51,6 @@ enum {
 };
 
 
-static void   gtk_preview_class_init    (GtkPreviewClass  *klass);
-static void   gtk_preview_init          (GtkPreview       *preview);
 static void   gtk_preview_set_property  (GObject          *object,
                                         guint             prop_id,
                                         const GValue     *value,
@@ -65,47 +68,20 @@ static gint   gtk_preview_expose        (GtkWidget        *widget,
 static void   gtk_preview_make_buffer   (GtkPreview       *preview);
 static void   gtk_fill_lookup_array     (guchar           *array);
 
-static GtkWidgetClass *parent_class = NULL;
 static GtkPreviewClass *preview_class = NULL;
 static gint install_cmap = FALSE;
 
 
-GtkType
-gtk_preview_get_type (void)
-{
-  static GtkType preview_type = 0;
-
-  if (!preview_type)
-    {
-      static const GtkTypeInfo preview_info =
-      {
-        "GtkPreview",
-        sizeof (GtkPreview),
-        sizeof (GtkPreviewClass),
-        (GtkClassInitFunc) gtk_preview_class_init,
-        (GtkObjectInitFunc) gtk_preview_init,
-       /* reserved_1 */ NULL,
-        /* reserved_2 */ NULL,
-        (GtkClassInitFunc) NULL,
-      };
-
-      preview_type = gtk_type_unique (GTK_TYPE_WIDGET, &preview_info);
-    }
-
-  return preview_type;
-}
+G_DEFINE_TYPE (GtkPreview, gtk_preview, GTK_TYPE_WIDGET)
 
 static void
 gtk_preview_class_init (GtkPreviewClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-  GtkObjectClass *object_class;
   GtkWidgetClass *widget_class;
 
-  object_class = (GtkObjectClass*) klass;
   widget_class = (GtkWidgetClass*) klass;
 
-  parent_class = gtk_type_class (GTK_TYPE_WIDGET);
   preview_class = klass;
 
   gobject_class->finalize = gtk_preview_finalize;
@@ -117,24 +93,19 @@ gtk_preview_class_init (GtkPreviewClass *klass)
   widget_class->size_allocate = gtk_preview_size_allocate;
   widget_class->expose_event = gtk_preview_expose;
 
-  klass->info.visual = NULL;
-  klass->info.cmap = NULL;
-
   klass->info.lookup = NULL;
 
   klass->info.gamma = 1.0;
 
   gdk_rgb_init ();
-  klass->info.cmap = gdk_rgb_get_cmap ();
-  klass->info.visual = gdk_rgb_get_visual ();
 
   g_object_class_install_property (gobject_class,
                                    PROP_EXPAND,
                                    g_param_spec_boolean ("expand",
-                                                        _("Expand"),
-                                                        _("Whether the preview widget should take up the entire space it is allocated"),
+                                                        P_("Expand"),
+                                                        P_("Whether the preview widget should take up the entire space it is allocated"),
                                                         FALSE,
-                                                        G_PARAM_READWRITE));
+                                                        GTK_PARAM_READWRITE));
 }
 
 static void
@@ -246,7 +217,6 @@ gtk_preview_put (GtkPreview   *preview,
                 gint          width,
                 gint          height)
 {
-  GtkWidget *widget;
   GdkRectangle r1, r2, r3;
   guchar *src;
   guint bpp;
@@ -258,8 +228,6 @@ gtk_preview_put (GtkPreview   *preview,
   if (!preview->buffer)
     return;
 
-  widget = GTK_WIDGET (preview);
-
   r1.x = 0;
   r1.y = 0;
   r1.width = preview->buffer_width;
@@ -313,7 +281,6 @@ gtk_preview_draw_row (GtkPreview *preview,
 
   g_return_if_fail (GTK_IS_PREVIEW (preview));
   g_return_if_fail (data != NULL);
-  g_return_if_fail (preview_class->info.visual != NULL);
   
   bpp = (preview->type == GTK_PREVIEW_COLOR ? 3 : 1);
   rowstride = (preview->buffer_width * bpp + 3) & -4;
@@ -422,19 +389,13 @@ gtk_preview_set_dither (GtkPreview      *preview,
 GdkVisual*
 gtk_preview_get_visual (void)
 {
-  if (!preview_class)
-    preview_class = gtk_type_class (gtk_preview_get_type ());
-
-  return preview_class->info.visual;
+  return gdk_screen_get_rgb_visual (gdk_screen_get_default ());
 }
 
 GdkColormap*
 gtk_preview_get_cmap (void)
 {
-  if (!preview_class)
-    preview_class = gtk_type_class (gtk_preview_get_type ());
-
-  return preview_class->info.cmap;
+  return gdk_screen_get_rgb_colormap (gdk_screen_get_default ());
 }
 
 GtkPreviewInfo*
@@ -459,7 +420,7 @@ gtk_preview_finalize (GObject *object)
     g_free (preview->buffer);
   preview->type = (GtkPreviewType) -1;
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gtk_preview_parent_class)->finalize (object);
 }
 
 static void
@@ -491,10 +452,8 @@ gtk_preview_realize (GtkWidget *widget)
   attributes.y = widget->allocation.y + (widget->allocation.height - attributes.height) / 2;;
 
   attributes.wclass = GDK_INPUT_OUTPUT;
-  attributes.visual = preview_class->info.visual;
-  attributes.colormap = preview_class->info.cmap;
   attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
-  attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+  attributes_mask = GDK_WA_X | GDK_WA_Y;
 
   widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask);
   gdk_window_set_user_data (widget->window, widget);
@@ -621,3 +580,6 @@ gtk_fill_lookup_array (guchar *array)
       array[i] = val;
     }
 }
+
+#define __GTK_PREVIEW_C__
+#include "gtkaliasdef.c"