summaryrefslogtreecommitdiffstats
path: root/video/out/x11_common.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-01-26 22:37:47 +0100
committerwm4 <wm4@nowhere>2013-01-27 13:30:53 +0100
commita243acb1deccd9526f3867d9a6500743dc190f95 (patch)
treeb33cac6a373bc42f6c685d6f9a0281acffcd5007 /video/out/x11_common.h
parent9747227e47326851c41fceb386d72f498fba7f87 (diff)
downloadmpv-a243acb1deccd9526f3867d9a6500743dc190f95.tar.bz2
mpv-a243acb1deccd9526f3867d9a6500743dc190f95.tar.xz
x11: cleanup, refactor
Move things that are used by vo_xv only into vo_xv, same for vo_x11. Rename some functions exported by x11_common, like vo_init to vo_x11_common. Make functions not used outsode of x11_common.c private to that file. Eliminate all global variables defined by x11_common (except error handler and colormap stuff). There shouldn't be any functional changes, and only code is moved around. There are some minor simplifications in the X11 init code, as we completely remove the ability to initialize X11 and X11+VO separately (see commit b4d9647 "mplayer: do not create X11 state in player frontend"), and the respective functions are conflated into vo_x11_init() and vo_x11_uninit().
Diffstat (limited to 'video/out/x11_common.h')
-rw-r--r--video/out/x11_common.h84
1 files changed, 18 insertions, 66 deletions
diff --git a/video/out/x11_common.h b/video/out/x11_common.h
index dc5e94edc7..170418ec56 100644
--- a/video/out/x11_common.h
+++ b/video/out/x11_common.h
@@ -34,24 +34,22 @@ struct vo_x11_state {
Window rootwin;
int screen;
int display_is_local;
- int depthonscreen;
+
+ int screensaver_off;
+ int dpms_disabled;
+ unsigned int screensaver_time_last;
XIM xim;
XIC xic;
GC vo_gc;
- struct xv_ck_info_s {
- int method; ///< CK_METHOD_* constants
- int source; ///< CK_SRC_* constants
- } xv_ck_info;
- unsigned long xv_colorkey;
- unsigned int xv_port;
-
int wm_type;
int fs_type;
int window_state;
int fs_flip;
+ int fs_layer;
+ int vm_set;
GC f_gc;
XSizeHints vo_hint;
@@ -80,6 +78,14 @@ struct vo_x11_state {
unsigned int oldfuncs;
XComposeStatus compose_status;
+ int vo_gamma;
+ int vo_brightness;
+ int vo_contrast;
+
+ Colormap cmap;
+ XColor cols[256];
+ int cm_size, red_mask, green_mask, blue_mask;
+
/* XShm stuff */
int ShmCompletionEvent;
/* Number of outstanding XShmPutImage requests */
@@ -105,38 +111,13 @@ struct vo_x11_state {
Atom XA_NET_WM_CM;
};
-#define vo_wm_LAYER 1
-#define vo_wm_FULLSCREEN 2
-#define vo_wm_STAYS_ON_TOP 4
-#define vo_wm_ABOVE 8
-#define vo_wm_BELOW 16
-#define vo_wm_NETWM (vo_wm_FULLSCREEN | vo_wm_STAYS_ON_TOP | vo_wm_ABOVE | vo_wm_BELOW)
-
-/* EWMH state actions, see
- http://freedesktop.org/Standards/wm-spec/index.html#id2768769 */
-#define _NET_WM_STATE_REMOVE 0 /* remove/unset property */
-#define _NET_WM_STATE_ADD 1 /* add/set property */
-#define _NET_WM_STATE_TOGGLE 2 /* toggle property */
-
-extern int metacity_hack;
-
-extern char** vo_fstype_list;
-
-struct vo_x11_state *vo_x11_init_state(void);
-int vo_init(struct vo *vo);
-void vo_uninit(struct vo_x11_state *x11);
-void vo_x11_decoration(struct vo *vo, int d );
-void vo_x11_classhint(struct vo *vo, Window window, const char *name);
-void vo_x11_sizehint(struct vo *vo, int x, int y, int width, int height, int max);
+int vo_x11_init(struct vo *vo);
+void vo_x11_uninit(struct vo *vo);
int vo_x11_check_events(struct vo *vo);
-void vo_x11_selectinput_witherr(Display *display, Window w, long event_mask);
void vo_x11_fullscreen(struct vo *vo);
-int vo_x11_update_geometry(struct vo *vo, bool update_pos);
-void vo_x11_setlayer(struct vo *vo, Window vo_window, int layer);
-void vo_x11_uninit(struct vo *vo);
Colormap vo_x11_create_colormap(struct vo *vo, XVisualInfo *vinfo);
uint32_t vo_x11_set_equalizer(struct vo *vo, const char *name, int value);
-uint32_t vo_x11_get_equalizer(const char *name, int *value);
+uint32_t vo_x11_get_equalizer(struct vo *vo, const char *name, int *value);
bool vo_x11_screen_is_composited(struct vo *vo);
void fstype_help(void);
void vo_x11_create_vo_window(struct vo *vo, XVisualInfo *vis,
@@ -147,33 +128,7 @@ void vo_x11_clearwindow_part(struct vo *vo, Window vo_window,
void vo_x11_clearwindow(struct vo *vo, Window vo_window);
void vo_x11_ontop(struct vo *vo);
void vo_x11_border(struct vo *vo);
-void vo_x11_ewmh_fullscreen(struct vo_x11_state *x11, int action);
-
-
-int vo_xv_set_eq(struct vo *vo, uint32_t xv_port, const char *name, int value);
-int vo_xv_get_eq(struct vo *vo, uint32_t xv_port, const char *name, int *value);
-
-int vo_xv_enable_vsync(struct vo *vo);
-
-void vo_xv_get_max_img_dim(struct vo *vo, uint32_t * width, uint32_t * height);
-
-/*** colorkey handling ***/
-
-#define CK_METHOD_NONE 0 ///< no colorkey drawing
-#define CK_METHOD_BACKGROUND 1 ///< set colorkey as window background
-#define CK_METHOD_AUTOPAINT 2 ///< let xv draw the colorkey
-#define CK_METHOD_MANUALFILL 3 ///< manually draw the colorkey
-#define CK_SRC_USE 0 ///< use specified / default colorkey
-#define CK_SRC_SET 1 ///< use and set specified / default colorkey
-#define CK_SRC_CUR 2 ///< use current colorkey ( get it from xv )
-
-int vo_xv_init_colorkey(struct vo *vo);
-void vo_xv_draw_colorkey(struct vo *vo, int32_t x, int32_t y, int32_t w, int32_t h);
-void xv_setup_colorkeyhandling(struct vo *vo, const char *ck_method_str, const char *ck_str);
-
-/*** test functions for common suboptions ***/
-int xv_test_ck( void * arg );
-int xv_test_ckm( void * arg );
+void vo_x11_update_screeninfo(struct vo *vo);
#ifdef CONFIG_XF86VM
void vo_vm_switch(struct vo *vo);
@@ -181,9 +136,6 @@ void vo_vm_close(struct vo *vo);
double vo_vm_get_fps(struct vo *vo);
#endif
-void update_xinerama_info(struct vo *vo);
-
-int vo_find_depth_from_visuals(Display *dpy, int screen, Visual **visual_return);
void xscreensaver_heartbeat(struct vo_x11_state *x11);
#endif /* MPLAYER_X11_COMMON_H */