#sccs "@(#)uts/kern/sys:window.h 1.3" /* Unix Window System User-Level Window Defs */ #ifndef WINDOW_H #define WINDOW_H /* ioctls */ #define WIOC ('W'<<8) #define WIOCGETD (WIOC|1) /* get window data */ #define WIOCSETD (WIOC|2) /* set window data */ #define WIOCLFONT (WIOC|3) /* load window font */ #define WIOCUFONT (WIOC|4) /* unload window font */ #define WIOCSELECT (WIOC|5) /* set keyboard window */ #define WIOCREAD (WIOC|6) /* read whole screen (32k) */ #define WIOCGETTEXT (WIOC|7) /* get window text info */ #define WIOCSETTEXT (WIOC|8) /* set window text info */ #define WIOCPGRP (WIOC|9) /* set window pgrp */ #define WIOCSYS (WIOC|10) /* set system window slot */ #define WIOCGETMOUSE (WIOC|11) /* get mouse info */ #define WIOCSETMOUSE (WIOC|12) /* set mouse info */ #define WIOCRASTOP (WIOC|13) /* user-level rastop */ #define WIOCGSYS (WIOC|14) /* get system window pgrp */ #define WIOCGCURR (WIOC|15) /* get current window number */ #define WIOCGPREV (WIOC|16) /* get previous window number */ #define WIOCSESC (WIOC|17) /* set double esc mode */ #define WIOCSCR (WIOC|18) /* get/set screen saver delay */ #define WIOCGFONT (WIOC|19) /* get inodes of loaded fonts */ /* files, devices */ #define WDEV "/dev/w" /* individual windows */ /* WIOCGET/SET TEXT params */ #define WTXTPROMPT 0 /* prompt line */ #define WTXTCMD 1 /* command line */ #define WTXTLABEL 2 /* window label */ #define WTXTUSER 3 /* user-specific text */ #define WTXTSLK1 4 /* first of 2 SLK lines */ #define WTXTSLK2 5 /* second SLK line */ #define WTXTNUM 6 /* there are 6 text slots/win */ #define WTXTLEN 81 /* each can be 80 chars + null */ /* character attribute masks */ #define A_UNDERLINE 1 #define A_REVERSE 2 #define A_BOLD 4 #define A_STRIKE 8 #define A_DIM 16 /* slots in syswin for WIOCGET/SET SYS */ #define SYSWIN 3 /* number of sys wins */ #define SYSWMGR 0 /* window manager */ #define SYSPMGR 1 /* telephony manager */ #define SYSSMGR 2 /* status mgr */ #include "sys/rastop.h" /* w_uflags */ #define NBORDER 0x1 /* borderless */ #define VCWIDTH 0x2 /* variable chr spacing */ #define BORDHSCROLL 0x4 /* border hscroll icons */ #define BORDVSCROLL 0x8 /* border vscroll icons */ #define BORDHELP 0x10 /* border help patch */ #define BORDCANCEL 0x20 /* border cancel patch */ #define BORDRESIZE 0x40 /* border re-size patch */ #define NBORDMOVE 0x80 /* no border move patch */ #define UNCOVERED 0x100 /* uncovered (RO) */ #define KBDWIN 0x200 /* keyboard (RO) */ #define NOCLEAR 0x400 /* don't clear on create*/ #define NOSETUFLAGS (UNCOVERED|KBDWIN) /* basic params */ #define WTXTVS 12 /* text line height (sys font) */ #define WLINE(n) ((n-1)*WTXTVS) #define YTXTPROMPT WLINE(26) /* prompts */ #define YTXTCMD WLINE(27) /* command/echo */ #define YTXTSLK1 WLINE(28) /* screen labeled keys #1 */ #define YTXTSLK2 WLINE(29) /* screen labeled keys #2 */ #define WINWIDTH 720 /* logical area (for windows) */ #define WINHEIGHT (348-4*WTXTVS) struct uwdata /* user window information */ { unsigned short uw_x; /* upper-left-corner x (pixels) */ unsigned short uw_y; /* upper-left-corner y (pixels) */ unsigned short uw_width; /* width (pixels) */ unsigned short uw_height; /* height (pixels) */ unsigned short uw_uflags; /* various flags (see above) */ unsigned char uw_hs; /* horizontal size (RO) */ unsigned char uw_vs; /* vertical size (RO) */ unsigned char uw_baseline; /* baseline (RO) */ unsigned short uw_cx; /* current x position (RO) */ unsigned short uw_cy; /* current y position (RO) */ }; struct utdata /* user text data */ { short ut_num; /* number (see above) */ char ut_text[WTXTLEN]; /* text */ }; #define MSDOWN 0x1 /* when buttons go down */ #define MSUP 0x2 /* when buttons go up */ #define MSIN 0x4 /* when mouse is in rectangle */ #define MSOUT 0x8 /* when mouse is outside rect */ #define MSICON 0x10 /* load new mouse icon */ struct umdata /* user mouse data */ { char um_flags; /* wakeup flags */ short um_x; /* motion rectnalge */ short um_y; short um_w; short um_h; struct icon *um_icon; /* ptr to icon if MSICON=1 */ }; struct urdata /* user rastop data */ { unsigned short *ur_srcbase; /* ptr to source data */ unsigned short ur_srcwidth; /* number bytes/row */ unsigned short *ur_dstbase; /* ptr to dest data */ unsigned short ur_dstwidth; /* number bytes/row */ unsigned short ur_srcx; /* source x */ unsigned short ur_srcy; /* source y */ unsigned short ur_dstx; /* destination x */ unsigned short ur_dsty; /* destination y */ unsigned short ur_width; /* width */ unsigned short ur_height; /* height */ unsigned char ur_srcop; /* source operation */ unsigned char ur_dstop; /* destination operation */ unsigned short *ur_pattern; /* pattern pointer */ }; #endif WINDOW_H