overlay.h
资源名称:tcpmp.rar [点击查看]
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:5k
源码类别:
Windows CE
开发平台:
C/C++
- /*****************************************************************************
- *
- * This program is free software ; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * $Id: overlay.h 615 2006-01-26 16:57:51Z picard $
- *
- * The Core Pocket Media Player
- * Copyright (c) 2004-2005 Gabor Kovacs
- *
- ****************************************************************************/
- #ifndef __OVERLAY_H
- #define __OVERLAY_H
- // default colorkey to use
- #define COLORKEY CRGB(32,0,32)
- #define OVERLAY_CLASS FOURCC('O','V','L','A')
- #define DDRAW_ID FOURCC('D','R','A','W')
- #define DIRECT_ID FOURCC('D','I','R','C')
- #define FLYTV_ID FOURCC('F','L','Y','T')
- #define GAPI_ID FOURCC('G','A','P','I')
- #define GDI_ID FOURCC('G','D','I','_')
- #define RAW_ID FOURCC('R','A','W','D')
- #define XSCALE_ID FOURCC('X','S','C','2')
- #define XSCALE_LOW_ID FOURCC('X','S','L','2')
- #define HIRES_ID FOURCC('H','I','R','S')
- #define S1D13806_ID FOURCC('S','1','D','1')
- #define CONSOLE_ID FOURCC('O','C','O','N')
- #define OVERLAY_SYMBIAN_ID FOURCC('O','S','Y','M')
- #define DDRAW_COLORKEY 0x100
- #define DDRAW_BLIT 0x101
- #define DDRAW_BLITSTRETCH 0x102
- #define DDRAW_FORMAT 0x103
- #define DDRAWFORMAT_ENUM FOURCC('D','R','A','F')
- #define DDRAWFORMAT_AUTO 0x100
- #define DDRAWFORMAT_YV12 0x101
- #define DDRAWFORMAT_YUY2 0x102
- #define DDRAWFORMAT_RGB 0x103
- #define RAW_WIDTH 0x100
- #define RAW_HEIGHT 0x101
- #define RAW_PITCHX 0x102
- #define RAW_PITCHY 0x103
- #define RAW_BPP 0x104
- #define RAW_FORMAT 0x105
- #define RAW_POINTER 0x106
- #define GAPI_WIDTH 0x100
- #define GAPI_HEIGHT 0x101
- #define GAPI_PITCHX 0x102
- #define GAPI_PITCHY 0x103
- #define GAPI_BPP 0x104
- #define GAPI_FORMAT 0x105
- #define GAPI_POINTER 0x106
- #define GAPI_DRAM 0x107
- #define GAPI_OPEN_ERROR 0x200
- #define HIRES_TRIPLEBUFFER 0x100
- #define HIRES_USEBORDER 0x101
- #define HIRES_USEBORDER_INFO 0x102
- #define XSCALEDRIVER_ID FOURCC('X','S','C','D')
- #define XSCALEDRIVER_STRETCH 0x100
- #define XSCALEDRIVER_FLIP 0x101
- #define XSCALEDRIVER_ALLOC_AT_START 0x102
- #define XSCALEDRIVER_DETECTED 0x103
- typedef int (*ovlfunc)(void* This);
- typedef void (*ovldone)(void* This);
- typedef int (*ovlblit)(void* This,const constplanes Data,const constplanes LastData);
- typedef int (*ovllock)(void* This,planes Planes, bool_t OnlyAligned);
- typedef struct overlay
- {
- node Node;
- ovlfunc Init;
- ovldone Done;
- ovlblit Blit;
- ovlfunc Update;
- ovlfunc UpdateShow;
- ovlfunc Reset;
- ovllock Lock;
- ovlfunc Unlock;
- idct* AccelIDCT;
- int SetFX;
- int ClearFX;
- int Caps;
- packetformat Output;
- // these are handled by overlay
- bool_t DoPowerOff; // use backup/restore in background
- bool_t Primary;
- bool_t Overlay;
- bool_t Disabled; // created with width=0 or height=0
- bool_t Inited;
- bool_t Background;
- bool_t Updating;
- bool_t ForceUpdate;
- bool_t FullScreenViewport;
- bool_t Dirty;
- bool_t Visible;
- bool_t Clipping;
- bool_t AutoPrerotate;
- bool_t Show;
- bool_t InputHintDir;
- bool_t Play;
- bool_t TurningOff;
- tick_t LastTime;
- tick_t CurrTime;
- int Total;
- int Dropped;
- rgbval_t ColorKey;
- void* Soft;
- rect Viewport;
- rect SrcAlignedRect;
- rect GUIAlignedRect;
- rect DstAlignedRect;
- blitfx FX;
- blitfx OrigFX;
- fraction Aspect;
- bool_t PreRotate;
- int InputDirection;
- int PrefDirection;
- bool_t UpdateInputFormat;
- void* Module;
- pin Pin;
- packetformat Input;
- idctbackup Backup;
- int ErrorTime;
- int Reserved[10];
- } overlay;
- DLL int OverlayEnum(overlay* p,int* No,datadef* DataType);
- DLL int OverlayGet(overlay* p,int No,void* Data,int Size);
- DLL int OverlaySet(overlay* p,int No,const void* Data,int Size);
- DLL int OverlayUpdateAlign(overlay* p);
- DLL int OverlayUpdateShow(overlay* p, bool_t Temp);
- DLL int OverlayBlitImage(overlay* p, const planes Data, const planes DataLast);
- DLL int OverlayUpdateFX(overlay* p, bool_t ForceUpdate);
- DLL void OverlayClearBorder(overlay* p);
- DLL int OverlayDefaultBlit(overlay* p, const constplanes Data, const constplanes DataLast);
- void Overlay_Init();
- void Overlay_Done();
- #define GETRAWFRAMEBUFFER 0x00020001
- #define FORMAT_565 1
- #define FORMAT_555 2
- #define FORMAT_OTHER 3
- typedef struct RawFrameBufferInfo
- {
- uint16_t wFormat;
- uint16_t wBPP;
- char *pFramePointer;
- int cxStride;
- int cyStride;
- int cxPixels;
- int cyPixels;
- } RawFrameBufferInfo;
- #define ESC_QUERYESCSUPPORT 8
- #define GETGXINFO 0x00020000
- #define kfDirect 0x20
- #define kfDirect555 0x40
- #define kfDirect565 0x80
- #define kfLandscape 0x08
- typedef struct GXDeviceInfo
- {
- long Version; //00
- void * pvFrameBuffer; //04
- unsigned long cbStride; //08
- unsigned long cxWidth; //0c
- unsigned long cyHeight; //10
- unsigned long cBPP; //14
- unsigned long ffFormat; //18
- char Unused[0x84-7*4];
- } GXDeviceInfo;
- #endif