bool ExampleUpdate() { if(0){ if (g_UseMultiTouch) { //g_MultiTouchButton = NewButton("Enable Multitouch"); s3ePointerUnRegister(S3E_POINTER_TOUCH_EVENT, (s3eCallback)MultiTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_TOUCH_MOTION_EVENT, (s3eCallback)MultiTouchMotionCB); //Register for standard pointer events s3ePointerRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)SingleTouchButtonCB, NULL); s3ePointerRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)SingleTouchMotionCB, NULL); } else { // g_MultiTouchButton = NewButton("Disable Multitouch"); s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)SingleTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)SingleTouchMotionCB); //Register for multi touch events. s3ePointerRegister(S3E_POINTER_TOUCH_EVENT, (s3eCallback)MultiTouchButtonCB, NULL); s3ePointerRegister(S3E_POINTER_TOUCH_MOTION_EVENT, (s3eCallback)MultiTouchMotionCB, NULL); } g_UseMultiTouch = !g_UseMultiTouch; } return true; }
//-------------------------------------------------------------------------- void ExampleShutDown() { s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)SingleTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)SingleTouchMotionCB); DeleteButtons(); }
void CCEGLView::end() { IW_CALLSTACK("CCEGLView::end"); if (m_isMultiTouch) { s3ePointerUnRegister(S3E_POINTER_TOUCH_EVENT, &MultiTouchEventHandler); s3ePointerUnRegister(S3E_POINTER_TOUCH_MOTION_EVENT, &MultiMotionEventHandler); } else { s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, &TouchEventHandler); s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, &MotionEventHandler); } // s3eKeyboardUnRegister(S3E_KEYBOARD_KEY_EVENT, &KeyEventHandler); // s3eKeyboardUnRegister(S3E_KEYBOARD_KEY_EVENT, &CharEventHandler); if (IwGLIsInitialised()) IwGLTerminate(); s3eDeviceRequestQuit() ; delete this; }
// Example showing how to use the s3eWwise extension int main() { IW_CALLSTACK("main"); s3eDebugOutputString("Booting s3eWwise example"); initWwise(); s3ePointerRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)buttonEvent, NULL); s3ePointerRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)motionEvent, NULL); IwGxInit(); IwGxSetColClear(0, 0, 0, 0xff); while(!s3eDeviceCheckQuitRequest()) { std::stringstream str; s3eWwiseSoundEngineRenderAudio(); IwGxClear(); IwGxPrintString(100, 100, "s3eWwise"); IwGxPrintString(100, 300, "Touch to fire event"); str << "RPM = " << rpm; IwGxPrintString(100, 400, str.str().c_str()); str.str(std::string()); str << "TH = " << touchHeight; IwGxPrintString(100, 500, str.str().c_str()); str.str(std::string()); str << "Height = " << height; IwGxPrintString(100, 600, str.str().c_str()); str.str(std::string()); IwGxFlush(); IwGxSwapBuffers(); s3eDeviceYield(0); } IwGxTerminate(); s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)buttonEvent); s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)motionEvent); shutdownWwise(); return 0; }
~CMarmaladeCursor() { if(!s3ePointerGetInt(S3E_POINTER_MULTI_TOUCH_AVAILABLE)) { s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, do_motionEvent); s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, do_buttonEvent); } else { s3ePointerUnRegister(S3E_POINTER_TOUCH_EVENT, do_touchEvent); s3ePointerUnRegister(S3E_POINTER_TOUCH_MOTION_EVENT, do_touchMotionEvent); } }
void ExampleTerm() { //Clear up if (g_UseMultiTouch) { s3ePointerUnRegister(S3E_POINTER_TOUCH_EVENT, (s3eCallback)MultiTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_TOUCH_MOTION_EVENT, (s3eCallback)MultiTouchMotionCB); } else { s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)SingleTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)SingleTouchMotionCB); } }
Input_Engine::~Input_Engine() { if( s3ePointerGetInt(S3E_POINTER_MULTI_TOUCH_AVAILABLE) ) { s3ePointerUnRegister(S3E_POINTER_TOUCH_EVENT, (s3eCallback)MultiTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_TOUCH_MOTION_EVENT, (s3eCallback)MultiTouchMotionCB); } else { s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)SingleTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)SingleTouchMotionCB); } //s3eKeyboardUnRegister(S3E_KEYBOARD_KEY_EVENT, keyboardHandler); }
void CInput::Release() { if (PointerAvailable) { // Unregister the pointer system callbacks if (IsMultiTouch) { s3ePointerUnRegister(S3E_POINTER_TOUCH_EVENT, (s3eCallback)HandleMultiTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_TOUCH_MOTION_EVENT, (s3eCallback)HandleMultiTouchMotionCB); } else { s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)HandleSingleTouchButtonCB); s3ePointerUnRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)HandleSingleTouchMotionCB); } } }
int main() { IwGxInit(); Iw2DInit(); AppWarp::Client* WarpClientRef; AppWarp::Client::initialize("b29f4030aba3b2bc7002c4eae6815a4130c862c386e43ae2a0a092b27de1c5af","bf45f27e826039754f8dda659166d59ffb7b9dce830ac51d6e6b576ae4b26f7e"); WarpClientRef = AppWarp::Client::getInstance(); MenuScreen *menu = new MenuScreen; GameScreen *game = new GameScreen(WarpClientRef); Game *gm = new Game; gm->AddScene("game",game); gm->AddScene("menu",menu); menu->game = game; menu->app = gm; Listener listener(WarpClientRef,game); WarpClientRef->setConnectionRequestListener(&listener); WarpClientRef->setRoomRequestListener(&listener); WarpClientRef->setNotificationListener(&listener); s3ePointerRegister(S3E_POINTER_BUTTON_EVENT,(s3eCallback)HandleSingleTouchButtonCB,gm); while(!s3eDeviceCheckQuitRequest()) { s3eKeyboardUpdate(); if(s3eKeyboardGetState(s3eKeyAbsBSK) & S3E_KEY_STATE_DOWN) break; WarpClientRef->update(); s3ePointerUpdate(); IwGxClear(IW_GX_COLOUR_BUFFER_F | IW_GX_DEPTH_BUFFER_F); IwGxPrintSetScale(2); IwGxPrintString(0,0,game->msg.c_str()); gm->Move(); gm->Render(); Iw2DSurfaceShow(); s3eDeviceYield(); } s3ePointerUnRegister(S3E_POINTER_BUTTON_EVENT,(s3eCallback)HandleSingleTouchButtonCB); gm->CleanUp(); delete menu; delete game; delete gm; WarpClientRef->terminate(); Iw2DTerminate(); IwGxTerminate(); }