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,
|
||||
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 <Xm/Xm.h>
|
||||
|
||||
/* XmdLoadBitmapIcon is a macro that loads an icon with the specified name. That Icon must
|
||||
be #include'd in your code somewhere. The name parameter must be a token, not a string. */
|
||||
#define XmdLoadBitmapIcon(widget, name) _XmdLoadBitmapIcon(widget, name##_bits, name##_width, name##_height)
|
||||
/* XmdLoadBitmapIcon is a macro that loads an icon with the specified name. That
|
||||
Icon must be #include'd in your code somewhere. The name parameter must be a
|
||||
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);
|
||||
|
||||
/* XmdReadXBM reads an XBM bitmap file, and returns a Pixmap. */
|
||||
Pixmap XmdReadBitmapFileData (Widget, widget, const char *filename);
|
||||
|
||||
#endif
|
||||
|
@ -5,9 +5,6 @@
|
||||
#include <X11/Intrinsic.h>
|
||||
#include <Xm/Xm.h>
|
||||
|
||||
typedef struct {
|
||||
Pixmap icon;
|
||||
const char *command;
|
||||
} XmdLauncher;
|
||||
/* TODO */
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user