📄 vramop.h
字号:
#ifndef VRAMOP_H
#define VRAMOP_H
#include <sys\wintype.h>
#include <sys\cdevice.h>
#define VRAMMap( x2, y2, x1, y1, vram )\
{\
*(x2) = (x1) < (vram)->lcdx ? 0 : (x1) - (vram)->lcdx;\
*(y2) = (y1) < (vram)->lcdy ? 0 : (y1) - (vram)->lcdy;\
if( *(x2) >= LCD_WIDTH )\
*(x2) = LCD_WIDTH -1;\
if( *(y2) >= LCD_HEIGHT )\
*(y2) = LCD_HEIGHT -1;\
}
//GetNextLine 获取指定行的下一行的行首像素的物理地址
#define GetNextLine( nextPixelPos, nextBitOffset, pixelPos, bitOffset, vram ) \
{\
*(nextPixelPos) = (pixelPos) + ( vram )->widthInUnit;\
(*(nextBitOffset)) = ( bitOffset );\
}
extern const PIXEL PixelMask;
extern void newGetPixel( PIXEL *pixelValue, PIXEL *pixelPos, CHAR bitOffset );
extern void GetPixelPosition( PIXEL **pixelPos, CHAR *bitOffset, VRAM *vram, WORD x, WORD y );
extern void GetNextPixelPosition( PIXEL **nextPixelPos, CHAR *newBitOffset, PIXEL *pixelPos, CHAR bitOffset );
extern void GetNextPixel( PIXEL *pixelValue, PIXEL *pixelPos, CHAR bitOffset );
extern void GetLine( PIXEL **pixelPos, CHAR *bitOffset, VRAM *vram, WORD y );
//extern void GetNextLine( PIXEL **nextPixelPos, CHAR *nextBitOffset, PIXEL *pixelPos, CHAR bitOffset, VRAM *vram );
extern void newSetPixel( PIXEL *pixelPos, CHAR bitOffset, PIXEL pixelValue );
extern void PixelOp( PIXEL *desPixelPos, CHAR desBitOffset, PIXEL srcValue, WORD op );
extern void PixelMaskOp( PIXEL *desPixelPos, PIXEL srcValue, PIXEL srcMask, WORD op );
extern void UnitMaskOp( WORD *desPixelPos, WORD srcValue, WORD srcMask, WORD op );
extern void InvertPixel( PIXEL *desPixelPos, CHAR desBitOffset );
extern void SetLine( PIXEL *linePos, CHAR bitOffset, WORD len, PIXEL lineValue );
extern void LineUnicolorOp( PIXEL *desLinePos, CHAR desBitOffset, WORD len, PIXEL srcValue, WORD op );
extern void LineUnicolorMaskOp( PIXEL *desLinePos, CHAR desBitOffset, WORD len, PIXEL srcValue, WORD mask, WORD op );
extern void InvertLine( PIXEL *desLinePos, CHAR desBitOffset, WORD len );
extern void LineOp( PIXEL *desLinePos, CHAR desBitOffset, PIXEL *srcLinePos, CHAR srcBitOffset, WORD len, WORD op );
extern void BlockUnicolorOp( PIXEL *desLinePos, CHAR desBitOffset, WORD width, WORD height, PIXEL srcValue, WORD op, VRAM *vram );
extern void BlockUnicolorMaskOp( PIXEL *desLinePos, CHAR desBitOffset, WORD width, WORD height, PIXEL srcValue, WORD mask, WORD op, VRAM *vram );
extern void InvertBlock( PIXEL *desLinePos, CHAR desBitOffset, WORD width, WORD height, VRAM *vram );
extern void BlockOp( PIXEL *desLinePos, CHAR desBitOffset, PIXEL *srcLinePos, CHAR srcBitOffset, WORD width, WORD height, WORD op, VRAM *desVram, VRAM *srcVram );
extern VRAM *GetVRAM( WORD width, WORD height );
extern void FreeVRAM( VRAM *vram );
extern PIXEL *GetBlock( WORD width, WORD height );
extern DWORD GetVRAMSize( VRAM *vram );
extern void LinearColorMap( BYTE *color, BYTE index, BYTE maxColor, BYTE maxIndex);
extern BOOL InitialPalette( void );
extern void VertLineUnicolorOp( PIXEL *desLinePos, CHAR desBitOffset, WORD len, PIXEL srcValue, WORD mask, WORD op, VRAM *vram );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -