summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorRob Kendrick <rjek@netsurf-browser.org>2006-08-28 20:24:45 +0000
committerRob Kendrick <rjek@netsurf-browser.org>2006-08-28 20:24:45 +0000
commit170c992d2a1e3c02169f67e40b1598873b1c7f25 (patch)
tree3ae5e2102441b408f1de9f03b3f9bb5dbb35a2d5 /gtk
parent3887fb72aeb11be306787a42144ca69deaefdb69 (diff)
downloadnetsurf-170c992d2a1e3c02169f67e40b1598873b1c7f25.tar.gz
netsurf-170c992d2a1e3c02169f67e40b1598873b1c7f25.tar.bz2
Force nsgtk caret plotting to use GDK. Move plotting to stand-alone function.
svn path=/trunk/netsurf/; revision=2897
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtk_window.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c
index e8cafa7f1..eee9d6c59 100644
--- a/gtk/gtk_window.c
+++ b/gtk/gtk_window.c
@@ -94,6 +94,7 @@ static struct gui_window *window_list = 0; /**< first entry in win list*/
static wchar_t gdkkey_to_nskey(GdkEventKey *);
static void nsgtk_window_destroy_event(GtkWidget *, gpointer);
+static void nsgtk_plot_caret(int x, int y, int h);
static gboolean nsgtk_window_expose_event(GtkWidget *, GdkEventExpose *,
gpointer);
static gboolean nsgtk_window_motion_notify_event(GtkWidget *, GdkEventMotion *,
@@ -259,6 +260,24 @@ void nsgtk_window_destroy_event(GtkWidget *widget, gpointer data)
gui_window_destroy(g);
}
+/** Plot a caret. It is assumed that the plotters have been set up. */
+void nsgtk_plot_caret(int x, int y, int h)
+{
+ GdkColor colour;
+
+ colour.red = 0;
+ colour.green = 0;
+ colour.blue = 0;
+ colour.pixel = 0;
+ gdk_color_alloc(gdk_colormap_get_system(),
+ &colour);
+ gdk_gc_set_foreground(current_gc, &colour);
+
+ gdk_draw_line(current_drawable, current_gc,
+ x, y,
+ x, y + h - 1);
+}
+
gboolean nsgtk_window_expose_event(GtkWidget *widget,
GdkEventExpose *event, gpointer data)
{
@@ -287,8 +306,7 @@ gboolean nsgtk_window_expose_event(GtkWidget *widget,
g->scale, 0xFFFFFF);
if (g->careth != 0)
- plot.line(g->caretx, g->carety,
- g->caretx, g->carety + g->careth, 1, 0, false, false);
+ nsgtk_plot_caret(g->caretx, g->carety, g->careth);
g_object_unref(current_gc);
#ifdef CAIRO_VERSION