Xnest: converter from XSetWindowAttributes struct to uint32_t list
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
2ef0038355
commit
d7e5f08aa8
|
@ -44,3 +44,25 @@ uint32_t xnestUpstreamGC(GCPtr pGC) {
|
||||||
XFlushGC(xnestDisplay, priv->gc);
|
XFlushGC(xnestDisplay, priv->gc);
|
||||||
return priv->gc->gid;
|
return priv->gc->gid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void xnest_encode_window_attr(XnSetWindowAttr attr, uint32_t mask, uint32_t *values)
|
||||||
|
{
|
||||||
|
int idx = 0;
|
||||||
|
#define EXTRA_VALUE(flag,val) if (mask & flag) { values[idx++] = attr.val; }
|
||||||
|
EXTRA_VALUE(XCB_CW_BACK_PIXMAP, background_pixmap);
|
||||||
|
EXTRA_VALUE(XCB_CW_BACK_PIXEL, background_pixel)
|
||||||
|
EXTRA_VALUE(XCB_CW_BORDER_PIXMAP, border_pixmap)
|
||||||
|
EXTRA_VALUE(XCB_CW_BORDER_PIXEL, border_pixel)
|
||||||
|
EXTRA_VALUE(XCB_CW_BIT_GRAVITY, bit_gravity)
|
||||||
|
EXTRA_VALUE(XCB_CW_WIN_GRAVITY, win_gravity);
|
||||||
|
EXTRA_VALUE(XCB_CW_BACKING_STORE, backing_store);
|
||||||
|
EXTRA_VALUE(XCB_CW_BACKING_PLANES, backing_planes);
|
||||||
|
EXTRA_VALUE(XCB_CW_BACKING_PIXEL, backing_pixel);
|
||||||
|
EXTRA_VALUE(XCB_CW_OVERRIDE_REDIRECT, override_redirect);
|
||||||
|
EXTRA_VALUE(XCB_CW_SAVE_UNDER, save_under);
|
||||||
|
EXTRA_VALUE(XCB_CW_EVENT_MASK, event_mask);
|
||||||
|
EXTRA_VALUE(XCB_CW_DONT_PROPAGATE, do_not_propagate_mask);
|
||||||
|
EXTRA_VALUE(XCB_CW_COLORMAP, colormap);
|
||||||
|
EXTRA_VALUE(XCB_CW_CURSOR, cursor);
|
||||||
|
#undef EXTRA_VALUE
|
||||||
|
}
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
|
|
||||||
#include <xcb/xcb.h>
|
#include <xcb/xcb.h>
|
||||||
|
|
||||||
|
#include "Xnest.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
xcb_connection_t *conn;
|
xcb_connection_t *conn;
|
||||||
uint32_t screenId;
|
uint32_t screenId;
|
||||||
|
@ -22,4 +24,7 @@ void xnest_upstream_setup(void);
|
||||||
/* retrieve upstream GC XID for our xserver GC */
|
/* retrieve upstream GC XID for our xserver GC */
|
||||||
uint32_t xnestUpstreamGC(GCPtr pGC);
|
uint32_t xnestUpstreamGC(GCPtr pGC);
|
||||||
|
|
||||||
|
typedef XSetWindowAttributes XnSetWindowAttr;
|
||||||
|
void xnest_encode_window_attr(XnSetWindowAttr attr, uint32_t mask, uint32_t *values);
|
||||||
|
|
||||||
#endif /* __XNEST__XCB_H */
|
#endif /* __XNEST__XCB_H */
|
||||||
|
|
Loading…
Reference in New Issue