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)
|
||||
{
|
||||
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;
|
||||
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)
|
||||
{
|
||||
WINDOW_ERR_MSG = "Failed to create X11 window";
|
||||
return false;
|
||||
}
|
||||
|
||||
if(visual_info)
|
||||
{
|
||||
XFree(visual_info);
|
||||
}
|
||||
|
||||
i64 event_mask = KeyPressMask |
|
||||
KeyReleaseMask |
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user