Commit 4e845887 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

XCB: develop resize handling

parent 675c7aea
...@@ -91,27 +91,6 @@ static void HandleMotionNotify (vout_thread_t *vout, ...@@ -91,27 +91,6 @@ static void HandleMotionNotify (vout_thread_t *vout,
var_SetInteger (vout, "mouse-y", v); var_SetInteger (vout, "mouse-y", v);
} }
static void
HandleParentStructure (vout_thread_t *vout, xcb_connection_t *conn,
xcb_window_t xid, xcb_configure_notify_event_t *ev)
{
unsigned width, height, x, y;
vout_PlacePicture (vout, ev->width, ev->height, &x, &y, &width, &height);
if (width != vout->fmt_out.i_visible_width
|| height != vout->fmt_out.i_visible_height)
{
vout->i_changes |= VOUT_SIZE_CHANGE;
return; /* vout will be reinitialized */
}
/* Move the picture within the window */
const uint32_t values[] = { x, y, };
xcb_configure_window (conn, xid,
XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y,
values);
}
/** /**
* Process an X11 event. * Process an X11 event.
*/ */
......
...@@ -403,3 +403,24 @@ static int Manage (vout_thread_t *vout) ...@@ -403,3 +403,24 @@ static int Manage (vout_thread_t *vout)
} }
return VLC_SUCCESS; return VLC_SUCCESS;
} }
void
HandleParentStructure (vout_thread_t *vout, xcb_connection_t *conn,
xcb_window_t xid, xcb_configure_notify_event_t *ev)
{
unsigned width, height, x, y;
vout_PlacePicture (vout, ev->width, ev->height, &x, &y, &width, &height);
if (width != vout->fmt_out.i_visible_width
|| height != vout->fmt_out.i_visible_height)
{
vout->i_changes |= VOUT_SIZE_CHANGE;
return; /* vout will be reinitialized */
}
/* Move the picture within the window */
const uint32_t values[] = { x, y, };
xcb_configure_window (conn, xid,
XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y,
values);
}
...@@ -29,7 +29,11 @@ ...@@ -29,7 +29,11 @@
int CheckError (vout_thread_t *, const char *str, xcb_void_cookie_t); int CheckError (vout_thread_t *, const char *str, xcb_void_cookie_t);
int ProcessEvent (vout_thread_t *, xcb_connection_t *, xcb_window_t, int ProcessEvent (vout_thread_t *, xcb_connection_t *, xcb_window_t,
xcb_generic_event_t *); xcb_generic_event_t *);
void HandleParentStructure (vout_thread_t *vout, xcb_connection_t *conn,
xcb_window_t xid, xcb_configure_notify_event_t *ev);
/* keys.c */
typedef struct key_handler_t key_handler_t; typedef struct key_handler_t key_handler_t;
key_handler_t *CreateKeyHandler (vlc_object_t *, xcb_connection_t *); key_handler_t *CreateKeyHandler (vlc_object_t *, xcb_connection_t *);
void DestroyKeyHandler (key_handler_t *); void DestroyKeyHandler (key_handler_t *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment