/*Nano-X文字螺旋显示程序*/
#include <stdio.h>
#include <stdlib.h>
#define MWINCLUDECOLORS
#include "microwin/nano-X.h"
GR_WINDOW_ID wid;
GR_GC_ID gc;
GR_FONT_ID font[9];/*存放不同角度的文字角度,大小信息*/
int j=0;
void event_handler(GR_EVENT *event);
int main(void)
{
int degree,fontsize;
fontsize=12;
if(GrOpen()<0)
{
fprintf(stderr,"Nano-X服务器没有启动!");
exit(1);
}
/*新建文件句柄*/
gc=GrNewGC();
GrSetGCUseBackground(gc,GR_FALSE);
/*设置图形上下文前景色为红色*/
GrSetGCForeground(gc,RED);
/*窗口创建*/
wid=GrNewWindowEx(GR_WM_PROPS_APPFRAME|GR_WM_PROPS_CAPTION|GR_WM_PROPS_CLOSEBOX,/
"Font Test Window",GR_ROOT_WINDOW_ID,50,50,500,500,WHITE);
/*事件选择*/
GrSelectEvents(wid,GR_EVENT_MASK_EXPOSURE|GR_EVENT_MASK_CLOSE_REQ);
degree=0;
for(j=0;j<9;j++)
{
fontsize+=3;
font[j]=GrCreateFont("arial",fontsize,NULL);/*设置字体*/
degree-=400; /*设置旋转角度*/
GrSetFontRotation(font[j],degree);
}
GrMapWindow(wid);
GrMainLoop(event_handler);
return 0;
}
void event_handler(GR_EVENT *event)
{
switch(event->type)
{
case GR_EVENT_TYPE_EXPOSURE:
for(j=0;j<9;j++)
{
GrSetFontAttr(font[j],GR_TFANTIALIAS,0);/*获取字体属性*/
GrSetGCFont(gc,font[j]);/*设置字体*/
GrText(wid,gc,200,250,"Nano-X API",-1,GR_TFASCII);/*输出文字*/
}
break;
case GR_EVENT_TYPE_CLOSE_REQ:
GrClose();
exit(0);
}
}