• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
17 typedef struct SkinScaler   SkinScaler;
18 
19 /* create a new image scaler. by default, it uses a scale of 1.0 */
20 extern 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) */
24 extern 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. */
31 extern void         skin_scaler_get_scaled_rect( SkinScaler*  scaler,
32                                                   SkinRect*    srect,
33                                                   SkinRect*    drect );
34 
35 extern void         skin_scaler_free( SkinScaler*  scaler );
36 
37 extern 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