Add routine to load XBM from file
This commit is contained in:
parent
1478edecd0
commit
347904a380
@ -12,3 +12,26 @@ Pixmap _XmdLoadBitmapIcon (Widget widget, unsigned char *bits, int width, int he
|
|||||||
(char *)(bits), width, height,
|
(char *)(bits), width, height,
|
||||||
fg, bg, DefaultDepthOfScreen(XtScreen(widget)));
|
fg, bg, DefaultDepthOfScreen(XtScreen(widget)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Pixmap XmdReadBitmapFile (Widget widget, const char *filename) {
|
||||||
|
Pixel fg, bg;
|
||||||
|
XtVaGetValues (widget,
|
||||||
|
XmNforeground, &fg,
|
||||||
|
XmNbackground, &bg,
|
||||||
|
NULL);
|
||||||
|
unsigned int width, height;
|
||||||
|
unsigned char *data;
|
||||||
|
int garbage;
|
||||||
|
XReadBitmapFileData (
|
||||||
|
filename,
|
||||||
|
&width, &height,
|
||||||
|
&data,
|
||||||
|
&garbage, &garbage);
|
||||||
|
Pixmap result = XCreatePixmapFromBitmapData (
|
||||||
|
XtDisplay (widget),
|
||||||
|
RootWindowOfScreen(XtScreen(widget)),
|
||||||
|
(char *)(data), width, height,
|
||||||
|
fg, bg, DefaultDepthOfScreen(XtScreen(widget)));
|
||||||
|
XFree(data);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
@ -5,9 +5,14 @@
|
|||||||
#include <X11/Intrinsic.h>
|
#include <X11/Intrinsic.h>
|
||||||
#include <Xm/Xm.h>
|
#include <Xm/Xm.h>
|
||||||
|
|
||||||
/* XmdLoadBitmapIcon is a macro that loads an icon with the specified name. That Icon must
|
/* XmdLoadBitmapIcon is a macro that loads an icon with the specified name. That
|
||||||
be #include'd in your code somewhere. The name parameter must be a token, not a string. */
|
Icon must be #include'd in your code somewhere. The name parameter must be a
|
||||||
#define XmdLoadBitmapIcon(widget, name) _XmdLoadBitmapIcon(widget, name##_bits, name##_width, name##_height)
|
token, not a string. */
|
||||||
|
#define XmdLoadBitmapIcon(widget, name)\
|
||||||
|
_XmdLoadBitmapIcon(widget, name##_bits, name##_width, name##_height)
|
||||||
Pixmap _XmdLoadBitmapIcon (Widget widget, unsigned char *bits, int width, int height);
|
Pixmap _XmdLoadBitmapIcon (Widget widget, unsigned char *bits, int width, int height);
|
||||||
|
|
||||||
|
/* XmdReadXBM reads an XBM bitmap file, and returns a Pixmap. */
|
||||||
|
Pixmap XmdReadBitmapFileData (Widget, widget, const char *filename);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -5,9 +5,6 @@
|
|||||||
#include <X11/Intrinsic.h>
|
#include <X11/Intrinsic.h>
|
||||||
#include <Xm/Xm.h>
|
#include <Xm/Xm.h>
|
||||||
|
|
||||||
typedef struct {
|
/* TODO */
|
||||||
Pixmap icon;
|
|
||||||
const char *command;
|
|
||||||
} XmdLauncher;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user