grtry.c
来自「如何编写自己的图形开发包 利用tc2.0在DOS下编写一个功能完整的图形开」· C语言 代码 · 共 82 行
C
82 行
#include "MyType.h"
#include "GrTry.h"
/* 设置好寄存器,并完成初始化 */
void SetSVGAMode(INT16 vmode)
{
switch (vmode) /* 记录当前的分辨率 */
{
case TRY320X200X256:
COLS = 320;
ROWS = 200;
break;
case TRY640X480X256:
COLS = 640;
ROWS = 480;
break;
case TRY800X600X256:
COLS = 800;
ROWS = 600;
break;
case TRY1024X768X256:
COLS = 1024;
ROWS = 768;
break;
}
_AX = 0x4f02;
_BX = vmode;
__int__(0x10);
}
/* 获取当前模式 */
INT16 GetSVGAMode()
{
_AX = 0x4f03;
__int__(0x10);
return _BX;
}
/* 画点函数 */
void Dot(INT16 x, INT16 y, UINT8 color)
{
UINT32 PageAll1, PageAll2;
UINT8 PageIndex;
if (x > -1 && x < COLS && y > -1 && y < ROWS)
{
PageAll1 = PageAll2 = (UINT32)y*(UINT32)COLS+(UINT32)x;
PageIndex = PageAll1 >> 16;
SelectPage(PageIndex);
VideoBuffer[PageAll2] = color;
}
}
/* 图形初始化 */
void InitSVGA()
{
OldSMode = GetSVGAMode();
}
/* 回到原来模式 */
void ExitSVGA()
{
SetSVGAMode(OldSMode);
}
/* 换页函数 */
void SelectPage(register UINT8 page)
{
_BX = 0;
_DX = page;
_AX = 0x4f05;
__int__(0x10);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?