@@ -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; | ||||