mirror of
https://github.com/mpv-player/mpv
synced 2025-01-29 03:02:53 +00:00
ede652774e
Until now, mouse positions were just passed to the core as-is, even if the mouse coordinates didn't map to any useful coordinate space, like OSD coordinates. Lua scripting (used by the OSC, the only current user of mouse input) had to translate mouse coordinates manually to OSD space using mp_get_osd_mouse_pos(). This actually didn't work correctly in cases mouse coordinates didn't map to OSD (like vo_xv): the mouse coordinates the OSC got were correct, but input.c was still expecting "real" mosue coordinates for mouse areas. Fix this by converting to OSD coordinates before passing the mouse position to the core.
50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
/*
|
|
* This file is part of MPlayer.
|
|
*
|
|
* MPlayer is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* MPlayer is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#ifndef MPLAYER_COMMAND_H
|
|
#define MPLAYER_COMMAND_H
|
|
|
|
struct MPContext;
|
|
struct mp_cmd;
|
|
|
|
void command_init(struct MPContext *mpctx);
|
|
|
|
void run_command(struct MPContext *mpctx, struct mp_cmd *cmd);
|
|
char *mp_property_expand_string(struct MPContext *mpctx, const char *str);
|
|
void property_print_help(void);
|
|
int mp_property_do(const char* name, int action, void* val,
|
|
struct MPContext *mpctx);
|
|
|
|
const struct m_option *mp_get_property_list(void);
|
|
|
|
enum mp_event {
|
|
MP_EVENT_NONE,
|
|
MP_EVENT_TICK,
|
|
MP_EVENT_PROPERTY, // char*, property that is changed
|
|
MP_EVENT_TRACKS_CHANGED,
|
|
MP_EVENT_START_FILE,
|
|
MP_EVENT_END_FILE,
|
|
};
|
|
|
|
void mp_notify(struct MPContext *mpctx, enum mp_event event, void *arg);
|
|
void mp_notify_property(struct MPContext *mpctx, const char *property);
|
|
|
|
void mp_flush_events(struct MPContext *mpctx);
|
|
|
|
#endif /* MPLAYER_COMMAND_H */
|