MCPcopy Create free account
hub / github.com/InteractiveComputerGraphics/SPlisHSPlasH / _glfwPlatformInit

Function _glfwPlatformInit

extern/glfw/src/wl_init.c:308–485  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

306//////////////////////////////////////////////////////////////////////////
307
308int _glfwPlatformInit(void)
309{
310 const char* cursorTheme;
311 const char* cursorSizeStr;
312 char* cursorSizeEnd;
313 long cursorSizeLong;
314 int cursorSize;
315
316 // These must be set before any failure checks
317 _glfw.wl.timerfd = -1;
318 _glfw.wl.cursorTimerfd = -1;
319
320 _glfw.wl.cursor.handle = _glfw_dlopen("libwayland-cursor.so.0");
321 if (!_glfw.wl.cursor.handle)
322 {
323 _glfwInputError(GLFW_PLATFORM_ERROR,
324 "Wayland: Failed to load libwayland-cursor");
325 return GLFW_FALSE;
326 }
327
328 _glfw.wl.cursor.theme_load = (PFN_wl_cursor_theme_load)
329 _glfw_dlsym(_glfw.wl.cursor.handle, "wl_cursor_theme_load");
330 _glfw.wl.cursor.theme_destroy = (PFN_wl_cursor_theme_destroy)
331 _glfw_dlsym(_glfw.wl.cursor.handle, "wl_cursor_theme_destroy");
332 _glfw.wl.cursor.theme_get_cursor = (PFN_wl_cursor_theme_get_cursor)
333 _glfw_dlsym(_glfw.wl.cursor.handle, "wl_cursor_theme_get_cursor");
334 _glfw.wl.cursor.image_get_buffer = (PFN_wl_cursor_image_get_buffer)
335 _glfw_dlsym(_glfw.wl.cursor.handle, "wl_cursor_image_get_buffer");
336
337 _glfw.wl.egl.handle = _glfw_dlopen("libwayland-egl.so.1");
338 if (!_glfw.wl.egl.handle)
339 {
340 _glfwInputError(GLFW_PLATFORM_ERROR,
341 "Wayland: Failed to load libwayland-egl");
342 return GLFW_FALSE;
343 }
344
345 _glfw.wl.egl.window_create = (PFN_wl_egl_window_create)
346 _glfw_dlsym(_glfw.wl.egl.handle, "wl_egl_window_create");
347 _glfw.wl.egl.window_destroy = (PFN_wl_egl_window_destroy)
348 _glfw_dlsym(_glfw.wl.egl.handle, "wl_egl_window_destroy");
349 _glfw.wl.egl.window_resize = (PFN_wl_egl_window_resize)
350 _glfw_dlsym(_glfw.wl.egl.handle, "wl_egl_window_resize");
351
352 _glfw.wl.xkb.handle = _glfw_dlopen("libxkbcommon.so.0");
353 if (!_glfw.wl.xkb.handle)
354 {
355 _glfwInputError(GLFW_PLATFORM_ERROR,
356 "Wayland: Failed to load libxkbcommon");
357 return GLFW_FALSE;
358 }
359
360 _glfw.wl.xkb.context_new = (PFN_xkb_context_new)
361 _glfw_dlsym(_glfw.wl.xkb.handle, "xkb_context_new");
362 _glfw.wl.xkb.context_unref = (PFN_xkb_context_unref)
363 _glfw_dlsym(_glfw.wl.xkb.handle, "xkb_context_unref");
364 _glfw.wl.xkb.keymap_new_from_string = (PFN_xkb_keymap_new_from_string)
365 _glfw_dlsym(_glfw.wl.xkb.handle, "xkb_keymap_new_from_string");

Callers 1

glfwInitFunction · 0.70

Calls 5

_glfwInputErrorFunction · 0.85
_glfwInitJoysticksLinuxFunction · 0.85
_glfwInitTimerPOSIXFunction · 0.85
createKeyTablesFunction · 0.70

Tested by

no test coverage detected