[vlc-devel] commit: WinCE: wingdi plugin update (Geoffroy Couprie )

Jean-Baptiste Kempf jb at videolan.org
Wed Sep 24 09:16:09 CEST 2008


On Mon, Sep 22, 2008 at 04:42:07PM +0200, git version control wrote :
> vlc | branch: 0.9-bugfix | Geoffroy Couprie <geo.couprie at gmail.com> | Thu Sep  4 14:49:23 2008 +0200| [355168879ee0cc465cc09049c8192b7ffada203c] | committer: Jean-Baptiste Kempf 
> 
> WinCE: wingdi plugin update

And this bring the issue of "Taskbar in front of the video when you click
on the fullscreen controller" and on "interface in front of video if
always on top"...

Great.

> 
> Signed-off-by: Rémi Denis-Courmont <rdenis at simphalempin.com>
> (cherry picked from commit 84b3a5e68b9c354f364ce8fe9291b7e905cd51c0)
> 
> Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> 
> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=355168879ee0cc465cc09049c8192b7ffada203c
> ---
> 
>  modules/video_output/msw/events.c |   32 ++++++++++++++++----------
>  modules/video_output/msw/vout.h   |   45 ++++++++++++++++++++++++++++++++-----
>  modules/video_output/msw/wingdi.c |   12 +++++-----
>  3 files changed, 65 insertions(+), 24 deletions(-)
> 
> diff --git a/modules/video_output/msw/events.c b/modules/video_output/msw/events.c
> index 4edb568..623f439 100644
> --- a/modules/video_output/msw/events.c
> +++ b/modules/video_output/msw/events.c
> @@ -59,12 +59,18 @@
>  #include "vlc_keys.h"
>  #include "vout.h"
>  
> -#if defined(UNDER_CE) && !defined(__PLUGIN__) /*FIXME*/
> -#   define SHFS_SHOWSIPBUTTON 0x0004
> +#ifdef UNDER_CE
> +#include <aygshell.h>
> +    //WINSHELLAPI BOOL WINAPI SHFullScreen(HWND hwndRequester, DWORD dwState);
> +#endif
> +
> +/*#if defined(UNDER_CE) && !defined(__PLUGIN__) /*FIXME*/
> +/*#   define SHFS_SHOWSIPBUTTON 0x0004
>  #   define SHFS_HIDESIPBUTTON 0x0008
>  #   define MENU_HEIGHT 26
>      BOOL SHFullScreen(HWND hwndRequester, DWORD dwState);
> -#endif
> +#endif*/
> +
>  
>  /*****************************************************************************
>   * Local prototypes.
> @@ -907,16 +913,16 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
>          if( !p_vout->p_sys->b_parent_focus ) GXSuspend();
>  #endif
>  #ifdef UNDER_CE
> -        if( hWnd == p_vout->p_sys->hfswnd )
> +        if( hwnd == p_vout->p_sys->hfswnd )
>          {
>              HWND htbar = FindWindow( _T("HHTaskbar"), NULL );
>              ShowWindow( htbar, SW_SHOW );
>          }
>  
>          if( !p_vout->p_sys->hparent ||
> -            hWnd == p_vout->p_sys->hfswnd )
> +            hwnd == p_vout->p_sys->hfswnd )
>          {
> -            SHFullScreen( hWnd, SHFS_SHOWSIPBUTTON );
> +            SHFullScreen( hwnd, SHFS_SHOWSIPBUTTON );
>          }
>  #endif
>          return 0;
> @@ -928,19 +934,19 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
>  #endif
>  #ifdef UNDER_CE
>          if( p_vout->p_sys->hparent &&
> -            hWnd != p_vout->p_sys->hfswnd && p_vout->b_fullscreen )
> +            hwnd != p_vout->p_sys->hfswnd && p_vout->b_fullscreen )
>              p_vout->p_sys->i_changes |= VOUT_FULLSCREEN_CHANGE;
>  
> -        if( hWnd == p_vout->p_sys->hfswnd )
> +        if( hwnd == p_vout->p_sys->hfswnd )
>          {
>              HWND htbar = FindWindow( _T("HHTaskbar"), NULL );
>              ShowWindow( htbar, SW_HIDE );
>          }
>  
>          if( !p_vout->p_sys->hparent ||
> -            hWnd == p_vout->p_sys->hfswnd )
> +            hwnd == p_vout->p_sys->hfswnd )
>          {
> -            SHFullScreen( hWnd, SHFS_HIDESIPBUTTON );
> +            SHFullScreen( hwnd, SHFS_HIDESIPBUTTON );
>          }
>  #endif
>          return 0;
> @@ -1195,7 +1201,8 @@ void Win32ToggleFullscreen( vout_thread_t *p_vout )
>                            rect.right, rect.bottom,
>                            SWP_NOZORDER|SWP_FRAMECHANGED );
>  
> -            HWND topLevelParent = GetAncestor( p_vout->p_sys->hparent, GA_ROOT );
> +            HWND topLevelParent = GetParent( p_vout->p_sys->hparent );
> +            //HWND topLevelParent = GetAncestor( p_vout->p_sys->hparent, GA_ROOT );
>              ShowWindow( topLevelParent, SW_HIDE );
>          }
>  
> @@ -1219,7 +1226,8 @@ void Win32ToggleFullscreen( vout_thread_t *p_vout )
>                            rect.right, rect.bottom,
>                            SWP_NOZORDER|SWP_FRAMECHANGED );
>  
> -            HWND topLevelParent = GetAncestor( p_vout->p_sys->hparent, GA_ROOT );
> +            HWND topLevelParent = GetParent( p_vout->p_sys->hparent );
> +            //HWND topLevelParent = GetAncestor( p_vout->p_sys->hparent, GA_ROOT );
>              ShowWindow( topLevelParent, SW_SHOW );
>              SetForegroundWindow( p_vout->p_sys->hparent );
>              ShowWindow( hwnd, SW_HIDE );
> diff --git a/modules/video_output/msw/vout.h b/modules/video_output/msw/vout.h
> index 52bf816..d964c36 100644
> --- a/modules/video_output/msw/vout.h
> +++ b/modules/video_output/msw/vout.h
> @@ -33,6 +33,39 @@ typedef struct event_thread_t
>  
>  } event_thread_t;
>  
> +#ifdef MODULE_NAME_IS_wingapi
> +    typedef struct GXDisplayProperties {
> +        DWORD cxWidth;
> +        DWORD cyHeight;
> +        long cbxPitch;
> +        long cbyPitch;
> +        long cBPP;
> +        DWORD ffFormat;
> +    } GXDisplayProperties;
> +
> +    typedef struct GXScreenRect {
> +        DWORD dwTop;
> +        DWORD dwLeft;
> +        DWORD dwWidth;
> +        DWORD dwHeight;
> +    } GXScreenRect;
> +
> +#   define GX_FULLSCREEN    0x01
> +#   define GX_NORMALKEYS    0x02
> +#   define GX_LANDSCAPEKEYS 0x03
> +
> +#   ifndef kfLandscape
> +#       define kfLandscape      0x8
> +#       define kfPalette        0x10
> +#       define kfDirect         0x20
> +#       define kfDirect555      0x40
> +#       define kfDirect565      0x80
> +#       define kfDirect888      0x100
> +#       define kfDirect444      0x200
> +#       define kfDirectInverted 0x400
> +#   endif
> +#endif
> +
>  /*****************************************************************************
>   * vout_sys_t: video output method descriptor
>   *****************************************************************************
> @@ -219,18 +252,18 @@ void Win32ToggleFullscreen ( vout_thread_t *p_vout );
>  #   define GCL_HBRBACKGROUND (-10)
>  #endif
>  
> -#define FindWindowEx(a,b,c,d) 0
> +//#define FindWindowEx(a,b,c,d) 0
>  
>  #define GetWindowPlacement(a,b)
>  #define SetWindowPlacement(a,b)
> -typedef struct _WINDOWPLACEMENT {
> +/*typedef struct _WINDOWPLACEMENT {
>      UINT length;
>      UINT flags;
>      UINT showCmd;
>      POINT ptMinPosition;
>      POINT ptMaxPosition;
>      RECT rcNormalPosition;
> -} WINDOWPLACEMENT;
> +} WINDOWPLACEMENT;*/
>  
>  #ifndef WM_NCMOUSEMOVE
>  #   define WM_NCMOUSEMOVE 160
> @@ -257,8 +290,8 @@ typedef struct _WINDOWPLACEMENT {
>  #define WS_EX_APPWINDOW 0x40000
>  #endif
>  
> -#define SetWindowLongPtr SetWindowLong
> -#define GetWindowLongPtr GetWindowLong
> -#define GWLP_USERDATA GWL_USERDATA
> +//#define SetWindowLongPtr SetWindowLong
> +//#define GetWindowLongPtr GetWindowLong
> +//#define GWLP_USERDATA GWL_USERDATA
>  
>  #endif //UNDER_CE
> diff --git a/modules/video_output/msw/wingdi.c b/modules/video_output/msw/wingdi.c
> index 310d3ea..d03b618 100644
> --- a/modules/video_output/msw/wingdi.c
> +++ b/modules/video_output/msw/wingdi.c
> @@ -38,9 +38,7 @@
>  
>  #include <commctrl.h>
>  
> -#include "vout.h"
> -
> -#ifdef MODULE_NAME_IS_wingapi
> +/*#ifdef MODULE_NAME_IS_wingapi
>      typedef struct GXDisplayProperties {
>          DWORD cxWidth;
>          DWORD cyHeight;
> @@ -73,6 +71,8 @@
>  #   endif
>  #endif /* MODULE_NAME_IS_wingapi */
>  
> +#include "vout.h"
> +
>  #define MAX_DIRECTBUFFERS 10
>  
>  #ifdef UNDER_CE
> @@ -85,9 +85,9 @@
>  #ifndef WS_EX_APPWINDOW
>  #define WS_EX_APPWINDOW 0x40000
>  #endif
> -#define SetWindowLongPtr SetWindowLong
> -#define GetWindowLongPtr GetWindowLong
> -#define GWLP_USERDATA GWL_USERDATA
> +//#define SetWindowLongPtr SetWindowLong
> +//#define GetWindowLongPtr GetWindowLong
> +//#define GWLP_USERDATA GWL_USERDATA
>  #define AdjustWindowRect(a,b,c)
>  #endif //UNDER_CE
>  
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel

-- 
Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/



More information about the vlc-devel mailing list