/*
 * SDL_zoom - surface scaling
 * 
 * Copyright (c) 2009 Citrix Systems, Inc.
 *
 * Derived from: SDL_rotozoom,  LGPL (c) A. Schiffler from the SDL_gfx library.
 * Modifications by Stefano Stabellini.
 *
 * This work is licensed under the terms of the GNU GPL version 2.
 * See the COPYING file in the top-level directory.
 *
 */

#ifndef _SDL_zoom_h
#define _SDL_zoom_h

#include <SDL/SDL.h>

#define SMOOTHING_OFF		0
#define SMOOTHING_ON		1

int sdl_zoom_blit(SDL_Surface *src_sfc, SDL_Surface *dst_sfc,
                  int smooth, SDL_Rect *src_rect);

#endif /* _SDL_zoom_h */
