mirror of
https://github.com/mpv-player/mpv
synced 2024-12-11 09:25:56 +00:00
0057aa4769
This removes a bit of ugly code and bookeeping which is never bad. `drawRect` needs to guard against different window instances since in fullscreen the view is wrapped in a fullscreen window provided by the toolkit (a instance of NSFullScreenWindow to be precise). The event handling was moved to the view so that it can still get all the events when in the fullscreen window. Ideally these should be moved to some NSResponder subclass within macosx_application and made available even when no window is present. I refrained from this because "small steps".
58 lines
1.9 KiB
C
58 lines
1.9 KiB
C
/*
|
|
* Cocoa OpenGL Backend
|
|
*
|
|
* This file is part of mplayer2.
|
|
*
|
|
* mplayer2 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.
|
|
*
|
|
* mplayer2 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 mplayer2. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef MPLAYER_COCOA_COMMON_H
|
|
#define MPLAYER_COCOA_COMMON_H
|
|
|
|
#include "vo.h"
|
|
|
|
struct vo_cocoa_state;
|
|
|
|
void *vo_cocoa_glgetaddr(const char *s);
|
|
|
|
int vo_cocoa_init(struct vo *vo);
|
|
void vo_cocoa_uninit(struct vo *vo);
|
|
|
|
int vo_cocoa_change_attributes(struct vo *vo);
|
|
int vo_cocoa_config_window(struct vo *vo, uint32_t d_width,
|
|
uint32_t d_height, uint32_t flags,
|
|
int gl3profile);
|
|
|
|
void vo_cocoa_set_current_context(struct vo *vo, bool current);
|
|
void vo_cocoa_swap_buffers(struct vo *vo);
|
|
int vo_cocoa_check_events(struct vo *vo);
|
|
void vo_cocoa_fullscreen(struct vo *vo);
|
|
void vo_cocoa_ontop(struct vo *vo);
|
|
void vo_cocoa_pause(struct vo *vo);
|
|
void vo_cocoa_resume(struct vo *vo);
|
|
int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg);
|
|
|
|
void vo_cocoa_register_resize_callback(struct vo *vo,
|
|
void (*cb)(struct vo *vo, int w, int h));
|
|
|
|
// returns an int to conform to the gl extensions from other platforms
|
|
int vo_cocoa_swap_interval(int enabled);
|
|
|
|
void *vo_cocoa_cgl_context(struct vo *vo);
|
|
void *vo_cocoa_cgl_pixel_format(struct vo *vo);
|
|
|
|
int vo_cocoa_cgl_color_size(struct vo *vo);
|
|
|
|
#endif /* MPLAYER_COCOA_COMMON_H */
|