[vlc-devel] [PATCH v2 02/19] vout: win32: add a flag tell if the alignment is relative to the bottom-left
Alexandre Janniaux
ajanni at videolabs.io
Tue Aug 25 16:41:04 CEST 2020
Hi,
On Tue, Aug 25, 2020 at 04:20:15PM +0200, Steve Lhomme wrote:
> By default it should be aligned to the top-left.
> ---
> modules/video_output/Makefile.am | 3 ---
> modules/video_output/win32/common.c | 17 +++--------------
> modules/video_output/win32/common.h | 3 ++-
> modules/video_output/win32/direct3d11.c | 2 +-
> modules/video_output/win32/direct3d9.c | 2 +-
> modules/video_output/win32/glwin32.c | 2 +-
> modules/video_output/win32/wingdi.c | 2 +-
> 7 files changed, 9 insertions(+), 22 deletions(-)
>
> diff --git a/modules/video_output/Makefile.am b/modules/video_output/Makefile.am
> index 87cd6c8ae64..3a265658f61 100644
> --- a/modules/video_output/Makefile.am
> +++ b/modules/video_output/Makefile.am
> @@ -143,9 +143,6 @@ libglwin32_plugin_la_SOURCES = \
> video_output/win32/win32touch.c video_output/win32/win32touch.h
> libwgl_plugin_la_SOURCES = video_output/win32/wgl.c
>
> -libglwin32_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) \
> - -DMODULE_NAME_IS_glwin32
> -
This should probably not be in this patch :)
> libglwin32_plugin_la_LIBADD = libchroma_copy.la -lopengl32 -lgdi32 $(LIBCOM) -luuid libvlc_opengl.la
> libwgl_plugin_la_LIBADD = -lopengl32 -lgdi32 libvlc_opengl.la
>
> diff --git a/modules/video_output/win32/common.c b/modules/video_output/win32/common.c
> index 5e65da9071a..11ff257a3ee 100644
> --- a/modules/video_output/win32/common.c
> +++ b/modules/video_output/win32/common.c
> @@ -41,10 +41,11 @@
> #include "common.h"
> #include "../../video_chroma/copy.h"
>
> -void CommonInit(display_win32_area_t *area, const vout_display_cfg_t *vdcfg)
> +void CommonInit(display_win32_area_t *area, enum vout_place_origin origin, const vout_display_cfg_t *vdcfg)
> {
> area->place_changed = false;
> area->vdcfg = *vdcfg;
> + area->origin = origin;
> }
>
> #if !VLC_WINSTORE_APP
> @@ -98,21 +99,9 @@ void CommonPlacePicture(vout_display_t *vd, display_win32_area_t *area, vout_dis
> {
> /* Update the window position and size */
> vout_display_cfg_t place_cfg = area->vdcfg;
> - enum vout_place_origin origin;
> -
> -#if (defined(MODULE_NAME_IS_glwin32))
> - origin = VOUT_ORIGIN_BOTTOM_LEFT;
> - /* Reverse vertical alignment as the GL tex are Y inverted */
> - if (place_cfg.align.vertical == VLC_VIDEO_ALIGN_TOP)
> - place_cfg.align.vertical = VLC_VIDEO_ALIGN_BOTTOM;
> - else if (place_cfg.align.vertical == VLC_VIDEO_ALIGN_BOTTOM)
> - place_cfg.align.vertical = VLC_VIDEO_ALIGN_TOP;
> -#else
> - origin = VOUT_ORIGIN_TOP_LEFT;
> -#endif
>
> vout_display_place_t before_place = area->place;
> - vout_display_PlacePicture(&area->place, &vd->source, &place_cfg, origin);
> + vout_display_PlacePicture(&area->place, &vd->source, &place_cfg, area->origin);
>
> /* Signal the change in size/position */
> if (!vout_display_PlaceEquals(&before_place, &area->place))
> diff --git a/modules/video_output/win32/common.h b/modules/video_output/win32/common.h
> index 8eb48f72435..562be27bf23 100644
> --- a/modules/video_output/win32/common.h
> +++ b/modules/video_output/win32/common.h
> @@ -35,6 +35,7 @@ typedef struct display_win32_area_t
> /* Coordinates of dest images (used when blitting to display) */
> vout_display_place_t place;
> bool place_changed;
> + enum vout_place_origin origin;
>
> vout_display_cfg_t vdcfg;
> } display_win32_area_t;
> @@ -75,7 +76,7 @@ int CommonControl(vout_display_t *, display_win32_area_t *, vout_display_sys_wi
>
> void CommonPlacePicture (vout_display_t *, display_win32_area_t *, vout_display_sys_win32_t *);
>
> -void CommonInit(display_win32_area_t *, const vout_display_cfg_t *);
> +void CommonInit(display_win32_area_t *, enum vout_place_origin origin, const vout_display_cfg_t *);
>
> # ifdef __cplusplus
> extern "C" {
> diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c
> index 5affcf3068f..375ef67500b 100644
> --- a/modules/video_output/win32/direct3d11.c
> +++ b/modules/video_output/win32/direct3d11.c
> @@ -296,7 +296,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,
> if (ret != VLC_SUCCESS)
> goto error;
>
> - CommonInit(&sys->area, cfg);
> + CommonInit(&sys->area, VOUT_ORIGIN_TOP_LEFT, cfg);
>
> sys->outside_opaque = var_InheritAddress( vd, "vout-cb-opaque" );
> sys->updateOutputCb = var_InheritAddress( vd, "vout-cb-update-output" );
> diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c
> index 175ea4da755..439d94cf9fc 100644
> --- a/modules/video_output/win32/direct3d9.c
> +++ b/modules/video_output/win32/direct3d9.c
> @@ -1802,7 +1802,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,
> if (!sys)
> return VLC_ENOMEM;
>
> - CommonInit(&sys->area, cfg);
> + CommonInit(&sys->area, VOUT_ORIGIN_TOP_LEFT, cfg);
>
> sys->outside_opaque = var_InheritAddress( vd, "vout-cb-opaque" );
> sys->updateOutputCb = var_InheritAddress( vd, "vout-cb-update-output" );
> diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c
> index 7397d7e9bbe..6b7d0a3f0a7 100644
> --- a/modules/video_output/win32/glwin32.c
> +++ b/modules/video_output/win32/glwin32.c
> @@ -120,7 +120,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,
> return VLC_ENOMEM;
>
> /* */
> - CommonInit(&sys->area, cfg);
> + CommonInit(&sys->area, VOUT_ORIGIN_BOTTOM_LEFT, cfg);
> if (CommonWindowInit(vd, &sys->area, &sys->sys,
> vd->source.projection_mode != PROJECTION_MODE_RECTANGULAR))
> goto error;
> diff --git a/modules/video_output/win32/wingdi.c b/modules/video_output/win32/wingdi.c
> index 3d09d84fa2a..8d55a6f0f3c 100644
> --- a/modules/video_output/win32/wingdi.c
> +++ b/modules/video_output/win32/wingdi.c
> @@ -116,7 +116,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,
> if (!sys)
> return VLC_ENOMEM;
>
> - CommonInit(&sys->area, cfg);
> + CommonInit(&sys->area, VOUT_ORIGIN_TOP_LEFT, cfg);
> if (CommonWindowInit(vd, &sys->area, &sys->sys, false))
> goto error;
>
> --
> 2.26.2
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list