2 * fg_state_blackberry.c
4 * BlackBerry-specific freeglut state query methods.
6 * Copyright (c) 2012 Stephen J. Baker. All Rights Reserved.
7 * Written by John F. Fay, <fayjf@sourceforge.net>
8 * Copyright (C) 2012 Sylvain Beucler
9 * Copyright (C) 2013 Vincent Simonetti
11 * Permission is hereby granted, free of charge, to any person obtaining a
12 * copy of this software and associated documentation files (the "Software"),
13 * to deal in the Software without restriction, including without limitation
14 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15 * and/or sell copies of the Software, and to permit persons to whom the
16 * Software is furnished to do so, subject to the following conditions:
18 * The above copyright notice and this permission notice shall be included
19 * in all copies or substantial portions of the Software.
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24 * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
25 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 #include <GL/freeglut.h>
31 #include <screen/screen.h>
32 #include "fg_internal.h"
33 #include "egl/fg_state_egl.h"
35 //From fg_state_android.c
36 int fgPlatformGlutDeviceGet ( GLenum eWhat )
40 case GLUT_HAS_KEYBOARD:
41 /* BlackBerry has a keyboard, though it may be virtual. */
45 /* BlackBerry has a touchscreen; until we get proper touchscreen
46 support, consider it as a mouse. */
49 case GLUT_NUM_MOUSE_BUTTONS:
50 /* BlackBerry has a touchscreen; until we get proper touchscreen
51 support, consider it as a 1-button mouse. */
55 fgWarning( "glutDeviceGet(): missing enum handle %d", eWhat );
59 /* And now -- the failure. */
63 int fgPlatformGlutGet ( GLenum eWhat )
66 /* One full-screen window only */
69 case GLUT_WINDOW_BORDER_WIDTH:
70 case GLUT_WINDOW_HEADER_HEIGHT:
73 case GLUT_WINDOW_WIDTH:
74 case GLUT_WINDOW_HEIGHT:
76 if ( fgStructure.CurrentWindow == NULL )
79 if ( screen_get_window_property_iv(fgStructure.CurrentWindow->Window.Handle, SCREEN_PROPERTY_BUFFER_SIZE, size) != 0 )
83 case GLUT_WINDOW_WIDTH:
85 case GLUT_WINDOW_HEIGHT:
90 case GLUT_WINDOW_COLORMAP_SIZE:
91 /* 0 for RGBA/non-indexed mode */
92 /* Under BlackBerry and GLES more generally, no indexed-mode */
96 return fghPlatformGlutGetEGL(eWhat);