gamedisplay.c
来自「是一个手机功能的模拟程序」· C语言 代码 · 共 148 行
C
148 行
//6.19 chenjun add a function DrawCpointLine()
#if defined (NEW_FRAME)
#include "typedefs.h"
#include "gdi.h"
#include "vsi.h"
#include "custom.h"
#include "gsm.h"
#else
#include "stddefs.h"
#include "gdi.h"
#include "custom.h"
#include "gsm.h"
#endif
#include "GameDisplay.h"
#include "dspl.h"
void DrawPoint(game_Point param)
{
int oldcolor;
oldcolor=dspl_SetFrgColor(param.color);
dspl_DrawPoint(param.x, param.y);
dspl_SetFrgColor(oldcolor);
}
void DrawCircle(game_Circle param)
{
int oldcolor;
oldcolor=dspl_SetFrgColor(param.color);
dspl_DrawCircle(param.x,param.y,param.radius);
dspl_SetFrgColor(oldcolor);
oldcolor=dspl_SetBkgColor(param.fillcolor);
dspl_fill_Circle(param.x,param.y,param.radius);
dspl_SetBkgColor(oldcolor);
}
void DrawRectagle(game_Rectangle param)
{
int oldcolor;
oldcolor=dspl_SetFrgColor(param.color);
dspl_DrawRect(param.x1,param.y1,param.x2,param.y2);
dspl_SetFrgColor(oldcolor);
oldcolor=dspl_SetBkgColor(param.fillcolor);
dspl_fill_rectangle(param.x1,param.y1,param.x2,param.y2);
dspl_SetBkgColor(oldcolor);
}
void DrawLine(game_Line param)
{
int oldcolor;
oldcolor=dspl_SetFrgColor(param.color);
dspl_DrawLine(param.x1,param.y1,param.x2,param.y2);
dspl_SetFrgColor(oldcolor);
}
void DrawCpointLine(CPoint point_start, CPoint point_end, USHORT ulinewidth, ULONG ucolor)
{
int oldcolor;
int oldpensize;
oldcolor=dspl_SetFrgColor(ucolor);
oldpensize=dspl_set_pen_size(ulinewidth);
dspl_DrawLine(point_start.x,point_start.y,point_end.x,point_end.y);
dspl_SetFrgColor(oldcolor);
dspl_set_pen_size(oldpensize);
}
#if 1
int GetGameColor(game_color g_color)
{
int color;
if(g_color>=MaxGameColor)
return 0x0;//chenjun :this should never happen,maybe we can return a color like red to avoid wrong
switch(g_color)
{
case WHITE :return 0xffffff ; break;//白色 white ffffff
case RED:return 0xff0000 ; break;// 红色 red ff0000
case GREEN:return 0x00ff00 ; break;// 绿色 green 00ff00
case BLUE:return 0x0000ff ; break;// 蓝色 blue 0000ff
case MAGENTA:return 0xff00ff ; break;// 桃红色 magenta ff00ff
case CYAN:return 0x00ffff ; break;// 浅蓝色 cyan 00ffff
case YELLOW:return 0xffff00 ; break;// 黄色 yellow ffff00
case BLACK:return 0x000000 ; break;// 黑色 black 000000
case AQUAMARINE:return 0x70db93 ; break;// 草绿色 aquamarine 70db93
case BRONZE:return 0x8c7853 ; break;// 青铜色bronze 8c7853
case COPPER:return 0xb87333 ; break;// 红铜色 copper b87333
case FELDSPAR:return 0xd19275 ; break;// 长石色 feldspar d19275
case GOLD:return 0xcd7f32 ; break;// 金色 gold cd7f32
case GRAY:return 0xc0c0c0 ; break;// 灰色 gray c0c0c0
case KHAKI:return 0x9f9f9f; break;// 卡其色 khaki 9f9f9f
case MAROON:return 0x8e236b ; break;// 紫蓝色 maroon 8e236b
case ORANGE:return 0xff7f00 ; break;// 橙色 orange ff7f00
case ORCHID:return 0xdb70db ; break;// 淡紫色 orchid db70db
case PINK:return 0xbc8f8f ; break;// 粉红色 pink bc8f8f
case PLUM:return 0xeaadea; break;// 梅李色 plum eaadea
case QUARTZ:return 0xd9d9f3; break;// 石英色 quartz d9d9f3
case SALMON:return 0x6f4242 ; break;// 鲑肉色 salmon 6f4242
case SCARLET:return 0x8c1717; break;// 鲜红色 scarlet 8c1717
case SILVER:return 0xe6e8fa ; break;// 银色 silver e6e8fa
case THISTLE:return 0xd8bfd8; break;// 淡紫色 thistle d8bfd8
case TURQUOISE:return 0xadeaea ; break;// 蓝绿色 turquoise adeaea
case VIOLET:return 0x4f2f4f ; break;// 紫色 violet 4f2f4f
case WHEAT:return 0xd8d8bf ; break;// 小麦色 wheat d8d8bf
case ALICEBLUE:return 0xf0f8ff; break;// 艾利斯蓝 aliceblue f0f8ff
case ANTIQUEWHITE:return 0xfaebd7 ; break;// 复古白 antiquewhite faebd7
case AZURE:return 0xf0ffff ; break;// 天蓝色 azure f0ffff
case BEIGE:return 0xf5f5dc ; break;// 米色 beige f5f5dc
case BISQUE:return 0xffe4c4 ; break;// 淡黄色 bisque ffe4c4
case BLANCHEDALMOND:return 0xffebcd ; break;// 白杏仁 blanchedalmond ffebcd
case BLUEVIOLET:return 0x8a2be2 ; break;// 青紫色 blueviolet 8a2be2
case BROWN:return 0xa52a2a ; break;// 棕色 brown a52a2a
case BURLYWOOD:return 0xdeb887 ; break;// 硬木头 burlywood deb887
case CADETBLUE:return 0x5f9ea0 ; break;// 军队蓝 cadetblue 5f9ea0
case CHARTREUSE:return 0x7ff000 ; break;// 淡黄绿色 chartreuse 7ff000
case CHOCOLATE:return 0xd2691e ; break;// 灰褐色 chocolate d2691e
case CORAL:return 0xff7f50 ; break;// 珊瑚色 coral ff7f50
case CORNFLOWERBLUE:return 0x6495ed ; break;// 瞿麦蓝 cornflowerblue 6495ed
case CORNSILK:return 0xfff8dc ; break;// 玉蜀黍穗 cornsilk fff8dc
case CRIMSON:return 0xdc143c ; break;// 鲜红色 crimson dc143c
case DARKBLUE:return 0x00008b ; break;// 深蓝色 darkblue 00008b
case DARKCYAN:return 0x008b8b; break;// 深蓝绿色 darkcyan 008b8b
case DARKGOLDENROD:return 0xffffff ; break;// 深秋麒麟草 darkgoldenrod b8860b
case DARKGRAY:return 0xffffff ; break;// 深灰色 darkgray a9a9a9
case DARKGREEN:return 0x006400; break;// 墨绿色 darkgreen 006400
case DARKKHAKI:return 0xbdb76b ; break;// 深卡其色 darkkhaki bdb76b
case DARKMAGENTA:return 0x8b008b ; break;// 暗紫红色 darkmagenta 8b008b
case DARKOLIVEGREEN:return 0x556b2f ; break;// 暗橄榄绿 darkolivegreen 556b2f
case DARKORANGE:return 0xff8c00 ; break;// 暗橙色 darkorange ff8c00
case DARKORCHID:return 0x9932cc ; break;// 暗兰花 darkorchid 9932cc
case DARKRED:return 0x8b0000 ; break;// 暗红色 darkred 8b0000
case DARKSALMON:return 0xe9967a ; break;// 暗橙红色 darksalmon e9967a
case DARKSEAGREEN:return 0x8fbc8f; break;// 暗海绿色 darkseagreen 8fbc8f
case DARKSLATEBLUE:return 0x483d8b; break;// 深灰蓝色 darkslateblue 483d8b
case DARKSLATEGRAY:return 0x2f4f4f ; break;// 深蓝灰色 darkslategray 2f4f4f
case DARKTURQUOISE:return 0x00ced1; break;// darkturquoise 00ced1
case DARKVIOLET:return 0x9400d3 ; break;// 暗紫色 darkviolet 9400d3
case DEEPPINK:return 0xff1493; break;// 重粉红紅色 deeppink ff1493
case DEEPSKYBLUE:return 0x00bfff ; break;// 重天空蓝 deepskyblue 00bfff
case DIMGRAY:return 0x696969 ; break;// 暗灰色 dimgray 696969
case DODGERBLUE:return 0x1e90ff; break;// 柔和蓝 dodgerblue 1e90ff
case FIREBRICK:return 0xb22222 ; break;// 耐火砖色 firebrick b22222
default :return 0x0;break;
}
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?