+
+static int ControlWindow( intf_thread_t *p_intf, void *p_window,
+ int i_query, va_list args )
+{
+ return p_intf->p_sys->p_video_window->ControlWindow( p_window, i_query,
+ args );
+}
+
+int VideoWindow::ControlWindow( void *p_window, int i_query, va_list args )
+{
+ int i_ret = VLC_EGENERIC;
+
+ vlc_mutex_lock( &lock );
+
+ switch( i_query )
+ {
+ case VOUT_SET_ZOOM:
+ {
+ double f_arg = va_arg( args, double );
+
+ /* Update dimensions */
+ wxSizeEvent event( wxSize(p_vout->render.i_width * f_arg,
+ p_vout->render.i_height * f_arg),
+ UpdateSize_Event );
+ AddPendingEvent( event );
+
+ i_ret = VLC_SUCCESS;
+ }
+ break;
+
+ default:
+ msg_Dbg( p_intf, "control query not supported" );
+ break;
+ }
+
+ vlc_mutex_unlock( &lock );
+
+ return i_ret;
+}