volviewer

Volumetric Data Toy Viewer
git clone anongit@rnpnr.xyz:volviewer.git
Log | Files | Refs | Feed | LICENSE

null_init.c (14437B)


      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 
     28 #include "internal.h"
     29 
     30 #include <stdlib.h>
     31 #include <string.h>
     32 
     33 
     34 //////////////////////////////////////////////////////////////////////////
     35 //////                       GLFW platform API                      //////
     36 //////////////////////////////////////////////////////////////////////////
     37 
     38 GLFWbool _glfwConnectNull(int platformID, _GLFWplatform* platform)
     39 {
     40     const _GLFWplatform null =
     41     {
     42         .platformID = GLFW_PLATFORM_NULL,
     43         .init = _glfwInitNull,
     44         .terminate = _glfwTerminateNull,
     45         .getCursorPos = _glfwGetCursorPosNull,
     46         .setCursorPos = _glfwSetCursorPosNull,
     47         .setCursorMode = _glfwSetCursorModeNull,
     48         .setRawMouseMotion = _glfwSetRawMouseMotionNull,
     49         .rawMouseMotionSupported = _glfwRawMouseMotionSupportedNull,
     50         .createCursor = _glfwCreateCursorNull,
     51         .createStandardCursor = _glfwCreateStandardCursorNull,
     52         .destroyCursor = _glfwDestroyCursorNull,
     53         .setCursor = _glfwSetCursorNull,
     54         .getScancodeName = _glfwGetScancodeNameNull,
     55         .getKeyScancode = _glfwGetKeyScancodeNull,
     56         .setClipboardString = _glfwSetClipboardStringNull,
     57         .getClipboardString = _glfwGetClipboardStringNull,
     58         .initJoysticks = _glfwInitJoysticksNull,
     59         .terminateJoysticks = _glfwTerminateJoysticksNull,
     60         .pollJoystick = _glfwPollJoystickNull,
     61         .getMappingName = _glfwGetMappingNameNull,
     62         .updateGamepadGUID = _glfwUpdateGamepadGUIDNull,
     63         .freeMonitor = _glfwFreeMonitorNull,
     64         .getMonitorPos = _glfwGetMonitorPosNull,
     65         .getMonitorContentScale = _glfwGetMonitorContentScaleNull,
     66         .getMonitorWorkarea = _glfwGetMonitorWorkareaNull,
     67         .getVideoModes = _glfwGetVideoModesNull,
     68         .getVideoMode = _glfwGetVideoModeNull,
     69         .getGammaRamp = _glfwGetGammaRampNull,
     70         .setGammaRamp = _glfwSetGammaRampNull,
     71         .createWindow = _glfwCreateWindowNull,
     72         .destroyWindow = _glfwDestroyWindowNull,
     73         .setWindowTitle = _glfwSetWindowTitleNull,
     74         .setWindowIcon = _glfwSetWindowIconNull,
     75         .getWindowPos = _glfwGetWindowPosNull,
     76         .setWindowPos = _glfwSetWindowPosNull,
     77         .getWindowSize = _glfwGetWindowSizeNull,
     78         .setWindowSize = _glfwSetWindowSizeNull,
     79         .setWindowSizeLimits = _glfwSetWindowSizeLimitsNull,
     80         .setWindowAspectRatio = _glfwSetWindowAspectRatioNull,
     81         .getFramebufferSize = _glfwGetFramebufferSizeNull,
     82         .getWindowFrameSize = _glfwGetWindowFrameSizeNull,
     83         .getWindowContentScale = _glfwGetWindowContentScaleNull,
     84         .iconifyWindow = _glfwIconifyWindowNull,
     85         .restoreWindow = _glfwRestoreWindowNull,
     86         .maximizeWindow = _glfwMaximizeWindowNull,
     87         .showWindow = _glfwShowWindowNull,
     88         .hideWindow = _glfwHideWindowNull,
     89         .requestWindowAttention = _glfwRequestWindowAttentionNull,
     90         .focusWindow = _glfwFocusWindowNull,
     91         .setWindowMonitor = _glfwSetWindowMonitorNull,
     92         .windowFocused = _glfwWindowFocusedNull,
     93         .windowIconified = _glfwWindowIconifiedNull,
     94         .windowVisible = _glfwWindowVisibleNull,
     95         .windowMaximized = _glfwWindowMaximizedNull,
     96         .windowHovered = _glfwWindowHoveredNull,
     97         .framebufferTransparent = _glfwFramebufferTransparentNull,
     98         .getWindowOpacity = _glfwGetWindowOpacityNull,
     99         .setWindowResizable = _glfwSetWindowResizableNull,
    100         .setWindowDecorated = _glfwSetWindowDecoratedNull,
    101         .setWindowFloating = _glfwSetWindowFloatingNull,
    102         .setWindowOpacity = _glfwSetWindowOpacityNull,
    103         .setWindowMousePassthrough = _glfwSetWindowMousePassthroughNull,
    104         .pollEvents = _glfwPollEventsNull,
    105         .waitEvents = _glfwWaitEventsNull,
    106         .waitEventsTimeout = _glfwWaitEventsTimeoutNull,
    107         .postEmptyEvent = _glfwPostEmptyEventNull,
    108         .getEGLPlatform = _glfwGetEGLPlatformNull,
    109         .getEGLNativeDisplay = _glfwGetEGLNativeDisplayNull,
    110         .getEGLNativeWindow = _glfwGetEGLNativeWindowNull,
    111         .getRequiredInstanceExtensions = _glfwGetRequiredInstanceExtensionsNull,
    112         .getPhysicalDevicePresentationSupport = _glfwGetPhysicalDevicePresentationSupportNull,
    113         .createWindowSurface = _glfwCreateWindowSurfaceNull
    114     };
    115 
    116     *platform = null;
    117     return GLFW_TRUE;
    118 }
    119 
    120 int _glfwInitNull(void)
    121 {
    122     int scancode;
    123 
    124     memset(_glfw.null.keycodes, -1, sizeof(_glfw.null.keycodes));
    125     memset(_glfw.null.scancodes, -1, sizeof(_glfw.null.scancodes));
    126 
    127     _glfw.null.keycodes[GLFW_NULL_SC_SPACE]         = GLFW_KEY_SPACE;
    128     _glfw.null.keycodes[GLFW_NULL_SC_APOSTROPHE]    = GLFW_KEY_APOSTROPHE;
    129     _glfw.null.keycodes[GLFW_NULL_SC_COMMA]         = GLFW_KEY_COMMA;
    130     _glfw.null.keycodes[GLFW_NULL_SC_MINUS]         = GLFW_KEY_MINUS;
    131     _glfw.null.keycodes[GLFW_NULL_SC_PERIOD]        = GLFW_KEY_PERIOD;
    132     _glfw.null.keycodes[GLFW_NULL_SC_SLASH]         = GLFW_KEY_SLASH;
    133     _glfw.null.keycodes[GLFW_NULL_SC_0]             = GLFW_KEY_0;
    134     _glfw.null.keycodes[GLFW_NULL_SC_1]             = GLFW_KEY_1;
    135     _glfw.null.keycodes[GLFW_NULL_SC_2]             = GLFW_KEY_2;
    136     _glfw.null.keycodes[GLFW_NULL_SC_3]             = GLFW_KEY_3;
    137     _glfw.null.keycodes[GLFW_NULL_SC_4]             = GLFW_KEY_4;
    138     _glfw.null.keycodes[GLFW_NULL_SC_5]             = GLFW_KEY_5;
    139     _glfw.null.keycodes[GLFW_NULL_SC_6]             = GLFW_KEY_6;
    140     _glfw.null.keycodes[GLFW_NULL_SC_7]             = GLFW_KEY_7;
    141     _glfw.null.keycodes[GLFW_NULL_SC_8]             = GLFW_KEY_8;
    142     _glfw.null.keycodes[GLFW_NULL_SC_9]             = GLFW_KEY_9;
    143     _glfw.null.keycodes[GLFW_NULL_SC_SEMICOLON]     = GLFW_KEY_SEMICOLON;
    144     _glfw.null.keycodes[GLFW_NULL_SC_EQUAL]         = GLFW_KEY_EQUAL;
    145     _glfw.null.keycodes[GLFW_NULL_SC_A]             = GLFW_KEY_A;
    146     _glfw.null.keycodes[GLFW_NULL_SC_B]             = GLFW_KEY_B;
    147     _glfw.null.keycodes[GLFW_NULL_SC_C]             = GLFW_KEY_C;
    148     _glfw.null.keycodes[GLFW_NULL_SC_D]             = GLFW_KEY_D;
    149     _glfw.null.keycodes[GLFW_NULL_SC_E]             = GLFW_KEY_E;
    150     _glfw.null.keycodes[GLFW_NULL_SC_F]             = GLFW_KEY_F;
    151     _glfw.null.keycodes[GLFW_NULL_SC_G]             = GLFW_KEY_G;
    152     _glfw.null.keycodes[GLFW_NULL_SC_H]             = GLFW_KEY_H;
    153     _glfw.null.keycodes[GLFW_NULL_SC_I]             = GLFW_KEY_I;
    154     _glfw.null.keycodes[GLFW_NULL_SC_J]             = GLFW_KEY_J;
    155     _glfw.null.keycodes[GLFW_NULL_SC_K]             = GLFW_KEY_K;
    156     _glfw.null.keycodes[GLFW_NULL_SC_L]             = GLFW_KEY_L;
    157     _glfw.null.keycodes[GLFW_NULL_SC_M]             = GLFW_KEY_M;
    158     _glfw.null.keycodes[GLFW_NULL_SC_N]             = GLFW_KEY_N;
    159     _glfw.null.keycodes[GLFW_NULL_SC_O]             = GLFW_KEY_O;
    160     _glfw.null.keycodes[GLFW_NULL_SC_P]             = GLFW_KEY_P;
    161     _glfw.null.keycodes[GLFW_NULL_SC_Q]             = GLFW_KEY_Q;
    162     _glfw.null.keycodes[GLFW_NULL_SC_R]             = GLFW_KEY_R;
    163     _glfw.null.keycodes[GLFW_NULL_SC_S]             = GLFW_KEY_S;
    164     _glfw.null.keycodes[GLFW_NULL_SC_T]             = GLFW_KEY_T;
    165     _glfw.null.keycodes[GLFW_NULL_SC_U]             = GLFW_KEY_U;
    166     _glfw.null.keycodes[GLFW_NULL_SC_V]             = GLFW_KEY_V;
    167     _glfw.null.keycodes[GLFW_NULL_SC_W]             = GLFW_KEY_W;
    168     _glfw.null.keycodes[GLFW_NULL_SC_X]             = GLFW_KEY_X;
    169     _glfw.null.keycodes[GLFW_NULL_SC_Y]             = GLFW_KEY_Y;
    170     _glfw.null.keycodes[GLFW_NULL_SC_Z]             = GLFW_KEY_Z;
    171     _glfw.null.keycodes[GLFW_NULL_SC_LEFT_BRACKET]  = GLFW_KEY_LEFT_BRACKET;
    172     _glfw.null.keycodes[GLFW_NULL_SC_BACKSLASH]     = GLFW_KEY_BACKSLASH;
    173     _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_BRACKET] = GLFW_KEY_RIGHT_BRACKET;
    174     _glfw.null.keycodes[GLFW_NULL_SC_GRAVE_ACCENT]  = GLFW_KEY_GRAVE_ACCENT;
    175     _glfw.null.keycodes[GLFW_NULL_SC_WORLD_1]       = GLFW_KEY_WORLD_1;
    176     _glfw.null.keycodes[GLFW_NULL_SC_WORLD_2]       = GLFW_KEY_WORLD_2;
    177     _glfw.null.keycodes[GLFW_NULL_SC_ESCAPE]        = GLFW_KEY_ESCAPE;
    178     _glfw.null.keycodes[GLFW_NULL_SC_ENTER]         = GLFW_KEY_ENTER;
    179     _glfw.null.keycodes[GLFW_NULL_SC_TAB]           = GLFW_KEY_TAB;
    180     _glfw.null.keycodes[GLFW_NULL_SC_BACKSPACE]     = GLFW_KEY_BACKSPACE;
    181     _glfw.null.keycodes[GLFW_NULL_SC_INSERT]        = GLFW_KEY_INSERT;
    182     _glfw.null.keycodes[GLFW_NULL_SC_DELETE]        = GLFW_KEY_DELETE;
    183     _glfw.null.keycodes[GLFW_NULL_SC_RIGHT]         = GLFW_KEY_RIGHT;
    184     _glfw.null.keycodes[GLFW_NULL_SC_LEFT]          = GLFW_KEY_LEFT;
    185     _glfw.null.keycodes[GLFW_NULL_SC_DOWN]          = GLFW_KEY_DOWN;
    186     _glfw.null.keycodes[GLFW_NULL_SC_UP]            = GLFW_KEY_UP;
    187     _glfw.null.keycodes[GLFW_NULL_SC_PAGE_UP]       = GLFW_KEY_PAGE_UP;
    188     _glfw.null.keycodes[GLFW_NULL_SC_PAGE_DOWN]     = GLFW_KEY_PAGE_DOWN;
    189     _glfw.null.keycodes[GLFW_NULL_SC_HOME]          = GLFW_KEY_HOME;
    190     _glfw.null.keycodes[GLFW_NULL_SC_END]           = GLFW_KEY_END;
    191     _glfw.null.keycodes[GLFW_NULL_SC_CAPS_LOCK]     = GLFW_KEY_CAPS_LOCK;
    192     _glfw.null.keycodes[GLFW_NULL_SC_SCROLL_LOCK]   = GLFW_KEY_SCROLL_LOCK;
    193     _glfw.null.keycodes[GLFW_NULL_SC_NUM_LOCK]      = GLFW_KEY_NUM_LOCK;
    194     _glfw.null.keycodes[GLFW_NULL_SC_PRINT_SCREEN]  = GLFW_KEY_PRINT_SCREEN;
    195     _glfw.null.keycodes[GLFW_NULL_SC_PAUSE]         = GLFW_KEY_PAUSE;
    196     _glfw.null.keycodes[GLFW_NULL_SC_F1]            = GLFW_KEY_F1;
    197     _glfw.null.keycodes[GLFW_NULL_SC_F2]            = GLFW_KEY_F2;
    198     _glfw.null.keycodes[GLFW_NULL_SC_F3]            = GLFW_KEY_F3;
    199     _glfw.null.keycodes[GLFW_NULL_SC_F4]            = GLFW_KEY_F4;
    200     _glfw.null.keycodes[GLFW_NULL_SC_F5]            = GLFW_KEY_F5;
    201     _glfw.null.keycodes[GLFW_NULL_SC_F6]            = GLFW_KEY_F6;
    202     _glfw.null.keycodes[GLFW_NULL_SC_F7]            = GLFW_KEY_F7;
    203     _glfw.null.keycodes[GLFW_NULL_SC_F8]            = GLFW_KEY_F8;
    204     _glfw.null.keycodes[GLFW_NULL_SC_F9]            = GLFW_KEY_F9;
    205     _glfw.null.keycodes[GLFW_NULL_SC_F10]           = GLFW_KEY_F10;
    206     _glfw.null.keycodes[GLFW_NULL_SC_F11]           = GLFW_KEY_F11;
    207     _glfw.null.keycodes[GLFW_NULL_SC_F12]           = GLFW_KEY_F12;
    208     _glfw.null.keycodes[GLFW_NULL_SC_F13]           = GLFW_KEY_F13;
    209     _glfw.null.keycodes[GLFW_NULL_SC_F14]           = GLFW_KEY_F14;
    210     _glfw.null.keycodes[GLFW_NULL_SC_F15]           = GLFW_KEY_F15;
    211     _glfw.null.keycodes[GLFW_NULL_SC_F16]           = GLFW_KEY_F16;
    212     _glfw.null.keycodes[GLFW_NULL_SC_F17]           = GLFW_KEY_F17;
    213     _glfw.null.keycodes[GLFW_NULL_SC_F18]           = GLFW_KEY_F18;
    214     _glfw.null.keycodes[GLFW_NULL_SC_F19]           = GLFW_KEY_F19;
    215     _glfw.null.keycodes[GLFW_NULL_SC_F20]           = GLFW_KEY_F20;
    216     _glfw.null.keycodes[GLFW_NULL_SC_F21]           = GLFW_KEY_F21;
    217     _glfw.null.keycodes[GLFW_NULL_SC_F22]           = GLFW_KEY_F22;
    218     _glfw.null.keycodes[GLFW_NULL_SC_F23]           = GLFW_KEY_F23;
    219     _glfw.null.keycodes[GLFW_NULL_SC_F24]           = GLFW_KEY_F24;
    220     _glfw.null.keycodes[GLFW_NULL_SC_F25]           = GLFW_KEY_F25;
    221     _glfw.null.keycodes[GLFW_NULL_SC_KP_0]          = GLFW_KEY_KP_0;
    222     _glfw.null.keycodes[GLFW_NULL_SC_KP_1]          = GLFW_KEY_KP_1;
    223     _glfw.null.keycodes[GLFW_NULL_SC_KP_2]          = GLFW_KEY_KP_2;
    224     _glfw.null.keycodes[GLFW_NULL_SC_KP_3]          = GLFW_KEY_KP_3;
    225     _glfw.null.keycodes[GLFW_NULL_SC_KP_4]          = GLFW_KEY_KP_4;
    226     _glfw.null.keycodes[GLFW_NULL_SC_KP_5]          = GLFW_KEY_KP_5;
    227     _glfw.null.keycodes[GLFW_NULL_SC_KP_6]          = GLFW_KEY_KP_6;
    228     _glfw.null.keycodes[GLFW_NULL_SC_KP_7]          = GLFW_KEY_KP_7;
    229     _glfw.null.keycodes[GLFW_NULL_SC_KP_8]          = GLFW_KEY_KP_8;
    230     _glfw.null.keycodes[GLFW_NULL_SC_KP_9]          = GLFW_KEY_KP_9;
    231     _glfw.null.keycodes[GLFW_NULL_SC_KP_DECIMAL]    = GLFW_KEY_KP_DECIMAL;
    232     _glfw.null.keycodes[GLFW_NULL_SC_KP_DIVIDE]     = GLFW_KEY_KP_DIVIDE;
    233     _glfw.null.keycodes[GLFW_NULL_SC_KP_MULTIPLY]   = GLFW_KEY_KP_MULTIPLY;
    234     _glfw.null.keycodes[GLFW_NULL_SC_KP_SUBTRACT]   = GLFW_KEY_KP_SUBTRACT;
    235     _glfw.null.keycodes[GLFW_NULL_SC_KP_ADD]        = GLFW_KEY_KP_ADD;
    236     _glfw.null.keycodes[GLFW_NULL_SC_KP_ENTER]      = GLFW_KEY_KP_ENTER;
    237     _glfw.null.keycodes[GLFW_NULL_SC_KP_EQUAL]      = GLFW_KEY_KP_EQUAL;
    238     _glfw.null.keycodes[GLFW_NULL_SC_LEFT_SHIFT]    = GLFW_KEY_LEFT_SHIFT;
    239     _glfw.null.keycodes[GLFW_NULL_SC_LEFT_CONTROL]  = GLFW_KEY_LEFT_CONTROL;
    240     _glfw.null.keycodes[GLFW_NULL_SC_LEFT_ALT]      = GLFW_KEY_LEFT_ALT;
    241     _glfw.null.keycodes[GLFW_NULL_SC_LEFT_SUPER]    = GLFW_KEY_LEFT_SUPER;
    242     _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_SHIFT]   = GLFW_KEY_RIGHT_SHIFT;
    243     _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_CONTROL] = GLFW_KEY_RIGHT_CONTROL;
    244     _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_ALT]     = GLFW_KEY_RIGHT_ALT;
    245     _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_SUPER]   = GLFW_KEY_RIGHT_SUPER;
    246     _glfw.null.keycodes[GLFW_NULL_SC_MENU]          = GLFW_KEY_MENU;
    247 
    248     for (scancode = GLFW_NULL_SC_FIRST;  scancode < GLFW_NULL_SC_LAST;  scancode++)
    249     {
    250         if (_glfw.null.keycodes[scancode] > 0)
    251             _glfw.null.scancodes[_glfw.null.keycodes[scancode]] = scancode;
    252     }
    253 
    254     _glfwPollMonitorsNull();
    255     return GLFW_TRUE;
    256 }
    257 
    258 void _glfwTerminateNull(void)
    259 {
    260     free(_glfw.null.clipboardString);
    261     _glfwTerminateOSMesa();
    262     _glfwTerminateEGL();
    263 }
    264