📄 tpconfig.c
字号:
/******************************************************************Microwindows 触摸屏校验程序 By zhang kaohua 2003.12.18**************************************************************************/#define MWINCLUDECOLORS#include<stdio.h>#include <fcntl.h>#include <errno.h>#include <unistd.h>#include "device.h"#include"nano-X.h"#include "touchscreen_s3c44b0_ads7843.h"static GR_WINDOW_ID w; //声明根窗口static GR_GC_ID gc; //声明根窗口绘图上下文GR_EVENT event; //声明事件GR_FONT_ID font; //设置字体号void do_press(GR_EVENT_BUTTON *event);//static int PD_Open( );struct tpmark { int ltx; int lty; int rbx; int rby; }tpMark;struct ts_event tpevent;//extern struct ts_event event1;static int rx,ry;//任意点坐标static int lt_x,lt_y;//左上角static int rb_x,rb_y;//右下角static char sure;FILE *tpmap;//存放校验坐标static int pd_fd = -1;extern SCREENDEVICE scrdev;// string text;int main(int ac,char **av){/* struct ts_event tpevent; int rx,ry;//任意点坐标 int lt_x,lt_y;//左上角 int rb_x,rb_y;//右下角 FILE *tpmap;//存放校验坐标 string text; char sure;*/ rx=0;ry=0; lt_x=1719;lt_y=480; rb_x=314; rb_y=3666; //tpmark tpMark; sure='n'; if (GrOpen()<0) { printf("Can't open graphics\n"); exit(1); } w=GrNewWindow(GR_ROOT_WINDOW_ID,0,0,320,240,3,GREEN,BLUE);//实例化根窗口 gc=GrNewGC();//实例化上下文 GrMapWindow(w);//显示窗口 // draw_main_win(w,gc); GrSelectEvents(w,GR_EVENT_MASK_EXPOSURE | GR_EVENT_MASK_BUTTON_DOWN); GrText(w,gc,60,20,"Please press any point on touchpad!",-1,GR_TFASCII); //PD_Open( ); for(;;) { GrGetNextEvent(&event); switch(event.type)//pevent.pressure>50) { case GR_EVENT_TYPE_BUTTON_DOWN: do_press(&event.button); break; } } GrClose(); return 0;}void do_press(GR_EVENT_BUTTON *event){//调用触摸屏事件 if(event->wid==w) { for(;;) { if(rx+ry==0) { rx=event1.x; ry=event1.y; GrText(w,gc,80,40,"rx=:"+rx,-1,GR_TFASCII); GrText(w,gc,160,40,"ry=:"+ry,-1,GR_TFASCII); } else if(rx+ry>0) { if(lt_x+lt_y==0) { lt_x=event1.x; lt_y=event1.y; GrText(w,gc,80,80,"lt_x=:",-1,GR_TFASCII); GrText(w,gc,160,80,"lt_y=:",-1,GR_TFASCII); } else { rb_x=event1.x; rb_y=event1.y; GrText(w,gc,80,100,"rb_x=:",-1,GR_TFASCII); GrText(w,gc,160,100,"rb_y=:",-1,GR_TFASCII); break; } } } } GrText(w,gc,80,120,"Are you sure?(input y/n in minicom)",-1,GR_TFASCII); scanf("%c",&sure); if((sure=='y')||(sure=='Y')) { if((tpmap=fopen("./tpconfigure","wb+"))==NULL) { printf("can't open the config file!\n"); return;//exit(0); } tpMark.ltx=lt_x; tpMark.lty=lt_y; tpMark.rbx=lt_x; tpMark.rby=lt_y; if(fwrite(&tpMark,sizeof(int),4,tpmap)!=4) printf("file write error!\n"); } return; }/*static int PD_Open( ){ if((pd_fd = open(TS_DEVICE_FILE, O_NONBLOCK)) < 0) { EPRINTF("Error %d opening %s touchscreen device [%s]\n", errno, TS_DEVICE, TS_DEVICE_FILE); return -1; } GdHideCursor(&scrdev); return pd_fd;}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -