enum {
VOUT_WINDOW_TYPE_XID,
VOUT_WINDOW_TYPE_HWND,
+ VOUT_WINDOW_TYPE_NSOBJECT,
};
/**
* Control query for vout_window_t
*/
enum {
- VOUT_WINDOW_SET_ON_TOP, /* int b_on_top */
- VOUT_WINDOW_SET_SIZE, /* int i_width, int i_height */
+ VOUT_WINDOW_SET_STATE, /* unsigned state */
+ VOUT_WINDOW_SET_SIZE, /* unsigned i_width, unsigned i_height */
+ VOUT_WINDOW_SET_FULLSCREEN, /* int b_fullscreen */
};
typedef struct {
struct vout_window_t {
VLC_COMMON_MEMBERS
- /* Module */
- module_t *module;
-
/* Initial state (reserved).
* Once the open function is called, it will be set to NULL
*/
* It must be filled in the open function.
*/
union {
- void *hwnd; /* Win32 window handle */
- uint32_t xid; /* X11 windows ID */
+ void *hwnd; /* Win32 window handle */
+ uint32_t xid; /* X11 windows ID */
+ void *nsobject; /* Mac OSX view object */
} handle;
+ /* display server (mandatory) */
+ union {
+ char *x11; /* X11 display (NULL = use default) */
+ } display;
+
/* Control on the module (mandatory)
*
* Do not use it directly; use vout_window_Control instead.
VLC_EXPORT( int, vout_window_Control, (vout_window_t *, int query, ...) );
/**
- * Configure the "On Top" properties of a windows.
+ * Configure the window management state of a windows.
*/
-static inline int vout_window_SetOnTop(vout_window_t *window, bool is_on_top)
+static inline int vout_window_SetState(vout_window_t *window, unsigned state)
{
- return vout_window_Control(window, VOUT_WINDOW_SET_ON_TOP, is_on_top);
+ return vout_window_Control(window, VOUT_WINDOW_SET_STATE, state);
}
/**
* Configure the windows display size.
*/
-static inline int vout_window_SetSize(vout_window_t *window, int width, int height)
+static inline int vout_window_SetSize(vout_window_t *window,
+ unsigned width, unsigned height)
{
return vout_window_Control(window, VOUT_WINDOW_SET_SIZE, width, height);
}
+/**
+ * Configure the windows fullscreen mode.
+ */
+static inline int vout_window_SetFullScreen(vout_window_t *window, bool full)
+{
+ return vout_window_Control(window, VOUT_WINDOW_SET_FULLSCREEN, full);
+}
+
#endif /* VLC_VOUT_WINDOW_H */