/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mangui.hls.utils { import flash.geom.Rectangle; public class ScaleVideo { public static function resizeRectangle(videoWidth : int, videoHeight : int, containerWidth : int, containerHeight : int) : Rectangle { var rect : Rectangle = new Rectangle(); var xscale : Number = containerWidth / videoWidth; var yscale : Number = containerHeight / videoHeight; if (xscale >= yscale) { rect.width = Math.min(videoWidth * yscale, containerWidth); rect.height = videoHeight * yscale; } else { rect.width = Math.min(videoWidth * xscale, containerWidth); rect.height = videoHeight * xscale; } rect.width = Math.ceil(rect.width); rect.height = Math.ceil(rect.height); rect.x = Math.round((containerWidth - rect.width) / 2); rect.y = Math.round((containerHeight - rect.height) / 2); CONFIG::LOGGING { Log.debug("width:" + rect.width); Log.debug("height:" + rect.height); Log.debug("x:" + rect.x); Log.debug("y:" + rect.y); } return rect; } } }