1/* Copyright (C) 2007-2008 The Android Open Source Project 2** 3** This software is licensed under the terms of the GNU General Public 4** License version 2, as published by the Free Software Foundation, and 5** may be copied, distributed, and modified under those terms. 6** 7** This program is distributed in the hope that it will be useful, 8** but WITHOUT ANY WARRANTY; without even the implied warranty of 9** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10** GNU General Public License for more details. 11*/ 12#ifndef _ANDROID_SKIN_SCALER_H 13#define _ANDROID_SKIN_SCALER_H 14 15#include "android/skin/image.h" 16 17typedef struct SkinScaler SkinScaler; 18 19/* create a new image scaler. by default, it uses a scale of 1.0 */ 20extern SkinScaler* skin_scaler_create( void ); 21 22/* change the scale of a given scaler. returns 0 on success, or -1 in case of 23 * problem (unsupported scale) */ 24extern int skin_scaler_set( SkinScaler* scaler, 25 double scale, 26 double xDisp, 27 double yDisp ); 28 29/* retrieve the position of the scaled source rectangle 'srect' into 'drect' 30 * you can use the same pointer for both parameters. */ 31extern void skin_scaler_get_scaled_rect( SkinScaler* scaler, 32 SkinRect* srect, 33 SkinRect* drect ); 34 35extern void skin_scaler_free( SkinScaler* scaler ); 36 37extern void skin_scaler_scale( SkinScaler* scaler, 38 SDL_Surface* dst, 39 SDL_Surface* src, 40 int sx, 41 int sy, 42 int sw, 43 int sh ); 44 45#endif /* _ANDROID_SKIN_SCALER_H */ 46