📄 mwd.c
字号:
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
getnum(5);
}
if(bevent->wid==kb[1][2])
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
getnum(6);
}
if(bevent->wid==kb[2][0])
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
getnum(1);
}
if(bevent->wid==kb[2][1])
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
getnum(2);
}
if(bevent->wid==kb[2][2])
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
getnum(3);
}
if(bevent->wid==kb[3][0])
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
getnum(0);
}
if(bevent->wid==kb[3][1])
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[3][2])
{
w=KBW;
h=KBH;
twin(gc,bevent->wid,w,h);
msg.type=LED_SDATE;
msg.num=sum;
sendmessage(&mbuffer, &msg);
sum=0;
shownum(sum,gc);
}
if(bevent->wid==ledb[0])
{
w=LEDBW;
h=LEDBH;
twin(gc,bevent->wid,w,h);
msg.type=LED_LSHIFT;
msg.num=0;
sendmessage(&mbuffer, &msg);
}
if(bevent->wid==ledb[1])
{
w=LEDBW;
h=LEDBH;
twin(gc,bevent->wid,w,h);
msg.type=LED_RSHIFT;
msg.num=0;
sendmessage(&mbuffer, &msg);
}
if(bevent->wid==ledb[2])
{
w=LEDBW;
h=LEDBH;
twin(gc,bevent->wid,w,h);
msg.type=LED_CLSHIFT;
msg.num=0;
sendmessage(&mbuffer, &msg);
}
if(bevent->wid==ledb[3])
{
w=LEDBW;
h=LEDBH;
twin(gc,bevent->wid,w,h);
msg.type=LED_CRSHIFT;
msg.num=0;
sendmessage(&mbuffer, &msg);
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
void doEventButtonUp(GR_EVENT_BUTTON *bevent)
{
int w,h;
if(bevent->wid==bt[0])
{
w=BTW;
h=BTH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==bt[1])
{
w=BTW;
h=BTH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==bt[2])
{
w=BTW;
h=BTH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==bt[3])
{
w=BTW;
h=BTH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[0][0])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[0][1])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[0][2])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[1][0])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[1][1])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[1][2])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[2][0])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[2][1])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[2][2])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[3][0])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[3][1])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==kb[3][2])
{
w=KBW;
h=KBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==ledb[0])
{
w=LEDBW;
h=LEDBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==ledb[1])
{
w=LEDBW;
h=LEDBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==ledb[2])
{
w=LEDBW;
h=LEDBH;
swin(gc,bevent->wid,w,h);
}
if(bevent->wid==ledb[3])
{
w=LEDBW;
h=LEDBH;
swin(gc,bevent->wid,w,h);
}
}
/////////////////////////////////////////////////////////////////////////////
void umapStartMenu()
{
GrUnmapWindow(smb[0]);
GrUnmapWindow(smb[1]);
GrUnmapWindow(smb[2]);
GrUnmapWindow(smb[3]);
GrUnmapWindow(smb[4]);
}
/////////////////////////////////////////////////////////////////////////////
void doadw(GR_GC_ID gc)
{
GrSetGCForeground(gc, 255);
GrSetGCUseBackground(gc, GR_FALSE);
GrSetGCFont(gc, fontid);
GrUnmapWindow(ledw);
GrMapWindow(adw);
bwin(gc,adw,ADWW,ADWH);
}
void doledw(GR_GC_ID gc)
{
int i;
GrSetGCForeground(gc, 255);
GrSetGCUseBackground(gc, GR_FALSE);
GrSetGCFont(gc, fontid);
GrUnmapWindow(adw);
GrMapWindow(ledw);
bwin(gc,ledw,LEDWW,LEDWH);
for(i=0;i<4;i++)
{
GrMapWindow(ledb[i]);
swin(gc,ledb[i],LEDBW,LEDBH);
GrText(ledb[i],gc,15,18,ledbname[i],-1,GR_FALSE);
}
}
void umapledw()
{
GrUnmapWindow(ledw);
GrDrawImageToFit(window, gc,18,115, picIF.width, picIF.height, picID);
}
void umapadw()
{
GrUnmapWindow(adw);
GrDrawImageToFit(window, gc,18,115, picIF.width, picIF.height, picID);
}
//////////////////////////////////////////////////////////////////////////
void showkeyw(GR_GC_ID gc)
{
int i,j;
GrSetGCFont(gc, fontid);
GrSetGCForeground(gc, BLUE);
for(i=0;i<4;i++)
{
GrUnmapWindow(bt[i]);
}
GrMapWindow(keyw);
bwin(gc,keyw,KEYWW,KEYWH);
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
GrMapWindow(kb[i][j]);
swin(gc,kb[i][j],KBW,KBH);
GrText(kb[i][j],gc,FX,FY,keyname[i][j],-1,GR_FALSE);
}
}
void umapkeyw()
{
int i;
GrUnmapWindow(keyw);
for(i=0;i<4;i++)
{
GrMapWindow(bt[i]);
bwin(gc,bt[i],BTW,BTH);
}
}
///////////////////////////////////////////////////////////////////////////
void bwin(GR_GC_ID gc,GR_WINDOW_ID win,int w,int h)
{
GrSetGCForeground(gc,B2);
GrLine(win,gc,0,0,w-2,0);
GrLine(win,gc,0,1,0,h-2);
GrSetGCForeground(gc,B1);
GrLine(win,gc,1,1,w-3,1);
GrLine(win,gc,1,2,1,h-3);
GrSetGCForeground(gc,B3);
GrLine(win,gc,1,h-2,w-2,h-2);
GrLine(win,gc,h-2,1,h-2,w-3);
GrSetGCForeground(gc,B4);
GrLine(win,gc,0,h-1,w-1,h-1);
GrLine(win,gc,w-1,0,w-1,h-2);
}
void swin(GR_GC_ID gc,GR_WINDOW_ID win,int w,int h)
{
GrSetGCForeground(gc,B1);
GrLine(win,gc,0,0,w-2,0);
GrLine(win,gc,0,1,0,h-2);
GrSetGCForeground(gc,B2);
GrLine(win,gc,1,1,w-3,1);
GrLine(win,gc,1,2,1,h-3);
GrSetGCForeground(gc,B3);
GrLine(win,gc,1,h-2,w-2,h-2);
GrLine(win,gc,h-2,1,h-2,w-3);
GrSetGCForeground(gc,B4);
GrLine(win,gc,0,h-1,w-1,h-1);
GrLine(win,gc,w-1,0,w-1,h-2);
}
void twin(GR_GC_ID gc,GR_WINDOW_ID win,int w,int h)
{
GrSetGCForeground(gc,B3);
GrLine(win,gc,0,0,w-2,0);
GrLine(win,gc,0,1,0,h-2);
GrSetGCForeground(gc,B4);
GrLine(win,gc,1,1,w-3,1);
GrLine(win,gc,1,2,1,h-3);
GrSetGCForeground(gc,B2);
GrLine(win,gc,1,h-2,w-2,h-2);
GrLine(win,gc,h-2,1,h-2,w-3);
GrSetGCForeground(gc,B1);
GrLine(win,gc,0,h-1,w-1,h-1);
GrLine(win,gc,w-1,0,w-1,h-2);
}
void wwin(GR_GC_ID gc,GR_WINDOW_ID win,int w,int h)
{
GrSetGCForeground(gc,B2);
GrLine(win,gc,0,0,w-2,0);
GrLine(win,gc,0,1,0,h-2);
GrLine(win,gc,1,1,w-3,1);
GrLine(win,gc,1,2,1,h-3);
GrLine(win,gc,1,h-2,w-2,h-2);
GrLine(win,gc,h-2,1,h-2,w-3);
GrLine(win,gc,0,h-1,w-1,h-1);
GrLine(win,gc,w-1,0,w-1,h-2);
}
///////////////////////////////////////////////////////////////////////////////
void shownum(int a,GR_GC_ID gc)
{
char num[9];
GrClearWindow(text,1);
if(a>0)
{
GrSetGCFont(gc, fontid);
GrSetGCForeground(gc, BLUE);
sprintf(num,"%d",a);
GrMapWindow(text);
GrText(text,gc,FX+10,FY,num,-1,GR_FALSE);
}
}
void doad(float *a,GR_GC_ID gc)
{
int i;
char adnum[4][8];
GrSetGCFont(gc, fontid);
GrSetGCForeground(gc, BLUE);
GrClearWindow(adw,0);
for(i=0;i<4;i++)
{
sprintf(adnum[i],"%6.5f",a[i]);
GrText(adw,gc,FX+22,(FY+6+i*ADBH),adnum[i],-1,GR_FALSE);
}
}
void dotemp(float dtemp,GR_GC_ID gc)
{
char stemp[8];
if(dtemp>26)
{
GrSetGCFont(gc, fontid);
GrSetGCForeground(gc, RED);
}
else
{
GrSetGCFont(gc, fontid);
GrSetGCForeground(gc, BLUE);
}
sprintf(stemp,"%6.3f",dtemp);
GrClearWindow(temp,0);
GrText(temp, gc, 0, FY+10, stemp, -1, GR_TFASCII);
}
void getnum(int keynum)
{
sum*=10;
sum+=keynum;
if(sum>=99999999)
sum=0;
shownum(sum,gc);
}
void showkeynum(char key1)
{
MSGE msg;
if(key1<=9)
getnum(key1);
if(key1==15)
{
msg.type=LED_SDATE;
msg.num=sum;
sendmessage(&mbuffer,&msg);
sum=0;
shownum(sum,gc);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -