[vte: 3/9] Drop struct _vte_draw_impl



commit 77ea73bf2ae87c35fe24b49af61d9e6b58e2c551
Author: Kristian Høgsberg <krh bitplanet net>
Date:   Wed Dec 23 10:26:59 2009 -0500

    Drop struct _vte_draw_impl

 src/Makefile.am     |    3 --
 src/vtedraw.c       |   14 +-------
 src/vtedraw.h       |   44 --------------------------
 src/vtepangocairo.c |   41 +++---------------------
 src/vtepangocairo.h |   33 -------------------
 src/vteskel.c       |   86 ---------------------------------------------------
 src/vteskel.h       |   33 -------------------
 7 files changed, 8 insertions(+), 246 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 453f8d9..f76bd27 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -66,15 +66,12 @@ libvte_la_SOURCES = \
 	vtedraw.h \
 	vteint.h \
 	vtepangocairo.c \
-	vtepangocairo.h \
 	vteregex.c \
 	vteregex.h \
 	vterowdata.c \
 	vterowdata.h \
 	vteseq.c \
 	vteseq-list.h \
-	vteskel.c \
-	vteskel.h \
 	vtestream.c \
 	vtestream.h \
 	vtestream-base.h \
diff --git a/src/vtedraw.c b/src/vtedraw.c
index 50b075c..c3dc176 100644
--- a/src/vtedraw.c
+++ b/src/vtedraw.c
@@ -28,20 +28,13 @@
 #include <gtk/gtk.h>
 #include "debug.h"
 #include "vtedraw.h"
-#include "vtepangocairo.h"
-#include "vteskel.h"
 
 GdkVisual *
 _vte_draw_get_visual (struct _vte_draw *draw)
 {
-	GdkVisual *visual = NULL;
-
 	_vte_debug_print (VTE_DEBUG_DRAW, "draw_get_visual\n");
 
-	if (draw->impl->get_visual)
-		visual = draw->impl->get_visual (draw);
-
-	return visual ? visual : gtk_widget_get_visual (draw->widget);
+	return gtk_widget_get_visual (draw->widget);
 }
 
 GdkColormap *
@@ -51,10 +44,7 @@ _vte_draw_get_colormap (struct _vte_draw *draw, gboolean maybe_use_default)
 
 	_vte_debug_print (VTE_DEBUG_DRAW, "draw_get_colormap\n");
 
-	if (draw->impl->get_colormap)
-		colormap = draw->impl->get_colormap (draw);
-	else
-		colormap = gtk_widget_get_colormap (draw->widget);
+	colormap = gtk_widget_get_colormap (draw->widget);
 
 	if (colormap == NULL && maybe_use_default) {
 		colormap = gdk_screen_get_default_colormap (gtk_widget_get_screen (draw->widget));
diff --git a/src/vtedraw.h b/src/vtedraw.h
index cfdbdef..f709413 100644
--- a/src/vtedraw.h
+++ b/src/vtedraw.h
@@ -59,48 +59,6 @@ struct _vte_draw_text_request {
 	gshort x, y, columns;
 };
 
-struct _vte_draw_impl {
-	const char *name;
-	gboolean (*check)(struct _vte_draw *draw, GtkWidget *widget);
-	void (*create)(struct _vte_draw *draw, GtkWidget *widget);
-	void (*destroy)(struct _vte_draw *draw);
-	GdkVisual* (*get_visual)(struct _vte_draw *draw);
-	GdkColormap* (*get_colormap)(struct _vte_draw *draw);
-	void (*start)(struct _vte_draw *draw);
-	void (*end)(struct _vte_draw *draw);
-	void (*set_background_solid)(struct _vte_draw *,
-				     GdkColor *color,
-				     guint16 opacity);
-	void (*set_background_image)(struct _vte_draw *,
-				     enum VteBgSourceType type,
-				     GdkPixbuf *pixbuf,
-				     const char *file,
-				     const GdkColor *color,
-				     double saturation);
-	void (*set_background_scroll)(struct _vte_draw *,
-				      gint, gint);
-	void (*clip)(struct _vte_draw *, GdkRegion *);
-	gboolean always_requires_clear;
-	void (*clear)(struct _vte_draw *, gint, gint, gint, gint);
-	void (*set_text_font)(struct _vte_draw *,
-			      const PangoFontDescription *,
-			      VteTerminalAntiAlias);
-	void (*get_text_metrics)(struct _vte_draw *, gint *, gint *, gint *);
-	int (*get_char_width)(struct _vte_draw *, vteunistr c, int columns,
-			      gboolean);
-	gboolean (*has_bold)(struct _vte_draw *);
-	void (*draw_text)(struct _vte_draw *,
-			  		  struct _vte_draw_text_request *, gsize,
-					  GdkColor *, guchar, gboolean);
-	gboolean (*has_char)(struct _vte_draw *, vteunistr, gboolean);
-	void (*draw_rectangle)(struct _vte_draw *,
-			       gint, gint, gint, gint,
-			       GdkColor *, guchar);
-	void (*fill_rectangle)(struct _vte_draw *,
-			       gint, gint, gint, gint,
-			       GdkColor *, guchar);
-};
-
 struct _vte_draw {
 	GtkWidget *widget;
 
@@ -108,8 +66,6 @@ struct _vte_draw {
 
 	gboolean requires_clear;
 
-	const struct _vte_draw_impl *impl;
-
 	/* for use by impl */
 	gpointer impl_data;
 };
diff --git a/src/vtepangocairo.c b/src/vtepangocairo.c
index 09e2dfb..3bb1610 100644
--- a/src/vtepangocairo.c
+++ b/src/vtepangocairo.c
@@ -26,7 +26,6 @@
 #include "debug.h"
 #include "vtebg.h"
 #include "vtedraw.h"
-#include "vtepangocairo.h"
 #include "vte-private.h"
 
 #include <pango/pangocairo.h>
@@ -791,6 +790,8 @@ struct _vte_pangocairo_data {
 	cairo_t *cr;
 };
 
+const char impl_name[] = "pangocairo";
+
 struct _vte_draw *
 _vte_draw_new (GtkWidget *widget)
 {
@@ -800,15 +801,11 @@ _vte_draw_new (GtkWidget *widget)
 	/* Create the structure. */
 	draw = g_slice_new0 (struct _vte_draw);
 	draw->widget = g_object_ref (widget);
-	draw->impl = &_vte_draw_pangocairo;
-	draw->requires_clear = draw->impl->always_requires_clear;
+	draw->requires_clear = FALSE;
 
 	_vte_debug_print (VTE_DEBUG_DRAW,
-			"draw_new (%s)\n", draw->impl->name);
-	_vte_debug_print (VTE_DEBUG_MISC, "Using %s.\n", draw->impl->name);
-
-	if (draw->impl->create)
-		draw->impl->create (draw, draw->widget);
+			"draw_new (%s)\n", impl_name);
+	_vte_debug_print (VTE_DEBUG_MISC, "Using %s.\n", impl_name);
 
 	data = g_slice_new0 (struct _vte_pangocairo_data);
 	draw->impl_data = data;
@@ -884,8 +881,7 @@ _vte_draw_set_background_solid(struct _vte_draw *draw,
 {
 	struct _vte_pangocairo_data *data = draw->impl_data;
 
-	draw->requires_clear =
-		draw->impl->always_requires_clear || opacity != 0xFFFF;
+	draw->requires_clear = opacity != 0xFFFF;
 
 	if (data->bg_pattern)
 		cairo_pattern_destroy (data->bg_pattern);
@@ -1234,28 +1230,3 @@ _vte_draw_fill_rectangle (struct _vte_draw *draw,
 	set_source_color_alpha (data->cr, color, alpha);
 	cairo_fill (data->cr);
 }
-
-const struct _vte_draw_impl _vte_draw_pangocairo = {
-	"pangocairo",
-	NULL, /* check */
-	NULL, /* create */
-	NULL, /* destroy */
-	NULL, /* get_visual */
-	NULL, /* get_colormap */
-	NULL, /* start */
-	NULL, /* end */
-	NULL, /* set_background_solid */
-	NULL, /* set_background_image */
-	NULL, /* set_background_scroll */
-	NULL, /* clip */
-	FALSE, /* always_requires_clear */
-	NULL, /* clear */
-	NULL, /* text_font */
-	NULL, /* text_metrics */
-	NULL, /* char_width */
-	NULL, /* has_bold */
-	NULL, /* draw_text */
-	NULL, /* draw_has_char */
-	NULL, /* draw_rectangle */
-	NULL, /* fill_rectangle */
-};



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]