EGL: make more code reusable - less Android-specific
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1174 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
40db28bb94
commit
5149d43941
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -53,6 +53,7 @@ freeglut/freeglut/progs/demos/spaceball/vmath.inl -text
|
|||||||
freeglut/freeglut/progs/demos/subwin/subwin.c -text
|
freeglut/freeglut/progs/demos/subwin/subwin.c -text
|
||||||
freeglut/freeglut/progs/demos/timer/timer.c -text
|
freeglut/freeglut/progs/demos/timer/timer.c -text
|
||||||
freeglut/freeglut/src/android/fg_gamemode_android.c -text
|
freeglut/freeglut/src/android/fg_gamemode_android.c -text
|
||||||
|
freeglut/freeglut/src/android/fg_init_android.c -text
|
||||||
freeglut/freeglut/src/android/fg_input_devices_android.c -text
|
freeglut/freeglut/src/android/fg_input_devices_android.c -text
|
||||||
freeglut/freeglut/src/android/fg_internal_android.h -text
|
freeglut/freeglut/src/android/fg_internal_android.h -text
|
||||||
freeglut/freeglut/src/android/fg_joystick_android.c -text
|
freeglut/freeglut/src/android/fg_joystick_android.c -text
|
||||||
|
@ -105,6 +105,7 @@ ELSEIF(ANDROID)
|
|||||||
src/android/native_app_glue/android_native_app_glue.h
|
src/android/native_app_glue/android_native_app_glue.h
|
||||||
src/android/fg_runtime_android.c
|
src/android/fg_runtime_android.c
|
||||||
src/android/fg_gamemode_android.c
|
src/android/fg_gamemode_android.c
|
||||||
|
src/android/fg_init_android.c
|
||||||
src/android/fg_input_devices_android.c
|
src/android/fg_input_devices_android.c
|
||||||
src/android/fg_joystick_android.c
|
src/android/fg_joystick_android.c
|
||||||
src/android/fg_main_android.c
|
src/android/fg_main_android.c
|
||||||
|
38
freeglut/freeglut/src/android/fg_init_android.c
Normal file
38
freeglut/freeglut/src/android/fg_init_android.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* freeglut_init_android.c
|
||||||
|
*
|
||||||
|
* Various freeglut initialization functions.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Sylvain Beucler
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
* PAWEL W. OLSZTA 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <GL/freeglut.h>
|
||||||
|
#include "fg_internal.h"
|
||||||
|
|
||||||
|
void fgPlatformInitialize()
|
||||||
|
{
|
||||||
|
fghPlatformInitializeEGL();
|
||||||
|
fgState.Initialised = GL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fgPlatformCloseDisplay()
|
||||||
|
{
|
||||||
|
fghPlatformCloseDisplayEGL();
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* freeglut_init_android.c
|
* freeglut_init_egl.c
|
||||||
*
|
*
|
||||||
* Various freeglut initialization functions.
|
* Various freeglut initialization functions.
|
||||||
*
|
*
|
||||||
@ -27,16 +27,11 @@
|
|||||||
#include <GL/freeglut.h>
|
#include <GL/freeglut.h>
|
||||||
#include "fg_internal.h"
|
#include "fg_internal.h"
|
||||||
|
|
||||||
#include <android/native_app_glue/android_native_app_glue.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A call to this function should initialize all the display stuff...
|
* A call to this function should initialize all the display stuff...
|
||||||
*/
|
*/
|
||||||
void fgPlatformInitialize( const char* displayName )
|
void fghPlatformInitializeEGL()
|
||||||
{
|
{
|
||||||
fprintf(stderr, "fgPlatformInitialize\n");
|
|
||||||
fgState.Initialised = GL_TRUE;
|
|
||||||
|
|
||||||
/* CreateDisplay */
|
/* CreateDisplay */
|
||||||
/* Using EGL_DEFAULT_DISPLAY, or a specific native display */
|
/* Using EGL_DEFAULT_DISPLAY, or a specific native display */
|
||||||
EGLNativeDisplayType nativeDisplay = EGL_DEFAULT_DISPLAY;
|
EGLNativeDisplayType nativeDisplay = EGL_DEFAULT_DISPLAY;
|
||||||
@ -59,7 +54,7 @@ void fgPlatformInitialize( const char* displayName )
|
|||||||
// fgDisplay.ScreenHeightMM = ...;
|
// fgDisplay.ScreenHeightMM = ...;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fgPlatformCloseDisplay ( void )
|
void fghPlatformCloseDisplayEGL()
|
||||||
{
|
{
|
||||||
if (fgDisplay.pDisplay.egl.Display != EGL_NO_DISPLAY) {
|
if (fgDisplay.pDisplay.egl.Display != EGL_NO_DISPLAY) {
|
||||||
eglTerminate(fgDisplay.pDisplay.egl.Display);
|
eglTerminate(fgDisplay.pDisplay.egl.Display);
|
||||||
|
@ -28,6 +28,9 @@
|
|||||||
|
|
||||||
extern SFG_Structure fgStructure;
|
extern SFG_Structure fgStructure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize default platform-specific fields in SFG_Window
|
||||||
|
*/
|
||||||
void fgPlatformCreateWindow ( SFG_Window *window )
|
void fgPlatformCreateWindow ( SFG_Window *window )
|
||||||
{
|
{
|
||||||
window->Window.pContext.egl.Surface = EGL_NO_SURFACE;
|
window->Window.pContext.egl.Surface = EGL_NO_SURFACE;
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#ifndef __FG_WINDOW_EGL_H__
|
#ifndef __FG_WINDOW_EGL_H__
|
||||||
#define __FG_WINDOW_EGL_H__
|
#define __FG_WINDOW_EGL_H__
|
||||||
|
|
||||||
|
extern void fghChooseConfigEGL(EGLConfig* config);
|
||||||
extern void fghPlatformOpenWindowEGL( SFG_Window* window );
|
extern void fghPlatformOpenWindowEGL( SFG_Window* window );
|
||||||
extern void fghCreateNewContextEGL( SFG_Window* window );
|
extern void fghCreateNewContextEGL( SFG_Window* window );
|
||||||
extern void fghPlatformCloseWindowEGL( SFG_Window* window );
|
extern void fghPlatformCloseWindowEGL( SFG_Window* window );
|
||||||
|
Reference in New Issue
Block a user