From dd5da98e2d804161e6b99a85f80003d1a19db01d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Toque?= Date: Sun, 4 Mar 2012 09:20:53 +0100 Subject: [PATCH] Add a best fit mode and use it as default --- vlc-android/res/values-fr/strings.xml | 1 + vlc-android/res/values/strings.xml | 1 + .../vlc/gui/video/VideoPlayerActivity.java | 24 +++++++++++++------ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/vlc-android/res/values-fr/strings.xml b/vlc-android/res/values-fr/strings.xml index dc908963a..ce532f6d6 100644 --- a/vlc-android/res/values-fr/strings.xml +++ b/vlc-android/res/values-fr/strings.xml @@ -53,6 +53,7 @@ Etes-vous sûr ? Verrouillé Déverrouillé + Ajuster au mieux Ajuster horizontalement Ajuster verticalement Etirer diff --git a/vlc-android/res/values/strings.xml b/vlc-android/res/values/strings.xml index ff6cbea5c..541132bd5 100644 --- a/vlc-android/res/values/strings.xml +++ b/vlc-android/res/values/strings.xml @@ -54,6 +54,7 @@ Are you sure? Locked Unlocked + Best fit Fit horizontal Fit vertical Fill diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java index ba38e0445..35c360e7b 100644 --- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java +++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java @@ -73,13 +73,14 @@ public class VideoPlayerActivity extends Activity { private SurfaceHolder mSurfaceHolder; private LibVLC mLibVLC; - private static final int SURFACE_FIT_HORIZONTAL = 0; - private static final int SURFACE_FIT_VERTICAL = 1; - private static final int SURFACE_FILL = 2; - private static final int SURFACE_16_9 = 3; - private static final int SURFACE_4_3 = 4; - private static final int SURFACE_ORIGINAL = 5; - private int mCurrentSize = SURFACE_FIT_HORIZONTAL; + private static final int SURFACE_BEST_FIT = 0; + private static final int SURFACE_FIT_HORIZONTAL = 1; + private static final int SURFACE_FIT_VERTICAL = 2; + private static final int SURFACE_FILL = 3; + private static final int SURFACE_16_9 = 4; + private static final int SURFACE_4_3 = 5; + private static final int SURFACE_ORIGINAL = 6; + private int mCurrentSize = SURFACE_BEST_FIT; /** Overlay */ private View mOverlayHeader; @@ -403,6 +404,12 @@ public class VideoPlayerActivity extends Activity { double dar = (double) dw / (double) dh; switch (mCurrentSize) { + case SURFACE_BEST_FIT: + if (dar < ar) + dh = (int) (dw / ar); + else + dw = (int) (dh * ar); + break; case SURFACE_FIT_HORIZONTAL: dh = (int) (dw / ar); break; @@ -608,6 +615,9 @@ public class VideoPlayerActivity extends Activity { } changeSurfaceSize(); switch (mCurrentSize) { + case SURFACE_BEST_FIT: + showInfo(R.string.surface_best_fit, 500); + break; case SURFACE_FIT_HORIZONTAL: showInfo(R.string.surface_fit_horizontal, 500); break; -- GitLab