JNIEXPORT void JNICALL Java_com_jeffboody_a3d_A3DNativeRenderer_NativeChangeSurface(JNIEnv* env, jobject obj, jint w, jint h) { assert(env); LOGD("debug"); if(gears_renderer) { gears_renderer_resize(gears_renderer, w, h); } }
int main( int argc, char ** argv ) { // Initialize SDL if(SDL_Init(SDL_INIT_VIDEO) < 0) { LOGE("%s", SDL_GetError()); return EXIT_FAILURE; } atexit(Quit); if(!(Surface = SDL_SetVideoMode(WIDTH, HEIGHT, 24, Video_Flags))) { LOGE("%s", SDL_GetError()); return EXIT_FAILURE; } SDL_WM_SetCaption("gears2-sdl", "gears2-sdl"); // Initialize Glew GLenum glew_error = glewInit(); if(GLEW_OK != glew_error) { LOGE("%s", glewGetErrorString(glew_error)); return EXIT_FAILURE; } // Initialize gears renderer gears_renderer = gears_renderer_new("whitrabt.texgz"); if(gears_renderer == NULL) { return EXIT_FAILURE; } gears_renderer_resize(gears_renderer, WIDTH, HEIGHT); // Main Loop while(1) { while(SDL_PollEvent(&Event)) { if(Event.type == SDL_KEYDOWN) { if(Event.key.keysym.sym == SDLK_F1) SDL_WM_ToggleFullScreen(Surface); else if(Event.key.keysym.sym == SDLK_ESCAPE) return EXIT_SUCCESS; Video_Info = SDL_GetVideoInfo(); gears_renderer_resize(gears_renderer, Video_Info->current_w, Video_Info->current_h); } else if(Event.type == SDL_VIDEORESIZE) { if(!(Surface = SDL_SetVideoMode(Event.resize.w, Event.resize.h, 24, Video_Flags))) { LOGE("%s", SDL_GetError()); return EXIT_FAILURE; } gears_renderer_resize(gears_renderer, Event.resize.w, Event.resize.h); } else if(Event.type == SDL_QUIT) { return EXIT_SUCCESS; } } gears_renderer_draw(gears_renderer); SDL_GL_SwapBuffers(); } }
int main(int argc, char** argv) { int w = 0; int h = 0; loax_client_t* c = loax_client_new(); if(c == NULL) { return EXIT_FAILURE; } // Initialize gears renderer gears_renderer = gears_renderer_new("whitrabt.texgz"); if(gears_renderer == NULL) { return EXIT_FAILURE; } do { loax_event_t e; while(loax_client_poll(c, &e)) { if((e.type == LOAX_EVENT_TOUCHDOWN) || (e.type == LOAX_EVENT_TOUCHUP) || (e.type == LOAX_EVENT_TOUCHMOVE)) { touch_event(gears_renderer, &e); } else if(e.type == LOAX_EVENT_AXISMOVE) { int axis = e.event_axis.axis; float value = e.event_axis.value; if(axis == LOAX_AXIS_X1) { g_axis_x1 = value; } else if(axis == LOAX_AXIS_Y1) { g_axis_y1 = value; } else if(axis == LOAX_AXIS_X2) { g_axis_x2 = value; } else if(axis == LOAX_AXIS_Y2) { g_axis_y2 = value; } } } loax_client_size(c, &w, &h); axis_update(gears_renderer, w, h); gears_renderer_resize(gears_renderer, w, h); gears_renderer_draw(gears_renderer); } while(loax_client_swapbuffers(c)); gears_renderer_delete(&gears_renderer); loax_client_delete(&c); return EXIT_SUCCESS; }