null_platform.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //========================================================================
  2. // GLFW 3.4 - www.glfw.org
  3. //------------------------------------------------------------------------
  4. // Copyright (c) 2016 Google Inc.
  5. // Copyright (c) 2016-2017 Camilla Löwy <elmindreda@glfw.org>
  6. //
  7. // This software is provided 'as-is', without any express or implied
  8. // warranty. In no event will the authors be held liable for any damages
  9. // arising from the use of this software.
  10. //
  11. // Permission is granted to anyone to use this software for any purpose,
  12. // including commercial applications, and to alter it and redistribute it
  13. // freely, subject to the following restrictions:
  14. //
  15. // 1. The origin of this software must not be misrepresented; you must not
  16. // claim that you wrote the original software. If you use this software
  17. // in a product, an acknowledgment in the product documentation would
  18. // be appreciated but is not required.
  19. //
  20. // 2. Altered source versions must be plainly marked as such, and must not
  21. // be misrepresented as being the original software.
  22. //
  23. // 3. This notice may not be removed or altered from any source
  24. // distribution.
  25. //
  26. //========================================================================
  27. #include <dlfcn.h>
  28. #define _GLFW_PLATFORM_WINDOW_STATE _GLFWwindowNull null
  29. #define _GLFW_PLATFORM_LIBRARY_WINDOW_STATE _GLFWlibraryNull null
  30. #define _GLFW_PLATFORM_MONITOR_STATE _GLFWmonitorNull null
  31. #define _GLFW_PLATFORM_CONTEXT_STATE
  32. #define _GLFW_PLATFORM_CURSOR_STATE
  33. #define _GLFW_PLATFORM_LIBRARY_CONTEXT_STATE
  34. #include "posix_time.h"
  35. #include "posix_thread.h"
  36. #include "null_joystick.h"
  37. #if defined(_GLFW_WIN32)
  38. #define _glfw_dlopen(name) LoadLibraryA(name)
  39. #define _glfw_dlclose(handle) FreeLibrary((HMODULE) handle)
  40. #define _glfw_dlsym(handle, name) GetProcAddress((HMODULE) handle, name)
  41. #else
  42. #define _glfw_dlopen(name) dlopen(name, RTLD_LAZY | RTLD_LOCAL)
  43. #define _glfw_dlclose(handle) dlclose(handle)
  44. #define _glfw_dlsym(handle, name) dlsym(handle, name)
  45. #endif
  46. // Null-specific per-window data
  47. //
  48. typedef struct _GLFWwindowNull
  49. {
  50. int xpos;
  51. int ypos;
  52. int width;
  53. int height;
  54. char* title;
  55. bool visible;
  56. bool iconified;
  57. bool maximized;
  58. bool resizable;
  59. bool decorated;
  60. bool floating;
  61. bool transparent;
  62. float opacity;
  63. } _GLFWwindowNull;
  64. // Null-specific per-monitor data
  65. //
  66. typedef struct _GLFWmonitorNull
  67. {
  68. GLFWgammaramp ramp;
  69. } _GLFWmonitorNull;
  70. // Null-specific global data
  71. //
  72. typedef struct _GLFWlibraryNull
  73. {
  74. int xcursor;
  75. int ycursor;
  76. char* clipboardString;
  77. _GLFWwindow* focusedWindow;
  78. } _GLFWlibraryNull;
  79. void _glfwPollMonitorsNull(void);