vlc | branch: master | Steve Lhomme <[email protected]> | Fri Mar 22 08:29:20 2019 +0100| [617dfa22ef1ca12cf52ecefd719457eb69581129] | committer: Steve Lhomme
vout:win32: use common macros to compute the width/height of a RECT > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=617dfa22ef1ca12cf52ecefd719457eb69581129 --- modules/video_output/win32/common.c | 32 ++++++++++++++++---------------- modules/video_output/win32/common.h | 3 +++ modules/video_output/win32/d3d11_quad.c | 13 +++++-------- modules/video_output/win32/direct3d11.c | 3 --- modules/video_output/win32/direct3d9.c | 8 ++++---- modules/video_output/win32/events.c | 4 ++-- modules/video_output/win32/glwin32.c | 4 ++-- modules/video_output/win32/wingdi.c | 6 ++---- 8 files changed, 34 insertions(+), 39 deletions(-) diff --git a/modules/video_output/win32/common.c b/modules/video_output/win32/common.c index 071156671b..020dc5bc93 100644 --- a/modules/video_output/win32/common.c +++ b/modules/video_output/win32/common.c @@ -177,8 +177,8 @@ void UpdateRects(vout_display_t *vd, bool is_forced) bool is_resized; #if VLC_WINSTORE_APP has_moved = false; - is_resized = rect.right != (sys->rect_display.right - sys->rect_display.left) || - rect.bottom != (sys->rect_display.bottom - sys->rect_display.top); + is_resized = rect.right != RECTWidth(sys->rect_display) || + rect.bottom != RECTHeight(sys->rect_display); sys->rect_display = rect; #else if (sys->b_windowless) @@ -238,8 +238,8 @@ void UpdateRects(vout_display_t *vd, bool is_forced) rect_dest_clipped = rect_dest; /* the 2 following lines are to fix a bug when clicking on the desktop */ - if ((rect_dest_clipped.right - rect_dest_clipped.left) == 0 || - (rect_dest_clipped.bottom - rect_dest_clipped.top) == 0) { + if (RECTWidth(rect_dest_clipped) == 0 || + RECTHeight(rect_dest_clipped) == 0) { #if !VLC_WINSTORE_APP SetRectEmpty(&rect_src_clipped); #endif @@ -255,18 +255,18 @@ void UpdateRects(vout_display_t *vd, bool is_forced) /* Clip the source image */ rect_src_clipped.left = source->i_x_offset + (rect_dest_clipped.left - rect_dest.left) * - source->i_visible_width / (rect_dest.right - rect_dest.left); + source->i_visible_width / RECTWidth(rect_dest); rect_src_clipped.right = source->i_x_offset + source->i_visible_width - (rect_dest.right - rect_dest_clipped.right) * - source->i_visible_width / (rect_dest.right - rect_dest.left); + source->i_visible_width / RECTWidth(rect_dest); rect_src_clipped.top = source->i_y_offset + (rect_dest_clipped.top - rect_dest.top) * - source->i_visible_height / (rect_dest.bottom - rect_dest.top); + source->i_visible_height / RECTHeight(rect_dest); rect_src_clipped.bottom = source->i_y_offset + source->i_visible_height - (rect_dest.bottom - rect_dest_clipped.bottom) * - source->i_visible_height / (rect_dest.bottom - rect_dest.top); + source->i_visible_height / RECTHeight(rect_dest); #ifndef NDEBUG msg_Dbg(vd, "DirectXUpdateRects source" @@ -347,8 +347,8 @@ void CommonManage(vout_display_t *vd) * with the associated window (hvideownd) */ SetWindowPos(sys->hwnd, 0, 0, 0, - rect_parent.right - rect_parent.left, - rect_parent.bottom - rect_parent.top, + RECTWidth(rect_parent), + RECTHeight(rect_parent), SWP_NOZORDER); UpdateRects(vd, true); @@ -414,8 +414,8 @@ static void CommonChangeThumbnailClip(vout_display_t *vd, bool show) POINT client = {video.left, video.top}; if (ScreenToClient(hroot, &client)) { - unsigned int width = video.right - video.left; - unsigned int height = video.bottom - video.top; + unsigned int width = RECTWidth(video); + unsigned int height = RECTHeight(video); video.left = client.x; video.top = client.y; video.right = video.left + width; @@ -475,8 +475,8 @@ static int CommonControlSetFullscreen(vout_display_t *vd, bool is_fullscreen) SetWindowPos(hwnd, 0, mi.rcMonitor.left, mi.rcMonitor.top, - mi.rcMonitor.right - mi.rcMonitor.left, - mi.rcMonitor.bottom - mi.rcMonitor.top, + RECTWidth(mi.rcMonitor), + RECTHeight(mi.rcMonitor), SWP_NOZORDER|SWP_FRAMECHANGED); } else { /* Maximize non embedded window */ @@ -561,8 +561,8 @@ int CommonControl(vout_display_t *vd, int query, va_list args) if (!cfg->is_fullscreen && !sys->b_windowless) { AdjustWindowRect(&rect_window, EventThreadGetWindowStyle(sys->event), 0); SetWindowPos(sys->hwnd, 0, 0, 0, - rect_window.right - rect_window.left, - rect_window.bottom - rect_window.top, SWP_NOMOVE); + RECTWidth(rect_window), + RECTHeight(rect_window), SWP_NOMOVE); } sys->vdcfg = *cfg; UpdateRects(vd, false); diff --git a/modules/video_output/win32/common.h b/modules/video_output/win32/common.h index ae22061ac4..42df4b7f17 100644 --- a/modules/video_output/win32/common.h +++ b/modules/video_output/win32/common.h @@ -27,6 +27,9 @@ *****************************************************************************/ #include "events.h" +#define RECTWidth(r) (LONG)((r).right - (r).left) +#define RECTHeight(r) (LONG)((r).bottom - (r).top) + /***************************************************************************** * vout_sys_t: video output method descriptor ***************************************************************************** diff --git a/modules/video_output/win32/d3d11_quad.c b/modules/video_output/win32/d3d11_quad.c index b1648cc342..6584c82154 100644 --- a/modules/video_output/win32/d3d11_quad.c +++ b/modules/video_output/win32/d3d11_quad.c @@ -36,6 +36,7 @@ #include <d3d11.h> #include "d3d11_quad.h" +#include "common.h" #define SPHERE_SLICES 128 #define nbLatBands SPHERE_SLICES @@ -412,8 +413,8 @@ static void SetupQuadFlat(d3d_vertex_t *dst_data, const RECT *output, static void SetupQuadSphere(d3d_vertex_t *dst_data, const RECT *output, const d3d_quad_t *quad, WORD *triangle_pos) { - const float scaleX = (float)(output->right - output->left) / quad->i_width; - const float scaleY = (float)(output->bottom - output->top) / quad->i_height; + const float scaleX = (float)(RECTWidth(*output)) / quad->i_width; + const float scaleY = (float)(RECTHeight(*output)) / quad->i_height; for (unsigned lat = 0; lat <= nbLatBands; lat++) { float theta = lat * (float) M_PI / nbLatBands; float sinTheta, cosTheta; @@ -1067,14 +1068,10 @@ int D3D11_SetupQuad(vlc_object_t *o, d3d11_device_t *d3d_dev, const video_format void D3D11_UpdateViewport(d3d_quad_t *quad, const RECT *rect, const d3d_format_t *display) { -#define RECTWidth(r) (LONG)((r)->right - (r)->left) -#define RECTHeight(r) (LONG)((r)->bottom - (r)->top) LONG srcAreaWidth, srcAreaHeight; - srcAreaWidth = RECTWidth(rect); - srcAreaHeight = RECTHeight(rect); -#undef RECTWidth -#undef RECTHeight + srcAreaWidth = RECTWidth(*rect); + srcAreaHeight = RECTHeight(*rect); quad->cropViewport[0].TopLeftX = rect->left; quad->cropViewport[0].TopLeftY = rect->top; diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c index f2e28dd8d1..b7bdf9e0ad 100644 --- a/modules/video_output/win32/direct3d11.c +++ b/modules/video_output/win32/direct3d11.c @@ -127,9 +127,6 @@ struct vout_display_sys_t bool (*resizeCb)(void* opaque, unsigned, unsigned); }; -#define RECTWidth(r) (int)((r).right - (r).left) -#define RECTHeight(r) (int)((r).bottom - (r).top) - static picture_pool_t *Pool(vout_display_t *, unsigned); static void Prepare(vout_display_t *, picture_t *, subpicture_t *subpicture, vlc_tick_t); diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c index bd534b3628..939369a200 100644 --- a/modules/video_output/win32/direct3d9.c +++ b/modules/video_output/win32/direct3d9.c @@ -934,8 +934,8 @@ static void Manage (vout_display_t *vd) UINT width, height; GetClientRect(p_sys->sys.hvideownd, &rect); - width = rect.right-rect.left; - height = rect.bottom-rect.top; + width = RECTWidth(rect); + height = RECTHeight(rect); if (width != p_sys->pp.BackBufferWidth || height != p_sys->pp.BackBufferHeight) { @@ -1045,8 +1045,8 @@ static void Direct3D9ImportSubpicture(vout_display_t *vd, /* Map the subpicture to sys->sys.rect_dest */ const RECT video = sys->sys.rect_dest; - const float scale_w = (float)(video.right - video.left) / subpicture->i_original_picture_width; - const float scale_h = (float)(video.bottom - video.top) / subpicture->i_original_picture_height; + const float scale_w = (float)(RECTWidth(video)) / subpicture->i_original_picture_width; + const float scale_h = (float)(RECTHeight(video)) / subpicture->i_original_picture_height; RECT dst; dst.left = video.left + scale_w * r->i_x, diff --git a/modules/video_output/win32/events.c b/modules/video_output/win32/events.c index 1edcf09d52..62c665e5e4 100644 --- a/modules/video_output/win32/events.c +++ b/modules/video_output/win32/events.c @@ -781,8 +781,8 @@ static int Win32VoutCreateWindow( event_thread_t *p_event ) (UINT)p_event->x, /* default X coordinate */ (!p_event->y) ? (UINT)CW_USEDEFAULT : (UINT)p_event->y, /* default Y coordinate */ - rect_window.right - rect_window.left, /* window width */ - rect_window.bottom - rect_window.top, /* window height */ + RECTWidth(rect_window), /* window width */ + RECTHeight(rect_window), /* window height */ p_event->hparent, /* parent window */ NULL, /* no menu in this window */ hInstance, /* handle of this program instance */ diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c index 7d5cc3a080..78b70bbd90 100644 --- a/modules/video_output/win32/glwin32.c +++ b/modules/video_output/win32/glwin32.c @@ -245,8 +245,8 @@ static void Manage (vout_display_t *vd) CommonManage(vd); - const int width = sys->sys.rect_dest.right - sys->sys.rect_dest.left; - const int height = sys->sys.rect_dest.bottom - sys->sys.rect_dest.top; + const int width = RECTWidth(sys->sys.rect_dest); + const int height = RECTHeight(sys->sys.rect_dest); vlc_gl_Resize (sys->gl, width, height); if (vlc_gl_MakeCurrent (sys->gl) != VLC_SUCCESS) return; diff --git a/modules/video_output/win32/wingdi.c b/modules/video_output/win32/wingdi.c index e973eba37c..20535e1f8d 100644 --- a/modules/video_output/win32/wingdi.c +++ b/modules/video_output/win32/wingdi.c @@ -154,10 +154,8 @@ static void Display(vout_display_t *vd, picture_t *picture) OffsetRect(&rect_dst, -rect_dest.left, -rect_dest.top); SelectObject(sys->off_dc, sys->off_bitmap); - if (rect_dest_clipped.right - rect_dest_clipped.left != - rect_src_clipped.right - rect_src_clipped.left || - rect_dest_clipped.bottom - rect_dest_clipped.top != - rect_src_clipped.bottom - rect_src_clipped.top) { + if (RECTWidth(rect_dest_clipped) != RECTWidth(rect_src_clipped) || + RECTHeight(rect_dest_clipped) != RECTHeight(rect_src_clipped)) { StretchBlt(hdc, rect_dst.left, rect_dst.top, rect_dst.right, rect_dst.bottom, sys->off_dc, _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
