[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Display Portions of an Image
- From: Eric Andreychek <eric openthought net>
- To: gtk-perl-list gnome org
- Subject: Re: Display Portions of an Image
- Date: Mon, 28 Jul 2003 16:56:20 -0400
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Howdy,
> if the GtkImage you are using is set to use a GdkPixbuf for internal
> storage, you should be able to ask the GtkImage for the pixbuf it uses,
> and draw onto that. then you have to figure out how to get the widget
> to redraw itself (used to be gtk_widget_queue_draw, but i'm not sure
I'm almost there! Using Gavin's explanation of copy_area, and Scott's
suggestion of writing on the images existing pixbuf, it does work. Sort of.
I'm using this code:
if ( exists $self->{icon} ) {
$self->{icon}->set_from_pixbuf($image_to_display);
}
else {
$self->{icon} = Gtk2::Image->new_from_pixbuf($display_image);
$self->{widget}->add($self->{icon}); # Widget is a button
}
$self->{widget}->queue_draw;
I've found that the image, using the above code, will not redraw itself. That
was incredibly frustrating, until I decided to output some debug information to
try and figure out the problem. As soon as I did so, it worked fine.
That is, if I simply add to the bottom of the above code:
print "Something is fishy";
The image happily redraws itself.
Does anyone have any suggestions on a better way to get this thing to redraw,
without needing to output anything? FWIW, outputting text only fixes the
problem when I output to STDOUT. Using warn to print to STDERR will not fix
it, the image doesn't get redrawn in that case.
Any thoughts would be great, thanks!
-Eric
- --
Eric Andreychek | Lucy: "What happens if you practice the
Eric Conspiracy Secret Labs | piano for 20 years and then end up not
eric openthought net | being rich and famous?"
http://openthought.net | Schroeder: "The joy is in the playing."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE/JY3zR5UKaDAjAG4RAlJdAKCxfBbtzo3/452wOtDLxVRwKqRExQCffgrN
MT7Y2W7D8S3Ri+9D9z9dTQI=
=nqXn
-----END PGP SIGNATURE-----
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]