Initialize input manager dynamically
The input manager was partially initialized statically, but a call to input_manager_init() was needed anyway, so initialize all the fields from the "constructor". This is consistent with the initialization of the other structs.
This commit is contained in:
parent
dcee7c0f7f
commit
6a2cd089a1
3 changed files with 11 additions and 19 deletions
|
@ -52,9 +52,13 @@ is_shortcut_mod(struct input_manager *im, uint16_t sdl_mod) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
input_manager_init(struct input_manager *im,
|
input_manager_init(struct input_manager *im, struct controller *controller,
|
||||||
const struct scrcpy_options *options)
|
struct screen *screen,
|
||||||
{
|
const struct scrcpy_options *options) {
|
||||||
|
im->controller = controller;
|
||||||
|
im->screen = screen;
|
||||||
|
im->repeat = 0;
|
||||||
|
|
||||||
im->control = options->control;
|
im->control = options->control;
|
||||||
im->forward_key_repeat = options->forward_key_repeat;
|
im->forward_key_repeat = options->forward_key_repeat;
|
||||||
im->prefer_text = options->prefer_text;
|
im->prefer_text = options->prefer_text;
|
||||||
|
|
|
@ -42,8 +42,8 @@ struct input_manager {
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
input_manager_init(struct input_manager *im,
|
input_manager_init(struct input_manager *im, struct controller *controller,
|
||||||
const struct scrcpy_options *options);
|
struct screen *screen, const struct scrcpy_options *options);
|
||||||
|
|
||||||
bool
|
bool
|
||||||
input_manager_handle_event(struct input_manager *im, SDL_Event *event);
|
input_manager_handle_event(struct input_manager *im, SDL_Event *event);
|
||||||
|
|
|
@ -40,19 +40,7 @@ static struct sc_v4l2_sink v4l2_sink;
|
||||||
#endif
|
#endif
|
||||||
static struct controller controller;
|
static struct controller controller;
|
||||||
static struct file_handler file_handler;
|
static struct file_handler file_handler;
|
||||||
|
static struct input_manager input_manager;
|
||||||
static struct input_manager input_manager = {
|
|
||||||
.controller = &controller,
|
|
||||||
.screen = &screen,
|
|
||||||
.repeat = 0,
|
|
||||||
|
|
||||||
// initialized later
|
|
||||||
.prefer_text = false,
|
|
||||||
.sdl_shortcut_mods = {
|
|
||||||
.data = {0},
|
|
||||||
.count = 0,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
BOOL WINAPI windows_ctrl_handler(DWORD ctrl_type) {
|
BOOL WINAPI windows_ctrl_handler(DWORD ctrl_type) {
|
||||||
|
@ -422,7 +410,7 @@ scrcpy(const struct scrcpy_options *options) {
|
||||||
}
|
}
|
||||||
stream_started = true;
|
stream_started = true;
|
||||||
|
|
||||||
input_manager_init(&input_manager, options);
|
input_manager_init(&input_manager, &controller, &screen, options);
|
||||||
|
|
||||||
ret = event_loop(options);
|
ret = event_loop(options);
|
||||||
LOGD("quit...");
|
LOGD("quit...");
|
||||||
|
|
Loading…
Reference in a new issue