/* Copyright (C) 2007-2008 The Android Open Source Project ** ** This software is licensed under the terms of the GNU General Public ** License version 2, as published by the Free Software Foundation, and ** may be copied, distributed, and modified under those terms. ** ** 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. */ #ifndef _ANDROID_SKIN_SCALER_H #define _ANDROID_SKIN_SCALER_H #include "android/skin/image.h" typedef struct SkinScaler SkinScaler; /* create a new image scaler. by default, it uses a scale of 1.0 */ extern SkinScaler* skin_scaler_create( void ); /* change the scale of a given scaler. returns 0 on success, or -1 in case of * problem (unsupported scale) */ extern int skin_scaler_set( SkinScaler* scaler, double scale, double xDisp, double yDisp ); /* retrieve the position of the scaled source rectangle 'srect' into 'drect' * you can use the same pointer for both parameters. */ extern void skin_scaler_get_scaled_rect( SkinScaler* scaler, SkinRect* srect, SkinRect* drect ); extern void skin_scaler_free( SkinScaler* scaler ); extern void skin_scaler_scale( SkinScaler* scaler, SDL_Surface* dst, SDL_Surface* src, int sx, int sy, int sw, int sh ); #endif /* _ANDROID_SKIN_SCALER_H */