[Gtk-sharp-list] Issue concerning button image

Michael Hutchinson m.j.hutchinson at gmail.com
Sun Jan 17 01:47:49 EST 2010


On Thu, Dec 31, 2009 at 6:26 AM, dkarantonis <dkarantonis at soft4real.com> wrote:
>
> Hi to all,
>
> i am using the following code in order to set a custom image on top of a Gtk
> Button widget in order to be used for a touch-screen application.
>
> Gdk.Pixbuf pixBuf = new Gdk.Pixbuf(byte[]);
> pixBuf = pixBuf.ScaleSimple(btn.WidthRequest, btn.HeightRequest,
> Gdk.InterpType.Nearest);
> btn.Image = new Image(pixBuf);
>
> the button is of 'Text and image" type, but i clear the text propery in
> order for the image to be displayed alone. The image is fetched from a
> byte[] inside my application and I would like to cover the whole button
> area, this is the reason for scaling it to the button width and height
> properties.
>
> Everything should work as expected but the result is not perfect. The image
> cannot cover the whole button area. A top-left offset is displayed instead,
> leaving part of the button control surface uncovered.
>
> Any ideas on how to set the image cover the whole button area?

I think the padding in the button is a theme-level property, i.e. not
really supposed to be touched by app writers. Despite this,  you can
override it using a gtkrc settings file for your app, or by code, e.g.
something like
http://anonsvn.mono-project.com/viewvc/trunk/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DragNotebook.cs?r1=135850&r2=136641

You might have to poke around in the gtk+ docs to find the right property.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Gtk-sharp-list mailing list