fbv.h
上传用户:hengzhunsh
上传日期:2013-09-07
资源大小:19k
文件大小:2k
源码类别:

浏览器

开发平台:

Unix_Linux

  1. /*
  2.     fbv  --  simple image viewer for the linux framebuffer
  3.     Copyright (C) 2000, 2001, 2003  Mateusz Golicz
  4.     This program is free software; you can redistribute it and/or modify
  5.     it under the terms of the GNU General Public License as published by
  6.     the Free Software Foundation; either version 2 of the License, or
  7.     (at your option) any later version.
  8.     This program is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.     GNU General Public License for more details.
  12.     You should have received a copy of the GNU General Public License
  13.     along with this program; if not, write to the Free Software
  14.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15. */
  16. #define FH_ERROR_OK 0
  17. #define FH_ERROR_FILE 1 /* read/access error */
  18. #define FH_ERROR_FORMAT 2 /* file format error */
  19. void fb_display(unsigned char *rgbbuff, unsigned char * alpha, int x_size, int y_size, int x_pan, int y_pan, int x_offs, int y_offs);
  20. void getCurrentRes(int *x, int *y);
  21. int fh_bmp_id(char *name);
  22. int fh_bmp_load(char *name,unsigned char *buffer, unsigned char **alpha, int x,int y);
  23. int fh_bmp_getsize(char *name,int *x,int *y);
  24. int fh_jpeg_id(char *name);
  25. int fh_jpeg_load(char *name,unsigned char *buffer, unsigned char **alpha, int x,int y);
  26. int fh_jpeg_getsize(char *name,int *x,int *y);
  27. int fh_png_id(char *name);
  28. int fh_png_load(char *name,unsigned char *buffer, unsigned char **alpha, int x,int y);
  29. int fh_png_getsize(char *name,int *x,int *y);
  30. int fh_gif_id(char *name);
  31. int fh_gif_load(char *name,unsigned char *buffer, unsigned char **alpha, int x,int y);
  32. int fh_gif_getsize(char *name,int *x,int *y);
  33. struct image
  34. {
  35. int width, height;
  36. unsigned char *rgb;
  37. unsigned char *alpha;
  38. int do_free;
  39. };
  40. #ifndef min
  41. #define min(a,b) ((a) < (b) ? (a) : (b))
  42. #endif
  43. #ifndef max
  44. #define max(a,b) ((a) > (b) ? (a) : (b))
  45. #endif
  46. unsigned char * simple_resize(unsigned char * orgin,int ox,int oy,int dx,int dy);
  47. unsigned char * alpha_resize(unsigned char * alpha,int ox,int oy,int dx,int dy);
  48. unsigned char * color_average_resize(unsigned char * orgin,int ox,int oy,int dx,int dy);
  49. unsigned char * rotate(unsigned char *i, int ox, int oy, int rot);
  50. unsigned char * alpha_rotate(unsigned char *i, int ox, int oy, int rot);