aboutsummaryrefslogtreecommitdiff
path: root/platform/bb10/bbutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/bb10/bbutil.h')
-rw-r--r--platform/bb10/bbutil.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/platform/bb10/bbutil.h b/platform/bb10/bbutil.h
new file mode 100644
index 000000000..8df513cb7
--- /dev/null
+++ b/platform/bb10/bbutil.h
@@ -0,0 +1,96 @@
+/*************************************************************************/
+/* bbutil.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+#ifndef _UTILITY_H_INCLUDED
+#define _UTILITY_H_INCLUDED
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <screen/screen.h>
+#include <sys/platform.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern EGLDisplay egl_disp;
+extern EGLSurface egl_surf;
+
+enum RENDERING_API {GL_ES_1 = EGL_OPENGL_ES_BIT, GL_ES_2 = EGL_OPENGL_ES2_BIT, VG = EGL_OPENVG_BIT};
+
+/**
+ * Initializes EGL, GL and loads a default font
+ *
+ * \param libscreen context that will be used for EGL setup
+ * \return EXIT_SUCCESS if initialization succeeded otherwise EXIT_FAILURE
+ */
+int bbutil_init(screen_context_t ctx, enum RENDERING_API api);
+
+/**
+ * Initializes EGL
+ *
+ * \param libscreen context that will be used for EGL setup
+ * \return EXIT_SUCCESS if initialization succeeded otherwise EXIT_FAILURE
+ */
+int bbutil_init_egl(screen_context_t ctx, enum RENDERING_API api);
+
+/**
+ * Initializes GL 1.1 for simple 2D rendering. GL2 initialization will be added at a later point.
+ *
+ * \return EXIT_SUCCESS if initialization succeeded otherwise EXIT_FAILURE
+ */
+int bbutil_init_gl2d();
+
+int bbutil_is_flipped();
+int bbutil_get_rotation();
+
+char *get_window_group_id();
+
+int bbutil_rotate_screen_surface(int angle);
+
+/**
+ * Terminates EGL
+ */
+void bbutil_terminate();
+
+/**
+ * Swaps default bbutil window surface to the screen
+ */
+void bbutil_swap();
+
+/**
+ * Clears the screen of any existing text.
+ * NOTE: must be called after a successful return from bbutil_init() or bbutil_init_egl() call
+ */
+void bbutil_clear();
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif