getting the depth before realizing any windows?



Hello,

I have a problem with pixmaps that I make from xbm-data,
that is something like:

#define updir_width 28
#define updir_height 16
static char updir_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00,
   0x20, 0x40, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x01, 0x10, 0x00, 0x00, 0x01,
   0x10, 0x02, 0x00, 0x01, 0x10, 0x07, 0x00, 0x01, 0x90, 0x0f, 0x00, 0x01,
   0x10, 0x02, 0x00, 0x01, 0x10, 0x02, 0x00, 0x01, 0x10, 0x02, 0x00, 0x01,
   0x10, 0xfe, 0x07, 0x01, 0x10, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x01,
   0xf0, 0xff, 0xff, 0x01};

I know I could also use xpm, but I have a large file with these bitmaps,
so why not use it.

To get this into a Gtk_Pixmap (I use gtk--), I first have to create
a Gdk_Pixmap, and a Gdk_Bitmap for the mask. 

    Gtk_Pixmap *pixmap;
  Gdk_Pixmap *gdkpix;
  Gdk_Bitmap *gdkbit;
  gdkpix=new Gdk_Pixmap;
  gdkbit=new Gdk_Bitmap;
  Gdk_Window  win=toolbar.get_window();
  Gtk_Style * style= toolbar.Gtk_Widget::get_style();
  gdkpix->create_from_data(NULL,delete_bits,36,32,16,
                           &style->gtkobj()->fg[GTK_STATE_NORMAL],
                           &style->gtkobj()->bg[GTK_STATE_NORMAL]);
  gdkbit->create(win,delete_bits,36,32);

  pixmap = new Gtk_Pixmap(*gdkpix,*gdkbit);

the problem is that create_from _data needs the window or the depth,
and in the constructor of the app window the Gdk_Window is NULL, so I
hardcoded the depth. But this only runs on a 16 bit xserver. 

So does anybody know how to get the depth of the root window or
something, before realising anything?

Any help is greatly appreciated...

          Oliver 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]