RE: How to shape a button
- From: "Chris Wu" <Chris Wu Sanmina-SCI Com>
- To: "'Alem Dain'" <alem dain gmail com>
- Cc: gtk-app-devel-list gnome org
- Subject: RE: How to shape a button
- Date: Fri, 27 May 2005 14:26:39 +0800
Hi,
Mr. Alem Thanks for your help!
Chris.Wu
-----Original Message-----
From: Alem Dain [mailto:alem dain gmail com]
Sent: 2005年5月27日 13:51
To: Chris Wu sanmina-sci com
Cc: gtk-app-devel-list gnome org
Subject: Re: How to shape a button
Hi; I looked at your code. First thing I noticed was that it didn't
come with a circle.xpm file. I replaced it with a stock debian logo,
mostly transparent :)
Moving on, for some reason, the BtnLogo object is never receiving a
configure-event. I even tried
gtk_widget_set_events(GDK_ALL_EVENTS_MASK), but to no avail. Since
this problem isn't interesting (at the moment) I changed it to
"realize" (interface.c:31) and it worked.
On a fairly pedantic note: GtkPixmap is deprecated as of 2.0. Use
GtkImage instead.
Another minor issue was that you were trying to set the button to be
decorationless, but it's not a GtkWindow. I fixed this by passing
window1 as the user_data parameter to your callback.
So then I uncommented the bit about putting the image in the container
(make sure you don't have a GtkLabel in there already; use BtnLogo =
gtk_button_new() instead), and the final thing: you need to show the
image: gtk_widget_show(img);
Attached is the new code. Enjoy.
-Alem
On 5/26/05, Chris Wu <Chris Wu sanmina-sci com> wrote:
Have you got my code?
Any progress?
Chris.Wu
-----Original Message-----
From: Alem Dain [mailto:alem dain gmail com]
Sent: 2005年5月26日 14:34
To: Chris Wu sanmina-sci com
Subject: Re: How to shape a button
Hi, I'd like to try out your code; can you email the xpm as well?
-Alem
On 5/25/05, Chris Wu <Chris Wu sanmina-sci com> wrote:
Hi all,
I would like to make a shaped button, but when I use the
gtk_widget_shape_combine_mask(button, mask, 0, 0).
The follow item is my source code.
It can be passed build all step and no exception to run , but
still
can't shaped the button as the shape.
According your suggestion, I write a test code and send to
you.
I used the follow envionment for development.
OS : RedHat Linux 9.0
IDE: Anjuta 1.2.2
GTK+: GTK 2.0
Can you give me any suggestion, thanks !
Chris.Wu
gboolean
configure_event (GtkWidget *widget,
gpointer user_data)
{
//GtkWidget *pmap;
GdkPixmap *PixMap;
GdkBitmap *ImgLogo;
GdkColor Col={0};
PixMap=gdk_pixmap_create_from_xpm(widget->window, &ImgLogo, &Col,
"circle.xpm");
gdk_window_shape_combine_mask(GDK_WINDOW(widget->window),
ImgLogo, 100,
100);
gtk_window_set_decorated(GTK_WINDOW(widget), FALSE);
//pmap = gtk_pixmap_new( PixMap, ImgLogo );
//gtk_container_add (GTK_CONTAINER (widget), pmap);
return TRUE;
}
GtkWidget*
create_window1 (void)
{
GtkWidget *window1;
GtkWidget *BtnLogo;
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
BtnLogo = gtk_button_new_with_label("H");
g_signal_connect (G_OBJECT(BtnLogo), "configure_event",
G_CALLBACK (configure_event),
NULL);
g_signal_connect (G_OBJECT(window1),"destroy",
G_CALLBACK(gtk_main_quit),NULL);
gtk_container_add (GTK_CONTAINER (window1), BtnLogo);
return window1;
}
int main (int argc, char *argv[])
{
GtkWidget *window1;
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif
gtk_set_locale ();
gtk_init (&argc, &argv);
add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
/*
* The following code was added by Glade to create one of each
component
* (except popup menus), just so that you see something after
building
* the project. Delete any components that you don't want shown
initially.
*/
window1 = create_window1 ();
gtk_widget_show_all(window1);
gtk_main ();
return 0;
}
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
____________________________________________________________________________
_
Scanned by Sanmina-SCI eShield
____________________________________________________________________________
_
____________________________________________________________________________
_
Scanned by Sanmina-SCI eShield
____________________________________________________________________________
_
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]