⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vgsdkpv.h

📁 adc 3208 上面实现图片旋转的实例
💻 H
字号:
#ifndef	_DGADK_PRIVATE_H
#define	_DGADK_PRIVATE_H


#define __vgSDK_SE3208__

#include "VGSDK.h"

#include "se3208_1.h"

#include <string.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>

/***********************************************
	debug report
************************************************/
#define __DEBUG__

#ifdef _DEBUG

//zy void _vgASSERTMSG( const char* const funcname, U32 line, const char* const msg );
#define ASSERTFUNC( funcname )	static char _vgSDK_ASSERT_funcname[] = funcname
#define ASSERT( express ) ASSERTMSG( express, #express )
#define ASSERTMSG( express, msg ) if( !(express) ) ASSERTFAILED(msg)
#define ASSERTFAILED(msg)	_vgASSERTMSG( _vgSDK_ASSERT_funcname, __LINE__, msg )
#define ASSERTMSG_INTERNAL_ERROR	"internal error. ask ADC"
#else
#define ASSERTFUNC( funcname )
#define ASSERT( express )
#define ASSERTMSG( express, msg ) 
#define ASSERTFAILED( msg )
#define ASSERTMSG_INTERNAL_ERROR
#endif


#ifdef __DEBUG__
//zy#define _VGASSERTMSG( express, msg ) 	if( !(express) ){ uartprintf msg;	}
//zy#define _VGMSG( msg )					uartprintf msg
#else
#define _VGASSERTMSG( express, msg )
//ay #define _VGMSG( msg )
#endif

/***********************************************
	vgSurface.c
************************************************/
typedef struct _tag_vgResourceManager
{
	S32 reference_count;
	S32	offset;
	S32 size;
	
	struct _tag_vgResourceManager	*prev;
	struct _tag_vgResourceManager	*next;
}	_vgResourceManager;

struct tagvgTILE
{
	_vgResourceManager	rm;
	
	S32	FontOffset;
	U32 FontCount;
	DGPIXELFORMAT ColorIndexMode;
};

struct tagvgPALETTE
{
	_vgResourceManager	rm;
	
	S32 LUTOffset;
};

struct tagvgSURFACE
{
	_vgResourceManager	rm;
	
	S32	ImageOffset;
	U32	TileXSize; 
	U32	TileYSize;
	DGPIXELFORMAT ColorIndexMode;
	U32	LUT4Bank;
	U32 ColorKey;

	vgPALETTE	*pPalette;
	vgTILE		*pTile;

	// don't use it !!
	S32	ImageFileWidth;
	S32	ImageFileHeight;
};

vgBOOL _vgMalloc_TMEM_64( _vgResourceManager *rm, S32 size );
vgBOOL _vgMalloc_TMEM_512( _vgResourceManager *rm, S32 size );
U32 _vgIncRefCnt_TMEM( _vgResourceManager *rm );
U32 _vgDecRefCnt_TMEM( _vgResourceManager *rm );


/***********************************************
	VR0IF.c
************************************************/
extern U32 _vgCurCommandNum;

#define Vid_ReadReg( A )		CPURead( VID_CONTROL_BASE + ((U32)(A)<<1) )
#define Vid_WriteReg( A, D )	CPUWrite( VID_CONTROL_BASE + ((U32)(A)<<1), D )
#define Vid_WriteCmd( A, D )	CPUWrite( VID_COMMAND_BASE + (_vgCurCommandNum<<6) + ((U32)(A)<<1), D )

void Vid_CommandReport( long commandnum );

void Vid_BeginCommand( char *comment );
void Vid_EndCommand( void );



/***********************************************
	Mode.c
************************************************/
extern U16 _vg_write_mode;

/******************************************************/

/*	For BMP file
*****************************************************/
#define BI_RGB        0L
typedef struct tag_vgImage_BITMAPFILEHEADER {
        U32   bfSize;
		U16    bfReserved1; 
        U16    bfReserved2;
		U32   bfOffBits; 
} _vgImage_BITMAPFILEHEADER;

typedef struct tag_vgImage_BITMAPINFOHEADER{
   U32  biSize; 
   S32   biWidth; 
   S32   biHeight; 
   U16   biPlanes; 
   U16   biBitCount;
   U32  biCompression; 
   U32  biSizeImage; 
   S32   biXPelsPerMeter; 
   S32   biYPelsPerMeter; 
   U32  biClrUsed; 
   U32  biClrImportant; 
} _vgImage_BITMAPINFOHEADER; 

typedef struct tag_vgImage_RGBQUAD {
	U8    rgbBlue;
	U8    rgbGreen; 
    U8    rgbRed;
	U8    rgbReserved;
} _vgImage_RGBQUAD; 

/*	For PCX file
*****************************************************/
typedef	struct tag_vgImage_PCXHEADER
{
	U8	header;
	U8	version;
	U8	encode;
	U8	bitperpixel;
	U16	x1,y1,x2,y2;
	U16	hres,vres;
	U8	palette[48];
	U8	mode;
	U8	nplanes;
	U16	byteperline;
	U16	paletteinfo;
	U16	shres,svres;
	U8	temp[54];
} _vgImage_PCXHEADER;

/**********************************************************************
	Image loading functions
	Desc: image file肺何磐 vgSURFACE甫 父电促.
**********************************************************************/
vgBOOL LoadSurfaceInfoFromBMP( const char *const filename, vgSURFACE **const pps );
vgBOOL LoadSurfaceInfoFromGIF( const char *const filename, vgSURFACE **const pps );
vgBOOL LoadSurfaceInfoFromPCX( const char *const filename, vgSURFACE **const pps );
vgBOOL LoadSurfaceInfoFromSRF( const char *const filename, vgSURFACE **const pps );

/**********************************************************************
	Clip
	Desc: Clipping 康开.
**********************************************************************/
extern S32	_vgScreen_width;
extern S32	_vgScreen_height;
extern S32 _vgClip_x0;
extern S32 _vgClip_y0;
extern S32 _vgClip_x1;
extern S32 _vgClip_y1;

/**********************************************************************
	DMA
	Desc: 
**********************************************************************/
void vgDMA( void *dest, const void *src, long count );
void vgDMA8( void *dest, const void *src, long count );
void vgDMA16( void *dest16, const void *src16, long count16 );
void vgDMA32( void *dest32, const void *src32, long count32 );

/**********************************************************************
	file system
	Desc: 
**********************************************************************/
void	InitFileSystem();

/**********************************************************************
	Back up memory
	Desc: 
**********************************************************************/
void _SDK_InitBackupMem( void );

/*************************************
	vginput & timer
*************************************/
void vgTimerWait( U32 tick );

/*************************************
	Sound
*************************************/
vgBOOL	_VR0SndInit( void );			// initialization
void	_VR0SndClose( void );		// shut down 

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -