izoom.h
上传用户:weiyuanprp
上传日期:2020-05-20
资源大小:1169k
文件大小:2k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. /* $Id: izoom.h,v 1.1.1.1 2005/11/11 21:32:03 faxguy Exp $ */
  2. /*
  3.  * Copyright (c) 1990-1996 Sam Leffler
  4.  * Copyright (c) 1991-1996 Silicon Graphics, Inc.
  5.  * HylaFAX is a trademark of Silicon Graphics
  6.  * HylaFAX is a trademark of Silicon Graphics
  7.  *
  8.  * Permission to use, copy, modify, distribute, and sell this software and 
  9.  * its documentation for any purpose is hereby granted without fee, provided
  10.  * that (i) the above copyright notices and this permission notice appear in
  11.  * all copies of the software and related documentation, and (ii) the names of
  12.  * Sam Leffler and Silicon Graphics may not be used in any advertising or
  13.  * publicity relating to the software without the specific, prior written
  14.  * permission of Sam Leffler and Silicon Graphics.
  15.  * 
  16.  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  17.  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  18.  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  19.  * 
  20.  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  21.  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  22.  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  23.  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  24.  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  25.  * OF THIS SOFTWARE.
  26.  */
  27. #ifndef IZOOMDEF
  28. #define IZOOMDEF
  29. #define IMPULSE         1
  30. #define BOX             2
  31. #define TRIANGLE        3
  32. #define QUADRATIC       4
  33. #define MITCHELL        5
  34. typedef struct FILTER {
  35.     int n, totw;
  36.     short *dat;
  37.     short *w;
  38. } FILTER;
  39. typedef struct zoom {
  40.     int (*getfunc)();
  41.     short *abuf;
  42.     short *bbuf;
  43.     int anx, any;
  44.     int bnx, bny;
  45.     short **xmap;
  46.     int type;
  47.     int curay;
  48.     int y;
  49.     FILTER *xfilt, *yfilt;      /* stuff for fitered zoom */
  50.     short *tbuf;
  51.     int nrows, clamp, ay;
  52.     short **filtrows;
  53.     int *accrow;
  54. } zoom;
  55. zoom *newzoom();
  56. #endif /* IZOOMDEF */