📄 chentestchinese.c
字号:
//为了检测expose event代码,要运行带有NanoWM窗口管理器的Nano-X,这样就可以移动窗口了。命令如下:
//bin/nano-X & sleep 1; bin/nanowm & sleep 1; chenTestChinese
//用GrSelectEvents函数发送 GR_EVENT_TYPE_EXPOSURE事件到客户(client)程序中。
//为了保持client/ server之间的通信,server只向每个client窗口发送选择过的事件。
//程序中只有一句处理“Hello World”显示文本,该句在expose event例程中。
//GrMapWindow调用后立即产生一个expose event,这样即使窗口实际上并没有真正移动文字还是会被显示出来。
#define MWINCLUDECOLORS
#include <stdio.h>#include <stdlib.h>#include "nano-X.h"
int main(int ac,char **av)
{
GR_WINDOW_ID w;
GR_GC_ID gc;
GR_EVENT event;
GR_FONT_ID fontid;
if (GrOpen() < 0) {
printf("Can’t open graphics\n");
exit(1);
}
w = GrNewWindow(GR_ROOT_WINDOW_ID, 20, 20, 100, 60,4, WHITE, BLUE);
gc = GrNewGC();
GrSetGCForeground(gc, BLACK);
GrSetGCUseBackground(gc, GR_FALSE);
//fontid = GrCreateFont ("hzk", 12, NULL);
//printf("\tCHENDEBUG:Fontid=%d name=hzk 12\n",fontid);
fontid = GrCreateFont ("gb16x16song", 16, NULL);
printf("\tCHENDEBUG:Fontid=%d name=gb16x16song 16\n",fontid);
GrSetGCFont(gc, fontid); GrText(w, gc,10,10, "Hello 陈旭东 !", -1, GR_TFASCII);
GrSelectEvents(w, GR_EVENT_MASK_EXPOSURE);
GrMapWindow(w);
for (;;) {
GrGetNextEvent(&event);
switch (event.type) {
case GR_EVENT_TYPE_EXPOSURE:
fontid = GrCreateFont ("HZKFONT", 20, NULL);
//GrSetFontSize(fontid,24);
GrSetFontAttr(fontid, GR_TFKERNING | GR_TFANTIALIAS, 0);
GrSetGCFont(gc, fontid);
GrText(w, gc, 10, 50, "Hello 陈旭东字体测试 !", -1, GR_TFASCII);
break;
}
}
GrDestroyFont(fontid);
GrClose();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -