Re: Copying bitmaps into bitmaps
Edscott Wilson García <[EMAIL PROTECTED]> writes: > gc = gdk_gc_new (h->window); Try using one of the bitmaps here instead of the window, the bad match may be a GC/drawable issue rather than src/dest drawable. Havoc ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
>On Thu 17 Jan 2002 14:21, Havoc Pennington wrote: >> Edscott Wilson García <[EMAIL PROTECTED]> writes: >> > But isn't a bitmap nothing more than a pixmap of depth 1? If >> > gdk_pixmap_new(window,pix_w,pix_h,1); >> > is not the correct way to create an empty bitmap with gtk, how should it >> > be created? >> >> That is the right way. One of us is missing some detail. >> > >Its as simple as the following code, where gPIM[0] is a valid and working >GdkBitmap with width pix_w and height pix_h, and h is a gtkdialog. when are you calling this? i trust that is from an expose event handler? ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
On Thu 17 Jan 2002 14:21, Havoc Pennington wrote: > Edscott Wilson García <[EMAIL PROTECTED]> writes: > > But isn't a bitmap nothing more than a pixmap of depth 1? If > > gdk_pixmap_new(window,pix_w,pix_h,1); > > is not the correct way to create an empty bitmap with gtk, how should it > > be created? > > That is the right way. One of us is missing some detail. > Its as simple as the following code, where gPIM[0] is a valid and working GdkBitmap with width pix_w and height pix_h, and h is a gtkdialog. static GdkBitmap *gPM; static void create_higher_bitmap(){ /* This should work, but it doesn't */ GdkGC *gc; gPM=gdk_pixmap_new (h->window,pix_w,pix_h,1); if (!gPIM){fprintf(stderr,"xftree: error 3348\n");return;} gc = gdk_gc_new (h->window); gdk_draw_pixmap(gPM,gc,gPIM[0],0,0,0,0,pix_w,pix_h); gdk_gc_destroy (gc); return; } gdk_pixmap_new does not return NULL. Maybe I'm screwing up with the gc which should have special considerations for bitmap working. Maybe there's something particular with src_private->xwindow or drawable_private->xwindow: XCopyArea (drawable_private->xdisplay, src_private->xwindow, drawable_private->xwindow, gc_private->xgc, xsrc, ysrc, width, height, xdest, ydest); edscott ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
Edscott Wilson García <[EMAIL PROTECTED]> writes: > But isn't a bitmap nothing more than a pixmap of depth 1? If > gdk_pixmap_new(window,pix_w,pix_h,1); > is not the correct way to create an empty bitmap with gtk, how should it be > created? That is the right way. One of us is missing some detail. Havoc ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
On Thu 17 Jan 2002 13:38, Havoc Pennington wrote: > Edscott Wilson García <[EMAIL PROTECTED]> writes: > > After looking at a book by Barkakati, (X Window System Programming, 1991) > > he says that bitmaps should be copied into pixmaps by XCopyPlane(), not > > XCopyArea() (the latter being used by gdk_draw_pixmap()). > > That's right, but I thought you were copying between two bitmaps. > CopyArea() should work OK for that AFAIK. But isn't a bitmap nothing more than a pixmap of depth 1? If gdk_pixmap_new(window,pix_w,pix_h,1); is not the correct way to create an empty bitmap with gtk, how should it be created? edscott > > The bad match is caused by copying between two pixmaps with a > different bit depth. > > Havoc ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
>The bad match is caused by copying between two pixmaps with a >different bit depth. just to clarify havoc's point: a bitmap is a pixmap with a depth of 1. --p ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
Edscott Wilson García <[EMAIL PROTECTED]> writes: > After looking at a book by Barkakati, (X Window System Programming, 1991) he > says that bitmaps should be copied into pixmaps by XCopyPlane(), not > XCopyArea() (the latter being used by gdk_draw_pixmap()). > That's right, but I thought you were copying between two bitmaps. CopyArea() should work OK for that AFAIK. The bad match is caused by copying between two pixmaps with a different bit depth. Havoc ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
On Thu 17 Jan 2002 10:01, Havoc Pennington wrote: > Edscott Wilson García <[EMAIL PROTECTED]> writes: > > I've been trying to copy a bitmap into a bitmap with gdk_draw_pixmap(), > > without success. Is it necesary to use XCopyPlane in lieu of some > > gdk routine? > > When you say "without success," what happens? It should work fine. I get messages like: xftree: Fatal XLib internal error BadMatch (invalid parameter attributes) Request 62, Error 8 when I try to use the resulting bitmap. It croaks with only one copy from existing bitmap to a bitmap created with gdk_pixmap_new(window,pix_w,pix_h,1). After looking at a book by Barkakati, (X Window System Programming, 1991) he says that bitmaps should be copied into pixmaps by XCopyPlane(), not XCopyArea() (the latter being used by gdk_draw_pixmap()). > > > Basically all I want to do is a binary OR between the data in the 2 > > bitmaps. > > That isn't what gdk_draw_pixmap() normally does, it just copies the > bits and overwrites the ones in dest. Look at gdk_gc_set_function(), > I'm not sure it affects drawing a pixmap but I think it might. Basically what I want is a transparency mask resulting from the combination of two (or more) pixmaps with different transparency masks. Which would be a binary AND between the data. I'll look at gdk_gc_set_function(), and see what I can do with it. saludos, Edscott > > Havoc ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Re: Copying bitmaps into bitmaps
Edscott Wilson García <[EMAIL PROTECTED]> writes: > I've been trying to copy a bitmap into a bitmap with gdk_draw_pixmap(), > without success. Is it necesary to use XCopyPlane in lieu of some > gdk routine? When you say "without success," what happens? It should work fine. > Basically all I want to do is a binary OR between the data in the 2 bitmaps. > That isn't what gdk_draw_pixmap() normally does, it just copies the bits and overwrites the ones in dest. Look at gdk_gc_set_function(), I'm not sure it affects drawing a pixmap but I think it might. Havoc ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
Copying bitmaps into bitmaps
I've been trying to copy a bitmap into a bitmap with gdk_draw_pixmap(), without success. Is it necesary to use XCopyPlane in lieu of some gdk routine? Basically all I want to do is a binary OR between the data in the 2 bitmaps. TIA, Edscott Wilson Garcia ___ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list