blit.h
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:2k
源码类别:

Windows CE

开发平台:

C/C++

  1. /*****************************************************************************
  2.  *
  3.  * This program is free software ; you can redistribute it and/or modify
  4.  * it under the terms of the GNU General Public License as published by
  5.  * the Free Software Foundation; either version 2 of the License, or
  6.  * (at your option) any later version.
  7.  *
  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.  *
  13.  * You should have received a copy of the GNU General Public License
  14.  * along with this program; if not, write to the Free Software
  15.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  16.  *
  17.  * $Id: blit.h 271 2005-08-09 08:31:35Z picard $
  18.  *
  19.  * The Core Pocket Media Player
  20.  * Copyright (c) 2004-2005 Gabor Kovacs
  21.  *
  22.  ****************************************************************************/
  23. #ifndef __BLIT_H
  24. #define __BLIT_H
  25. // blitfx flags
  26. #define BLITFX_ARITHSTRETCH50 0x001
  27. #define BLITFX_ARITHSTRETCHALWAYS 0x100
  28. #define BLITFX_DITHER 0x002
  29. #define BLITFX_AVOIDTEARING 0x004
  30. #define BLITFX_ONLYDIFF 0x020
  31. #define BLITFX_COLOR_LOOKUP 0x040
  32. #define BLITFX_VMEMROTATED 0x010
  33. #define BLITFX_VMEMUPDOWN 0x080
  34. #define BLITFX_ENLARGEIFNEEDED 0x200
  35. typedef struct blitfx
  36. {
  37. int Flags; // combination of blitfx flags
  38. int ScaleX; // 16.16 fixed point scale factor (before swapxy)
  39. int ScaleY; // 16.16 fixed point scale factor (before swapxy)
  40. int Brightness;
  41. int Contrast;
  42. int Saturation;
  43. int Direction;
  44. int RGBAdjust[3]; // additional r,g,b brightness
  45. } blitfx;
  46. void Blit_Init();
  47. void Blit_Done();
  48. DLL struct blitpack* BlitCreate(const video* DstFormat,
  49.                     const video* SrcFormat, const blitfx* FX, int* OutCaps);
  50. DLL void BlitAlign(struct blitpack*, rect* DstRect, rect* SrcRect);
  51. DLL void BlitImage(struct blitpack*, const planes Dst, const constplanes Src, const constplanes SrcLast,
  52.    int DstPicth, int SrcPitch); // video pitch can be overridden
  53. DLL void BlitRelease(struct blitpack*);
  54. #endif