| @@ -83,7 +83,8 @@ int audio::start_streaming(std::function<void(void *, int)> const &f) | |||||
| m_streamers.insert(s); | m_streamers.insert(s); | ||||
| s->m_empty.resize(1024); | s->m_empty.resize(1024); | ||||
| s->m_chunk = Mix_QuickLoad_RAW(s->m_empty.data(), s->m_empty.size() * sizeof(uint8_t)); | |||||
| s->m_chunk = Mix_QuickLoad_RAW(s->m_empty.data(), | |||||
| (Uint32)(s->m_empty.size() * sizeof(uint8_t))); | |||||
| s->m_channel = Mix_PlayChannel(-1, s->m_chunk, -1); | s->m_channel = Mix_PlayChannel(-1, s->m_chunk, -1); | ||||
| s->m_callback = f; | s->m_callback = f; | ||||
| Mix_RegisterEffect(s->m_channel, trampoline, nullptr, s.get()); | Mix_RegisterEffect(s->m_channel, trampoline, nullptr, s.get()); | ||||
| @@ -52,7 +52,7 @@ public: | |||||
| subinitializer.fill_sizes(sizes - 1); | subinitializer.fill_sizes(sizes - 1); | ||||
| } | } | ||||
| void fill_values(T * origin, int prev, ptrdiff_t * sizes) | |||||
| void fill_values(T * origin, ptrdiff_t prev, ptrdiff_t * sizes) | |||||
| { | { | ||||
| int pos = 0; | int pos = 0; | ||||
| @@ -81,7 +81,7 @@ public: | |||||
| *sizes = max(*sizes, (ptrdiff_t)m_initializers.size()); | *sizes = max(*sizes, (ptrdiff_t)m_initializers.size()); | ||||
| } | } | ||||
| void fill_values(T * origin, int prev, ptrdiff_t * sizes) | |||||
| void fill_values(T * origin, ptrdiff_t prev, ptrdiff_t * sizes) | |||||
| { | { | ||||
| int pos = 0; | int pos = 0; | ||||
| @@ -104,24 +104,7 @@ std::shared_ptr<input::device::joystick> input::joystick(int n) | |||||
| // input::device | // input::device | ||||
| // | // | ||||
| std::string input::device::keyboard::text() | |||||
| { | |||||
| std::string ret = m_text; | |||||
| m_text = ""; | |||||
| return ret; | |||||
| } | |||||
| bool input::device::keyboard::capture_text() | |||||
| { | |||||
| return m_input_active; | |||||
| } | |||||
| void input::device::keyboard::capture_text(bool status) | |||||
| { | |||||
| m_input_active = status; | |||||
| } | |||||
| void input::device::keyboard::internal_add_key(input::key key, const char* name) | |||||
| void input::device::internal_add_key(input::key key, const char* name) | |||||
| { | { | ||||
| while ((int)key >= (int)m_key_names.size()) | while ((int)key >= (int)m_key_names.size()) | ||||
| { | { | ||||
| @@ -154,4 +137,25 @@ void input::device::internal_add_axis(input::axis axis, const char* name) | |||||
| m_axis_names[(int)axis] = name; | m_axis_names[(int)axis] = name; | ||||
| } | } | ||||
| // | |||||
| // input::device::keyboard | |||||
| // | |||||
| std::string input::device::keyboard::text() | |||||
| { | |||||
| std::string ret = m_text; | |||||
| m_text = ""; | |||||
| return ret; | |||||
| } | |||||
| bool input::device::keyboard::capture_text() | |||||
| { | |||||
| return m_input_active; | |||||
| } | |||||
| void input::device::keyboard::capture_text(bool status) | |||||
| { | |||||
| m_input_active = status; | |||||
| } | |||||
| } /* namespace lol */ | } /* namespace lol */ | ||||
| @@ -70,6 +70,7 @@ public: | |||||
| // Get the name of this input device | // Get the name of this input device | ||||
| const std::string& name() const { return m_name; } | const std::string& name() const { return m_name; } | ||||
| #if 0 | |||||
| // | // | ||||
| // Bindings section | // Bindings section | ||||
| // | // | ||||
| @@ -82,6 +83,7 @@ public: | |||||
| void bind(input::axis axis, uint16_t event); | void bind(input::axis axis, uint16_t event); | ||||
| void unbind(input::axis axis, uint16_t event); | void unbind(input::axis axis, uint16_t event); | ||||
| #endif | |||||
| // | // | ||||
| // Key, button etc. state | // Key, button etc. state | ||||
| @@ -138,6 +140,7 @@ public: | |||||
| * compile time. */ | * compile time. */ | ||||
| void internal_add_button(input::button, char const *name); | void internal_add_button(input::button, char const *name); | ||||
| void internal_add_axis(input::axis, char const *name); | void internal_add_axis(input::axis, char const *name); | ||||
| void internal_add_key(input::key, char const *name); | |||||
| /* Internal functions for the platform-specific drivers. */ | /* Internal functions for the platform-specific drivers. */ | ||||
| void internal_begin_frame() | void internal_begin_frame() | ||||
| @@ -149,6 +152,13 @@ public: | |||||
| m_changed_axes.clear(); | m_changed_axes.clear(); | ||||
| } | } | ||||
| void internal_set_key(input::key key, bool state) | |||||
| { | |||||
| if (m_keys[(int)key] != state) | |||||
| (state ? m_pressed_keys : m_released_keys).insert(key); | |||||
| m_keys[(int)key] = state; | |||||
| } | |||||
| void internal_set_button(input::button button, bool state) | void internal_set_button(input::button button, bool state) | ||||
| { | { | ||||
| if (m_buttons[(int)button] != state) | if (m_buttons[(int)button] != state) | ||||
| @@ -238,14 +248,6 @@ public: | |||||
| bool capture_text(); | bool capture_text(); | ||||
| void capture_text(bool status); | void capture_text(bool status); | ||||
| void internal_add_key(input::key, char const *name); | |||||
| void internal_set_key(input::key key, bool state) | |||||
| { | |||||
| if (m_keys[(int)key] != state) | |||||
| (state ? m_pressed_keys : m_released_keys).insert(key); | |||||
| m_keys[(int)key] = state; | |||||
| } | |||||
| void internal_add_text(std::string const &text) | void internal_add_text(std::string const &text) | ||||
| { | { | ||||
| m_text += text; | m_text += text; | ||||