www.pudn.com > microwindows.example10.rar > demodraw.c
/******************************************************************* //Microwindows绘图演示程序.zhang kaohua 2003.12.2 *******************************************************************/ #define MWINCLUDECOLORS #include#include"nano-X.h" static GR_WINDOW_ID w;//声明根窗口 static GR_WINDOW_ID we; static GR_EVENT event; static GR_GC_ID gc;//声明根窗口上下文 int main(int ac,char **av) { if (GrOpen()<0) { printf("Can't open graphics\n"); exit(0); } w=GrNewWindow(GR_ROOT_WINDOW_ID,10,10,300,200,3,GREEN,BLUE);//实例化根窗口 gc=GrNewGC();//实例化上下文 GrMapWindow(w);//显示窗口 //画直线 GrLine(w,gc,70,20,70,175); GrLine(w,gc,140,20,140,175); GrLine(w,gc,210,20,210,175); GrLine(w,gc,270,20,270,175); //画矩形 GrRect(w,gc,100,50,50,20); //画圆和椭圆 GrEllipse(w,gc,50,50,50,50); //画实圆和实椭圆 GrFillEllipse(w,gc,50,50,25,25); GrFillEllipse(w,gc,125,80,30,10); // GrSetGCForeground(gc,YELLOW); GrSetGCBackground(gc,GREEN); GrText(w,gc,150,100,"Hello (^o^)",-1,GR_TFASCII); we=GrNewWindow(w,260,10,30,20,1,YELLOW,BLUE); GrMapWindow(we); GrSetGCForeground(gc,GREEN); GrSetGCBackground(gc,YELLOW); GrText(we,gc,2,15,"EXIT",-1,GR_TFASCII); GrSelectEvents(we,GR_EVENT_MASK_EXPOSURE | GR_EVENT_MASK_BUTTON_DOWN); for(;;) { GrCheckNextEvent(&event); switch (event.type) { case GR_EVENT_TYPE_BUTTON_DOWN: if (event.button.wid == we) { GrClose(); exit(0); } break; } } GrClose(); return 0; }