fix non opengl xlib init
This commit is contained in:
parent
a221c1d5ce
commit
10b9571c01
61
platform.d
61
platform.d
@ -670,37 +670,52 @@ CreateWindow(PlatformWindow* window, string name, u32 width, u32 height, XVisual
|
|||||||
|
|
||||||
if(visual_info)
|
if(visual_info)
|
||||||
{
|
{
|
||||||
attrs.colormap = XCreateColormap(window.display, window.root_window, visual_info.visual, AllocNone);
|
XSetWindowAttributes attrs = {
|
||||||
|
background_pixmap: None,
|
||||||
|
background_pixel: XBlackPixel(window.display, window.screen_id),
|
||||||
|
colormap: XCreateColormap(window.display, window.root_window, visual_info.visual, AllocNone),
|
||||||
|
};
|
||||||
|
|
||||||
value_mask |= CWColormap;
|
value_mask |= CWColormap;
|
||||||
|
auto copy = CopyFromParent;
|
||||||
|
|
||||||
|
window.window = XCreateWindow(
|
||||||
|
window.display,
|
||||||
|
window.root_window,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
0,
|
||||||
|
(visual_info ? visual_info.depth : cast(i32)copy),
|
||||||
|
InputOutput,
|
||||||
|
(visual_info ? visual_info.visual : cast(Visual*)©),
|
||||||
|
value_mask,
|
||||||
|
&attrs
|
||||||
|
);
|
||||||
|
|
||||||
|
XFree(visual_info);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.window = XCreateSimpleWindow(
|
||||||
|
window.display,
|
||||||
|
window.root_window,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
0,
|
||||||
|
XBlackPixel(window.display, window.screen_id),
|
||||||
|
XBlackPixel(window.display, window.screen_id)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto copy = CopyFromParent;
|
|
||||||
|
|
||||||
window.window = XCreateWindow(
|
|
||||||
window.display,
|
|
||||||
window.root_window,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
0,
|
|
||||||
(visual_info ? visual_info.depth : cast(i32)copy),
|
|
||||||
InputOutput,
|
|
||||||
(visual_info ? visual_info.visual : cast(Visual*)©),
|
|
||||||
value_mask,
|
|
||||||
&attrs
|
|
||||||
);
|
|
||||||
|
|
||||||
if(window.window == None)
|
if(window.window == None)
|
||||||
{
|
{
|
||||||
WINDOW_ERR_MSG = "Failed to create X11 window";
|
WINDOW_ERR_MSG = "Failed to create X11 window";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(visual_info)
|
|
||||||
{
|
|
||||||
XFree(visual_info);
|
|
||||||
}
|
|
||||||
|
|
||||||
i64 event_mask = KeyPressMask |
|
i64 event_mask = KeyPressMask |
|
||||||
KeyReleaseMask |
|
KeyReleaseMask |
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user