From 28c6c600d45b4ce16f13d08cfc7c9fbcc8461a63 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Mon, 8 Mar 2010 10:29:00 +0000 Subject: Move some aspect ratio related stuff to graphics/scaler/aspect.h svn-id: r48186 --- graphics/scaler/aspect.cpp | 2 +- graphics/scaler/aspect.h | 63 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 graphics/scaler/aspect.h (limited to 'graphics/scaler') diff --git a/graphics/scaler/aspect.cpp b/graphics/scaler/aspect.cpp index 4b3f194244..5f8f5f8279 100644 --- a/graphics/scaler/aspect.cpp +++ b/graphics/scaler/aspect.cpp @@ -24,7 +24,7 @@ */ #include "graphics/scaler/intern.h" -#include "graphics/scaler.h" +#include "graphics/scaler/aspect.h" #define kVeryFastAndUglyAspectMode 0 // No interpolation at all, but super-fast diff --git a/graphics/scaler/aspect.h b/graphics/scaler/aspect.h new file mode 100644 index 0000000000..ebe922ef00 --- /dev/null +++ b/graphics/scaler/aspect.h @@ -0,0 +1,63 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + */ + +#ifndef GRAPHICS_SCALER_ASPECT_H +#define GRAPHICS_SCALER_ASPECT_H + +#include "common/scummsys.h" + +/** + * TODO: explain + */ +FORCEINLINE int real2Aspect(int y) { + return y + (y + 1) / 5; +} + +/** + * TODO: explain + */ +FORCEINLINE int aspect2Real(int y) { + return (y * 5 + 4) / 6; +} + +/** + * TODO: explain + */ +void makeRectStretchable(int &x, int &y, int &w, int &h); + +/** + * TODO: explain + */ +int stretch200To240(uint8 *buf, + uint32 pitch, + int width, + int height, + int srcX, + int srcY, + int origSrcY); + +// TODO: Move Normal2xAspect & PocketPCLandscapeAspect here; +// also rename the latter to Normal1xAspect + +#endif -- cgit v1.2.3