Changeset 1439 for trunk/src/platform
- Timestamp:
- Jun 4, 2012, 7:18:45 PM (11 years ago)
- Location:
- trunk/src/platform/nacl
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/platform/nacl/nacl_instance.cpp
r1435 r1439 52 52 static double const DELTA_MS = 1000.0 / 60.0; 53 53 54 void TickCallback(void* data, int32_t result)54 void NaClInstance::TickCallback(void* data, int32_t result) 55 55 { 56 56 NaClInstance *instance = (NaClInstance *)data; … … 60 60 pp::Module::Get()->core()->CallOnMainThread( 61 61 DELTA_MS, pp::CompletionCallback(&TickCallback, data), PP_OK); 62 63 /* Propagate gamepad information */ 64 PP_GamepadsSampleData all_pads_data; 65 instance->m_pad_interface->Sample(instance->pp_instance(), &all_pads_data); 66 67 for (int i = 0; i < all_pads_data.length; i++) 68 { 69 PP_GamepadSampleData const& pad_data = all_pads_data.items[i]; 70 71 if (i >= instance->m_sticks.Count()) 72 { 73 Stick *stick = Input::CreateStick(); 74 instance->m_sticks.Push(stick); 75 } 76 77 instance->m_sticks[i]->SetAxisCount(pad_data.axes_length); 78 for (int j = 0; j < pad_data.axes_length; j++) 79 instance->m_sticks[i]->SetAxis(j, pad_data.axes[j]); 80 81 instance->m_sticks[i]->SetButtonCount(pad_data.buttons_length); 82 for (int j = 0; j < pad_data.buttons_length; j++) 83 instance->m_sticks[i]->SetButton(j, pad_data.buttons[j] > 0.5f); 84 } 62 85 } 63 86 … … 66 89 const char* argv[]) 67 90 { 68 // My timer callback 69 pp::Module::Get()->core()->CallOnMainThread( 70 DELTA_MS, pp::CompletionCallback(&TickCallback, this), PP_OK); 91 Ticker::Setup(60.0f); 71 92 72 93 /* Call the user's main() function. FIXME: run it in a thread */ … … 76 97 lol_nacl_main(argc, const_cast<char **>(argv), (char **)env); 77 98 99 // My timer callback 100 pp::Module::Get()->core()->CallOnMainThread( 101 DELTA_MS, pp::CompletionCallback(&TickCallback, this), PP_OK); 102 103 /* The gamepad interface */ 104 m_pad_interface = static_cast<PPB_Gamepad const *>( 105 pp::Module::Get()->GetBrowserInterface(PPB_GAMEPAD_INTERFACE)); 106 78 107 return true; 108 } 109 110 void NaClInstance::RunMain(uint32_t argc, 111 const char* /* argn */[], 112 const char* argv[]) 113 { 114 79 115 } 80 116 -
trunk/src/platform/nacl/nacl_instance.h
r1435 r1439 6 6 #define EXAMPLES_TUMBLER_TUMBLER_H_ 7 7 8 #include <pthread.h>9 #include <map>10 #include <vector>11 12 8 #include <ppapi/cpp/instance.h> 9 #include <ppapi/c/ppb_gamepad.h> 13 10 14 11 #include "platform/nacl/opengl_context.h" 15 12 #include "platform/nacl/opengl_context_ptrs.h" 13 14 #include "input/input.h" 16 15 17 16 namespace lol { … … 48 47 49 48 private: 49 static void TickCallback(void* data, int32_t result); 50 50 51 static void CallIntMainWrappers(int argc, char const* argn[]); 51 52 static void CallVoidMainWrappers(int argc, char const* argn[]); 53 54 static void RunMain(uint32_t argc, const char* argn[], const char* argv[]); 55 56 /* Gamepad support */ 57 PPB_Gamepad const *m_pad_interface; 58 Array<Stick *> m_sticks; 52 59 }; 53 60
Note: See TracChangeset
for help on using the changeset viewer.