Drawing Bitmaps
- From: Bernhard Herzog <herzog online de>
- To: gtk-list redhat com
- Subject: Drawing Bitmaps
- Date: 15 Jun 1999 23:19:04 +0200
Hi,
how do I draw a bitmap into a drawable with depth != 1?
gdk.h declares the function gdk_draw_bitmap which would probably do what
I want, but it's not defined anywhere (gtk 1.2.3). Is this just an
oversight, or was it a design decision to leave it out?
Implementing gdk_draw_bitmap shouldn't be difficult, at least for the
Xlib version, as it's basically gdk_draw_pixmap with XCopyPlane instead
of XCopyArea.
Looking through the gtk sources for an example, I found a place in
gtktext.c where a bitmap is drawn with this ugly sequence (line 5115ff):
gdk_gc_set_stipple (text->gc,
bitmap);
gdk_gc_set_fill (text->gc, GDK_STIPPLED);
gdk_gc_set_foreground (text->gc, >K_WIDGET (text)->style->text[GTK_STATE_NORMAL]);
gdk_gc_set_ts_origin (text->gc,
width + 1,
height - bitmap_height - 1);
gdk_draw_rectangle (text->text_area,
text->gc,
TRUE,
width + 1,
height - bitmap_height - 1 /* one pixel above the baseline. */,
bitmap_width,
bitmap_height);
gdk_gc_set_ts_origin (text->gc, 0, 0);
gdk_gc_set_fill (text->gc, GDK_SOLID);
This works, but IMO it's very ugly and convoluted. Surely there's a
better way.
Thanks
--
Bernhard Herzog | Sketch, a python based drawing program
herzog@online.de | http://www.online.de/home/sketch/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]