📄 gl.h
字号:
GL_FILLSEG * _drawtbl; /* seg table for draw */ GL_OPENSEG * _opentbl; /* seg table for open */ short _cntdraw; /* counter of draw seg */ short _cntopen; /* counter of open seg */ unsigned short _segopen; /* flag for open segment */ unsigned short _skind; /* kind of draw segment */ unsigned short _sskind; /* kind of searched segment */ unsigned short _flag; /* flag for SearchEdge */ short _xl; /* Left X to draw */ short _y; /* Y to draw */ short _xr; /* Right X to draw */ short _xxl; /* Left X to search(result) */ short _yy; /* Y to aearch */ short _xxr; /* Right X to search(result)*/} GL_FLOODWORK;/*--------------------------------------------------------------------------- Polygon *---------------------------------------------------------------------------*//* Table of line segment */typedef struct ltb_t { short x,y ; /* Drawing point */ unsigned short dx,dy ; /* Slope */ unsigned short rx,ry ; /* Number of pixels */ short sx,ex ; /* Begin point */ unsigned short count ; /* DDA count */ short dir ; /* vector */ short addx ; /* add x */ short scnt ;} GL_LTB ;/* Work area for polygon */typedef struct poly_t GL_POLY ;struct poly_t { short lines ; /* Number of lines */ short y ; short linesize ; short rsv ; unsigned long style ; /* Style */ unsigned long color ; /* Frame color */ unsigned long fcolor ; /* Fill color */ short *sort ; /* Top of sort table */ GL_LTB *lintbl ; /* Top of line table */ int (*fillf)(GL_WP *) ;} ;/*------------------------------------------------------------------ * General information area *------------------------------------------------------------------*/struct GL_para_t { short scrn[2][2] ; /* Screen rectangle */ short view[2][2] ; /* Viewport */ short clip[2][2] ; /* Clip area */ GL_LD window[2][2] ; /* Window rectangle */ GL_LD curwin[2][2] ; /* Current window rectangle */ short scrnsize[2] ; /* Screen size */ short bias[2] ; /* Bias */ short dp[2] ; /* Drawing position */ short cp[2] ; /* Character position */ short gp[2] ; /* Graphic cursor position */ unsigned short wtype:3 ; /* Logical coordinate type */ /* GL_NOWIN (0) none */ /* GL_INT (1) short int */ /* GL_SINGLE(3) float */ /* GL_DOUBLE(4) long int */ unsigned short cwtype:3 ; /* Current logica coor. type */ unsigned short hsign:1 ; /* Mirror vertical */ unsigned short vsign:1 ; /* Mirror horizontal */ unsigned short clipf:1 ; /* Clipping flag */ unsigned short gcursf:1 ; /* Graphic cursor flag */ unsigned short gcmode:2 ; /* Graphic cursor mode */ /* bit0:viewport */ /* bit1:clip area */ unsigned short gcsavef:1 ; /* Graphic cursor save flag */ unsigned short gcfailf:1 ; unsigned short clogicalf:1 ; /* Character drawing by logical */ unsigned short viewf:1 ; /* Viewport flag */ unsigned long color ; /* Drawing color */ unsigned long bcolor ; /* Background color */ unsigned long fcolor ; /* Fill color */ short logic ; /* Logical calculation */ /* GL_PSET (0) */ /* GL_OR (1) */ /* GL_AND (2) */ /* GL_XOR (3) */ /* GL_NOT (4) */ /* GL_PRESET (8) */ short filltype ; /* Fill type */ /* 0:no fill, no frame */ /* 1:fill without frame */ /* 2:tile without frame */ /* 3:mask without frame */ /* 8:frame */ /* 9:fill with frame */ /* 10:tile with frame */ /* 11:mask with frame */ short linesize ; /* Line size */ short deflinesize ; /* Standard line size */ short styleno ; /* Line style No. */ short tileno ; /* Tile No. */ short flatness ; /* Flatness of bezier */ short ciradj ; /* Circle aspect ratio n:256 */ long typeface ; /* Font type */ short fontsize[2] ; /* Font size */ short drawsize[2] ; /* Font drawing size */ short slope ; /* Slope n/256 */ short rotate ; /* Ratate 0-359 */ short hpitch ; /* Horizontal pitch */ short vpitch ; /* Vertical pitch */ short cbase ; /* Base No. */ /* 0--1--2 */ /* | | | */ /* 3--4--5 */ /* | | | */ /* 6--7--8 */ short cdir ; /* Direction 0:hori. 1:vert. */ short isize[2] ; /* Image drawing size (0:original) */ short ibase[2] ; /* Base offset */ short irotate ; /* Rotate */ short islope ; /* Slope */ short imageno ; /* Mask image No. */ short rsv ;} ;/*------------------------------------------------------------------ * Point work *------------------------------------------------------------------*/struct GL_pnt_t { long offs ; /* Byte offset from VRAM begin */ short bitp ; /* Bit offset(0:bit7-7:bit0) */ short lbytes ; /* Bytes per line */ short x,y ; /* Coordinate */ unsigned long color ; /* Color */ short logic ; /* Logical calculation No. */ short rsv ; /* Reserved */} ;/*------------------------------------------------------------------ * DDA work *------------------------------------------------------------------*/struct GL_dda_t { long offs ; /* Byte offset from VRAM begin */ short bitp ; /* Bit offset 0:bit7-7:bit0) */ short lbytes ; /* Bytes per line */ short x,y ; /* Coordinate */ short rx,ry ; /* Number of pixles */ short org[2][2] ; /* Start-End point before clipping */ unsigned long color ; /* Color */ unsigned long style ; /* Style */ short logic ; /* Logical calculation No. */ short flag ; /* Flag */ /* bit0 : 1:No drawing end point */} ;/*------------------------------------------------------------------ * BitBlt work *------------------------------------------------------------------*/struct GL_bitblt_t { long soffs ; /* Byte offset or addres of source */ short sbitp ; /* Bit offset of sourc 0:bit7-7:bit0*/ short slbytes ; /* Bytes per line of source */ short sx,sy ; /* Coordinate of source */ long doffs ; /* Byte offset or addores of des. */ short dbitp ; /* Bit offset of des. 0:bit7-7:bit0 */ short dlbytes ; /* Number of lines of destination */ short dx,dy ; /* Coordinate of destination */ short tx,ty ; /* Number of translate pixels */ short bx,by ; /* Base of tile */ long planebytes ;/* Bytes per plane */ unsigned long color ; /* Color */ unsigned long bcolor ; /* Background color */ char *tilep ; /* Pointer to tile pattern */ short logic ; /* Logical calculation No. */ short spage ; /* Source page No. */} ;/*------------------------------------------------------------------ * Character font work *------------------------------------------------------------------*/struct GL_font_t { long typeface ; /* Font type */ char *buf ; /* Pointer to font buffer */ long bufsize ; /* Sizie of font buffer */ unsigned short code ; /* Character code */ unsigned short flag ; /* Reverse flag */ /* bit0 : 1 is vertical */ /* bit1 : 1 is horizontal */ /* bit15: attribute work end */ short xdots,ydots ; /* Font size */ short mxdots,mydots ; /* Drawing size */ short rotate ; /* Rotate 0-359 */ short slope ; /* Slope n/256 */ short xoffs,yoffs ; /* Offset of divided area */ short txdots,tydots ; /* Font truth size */ short bwidth,blines ; /* Buffer sizie */ /* (bwidth is multiple of 8) */} ;/*------------------------------------------------------------------ * Hook table *------------------------------------------------------------------*/struct GL_hook_t { int (*init)(GL_WP *) ; int (*palette)(GL_WP *,unsigned long,unsigned long) ; int (*actpage)(GL_WP *,short) ; int (*dsppage)(GL_WP *,short) ; int (*selplane)(GL_WP *,short, short) ; int (*cls)(GL_WP *) ; int (*scroll)(GL_WP *) ; int (*pset)(GL_WP *) ; int (*pget)(GL_WP *) ; int (*dda)(GL_WP *) ; int (*bbset)(GL_WP *) ; int (*bbtile)(GL_WP *) ; int (*bbcopy)(GL_WP *) ; int (*bbget)(GL_WP *) ; int (*bbput)(GL_WP *) ; int (*bbdot)(GL_WP *) ; int (*findfont)(GL_WP *) ; int (*getfont)(GL_WP *) ; int (*searchedge)(GL_WP *, GL_FLOODWORK *); int (*bbmask)(GL_WP *);#ifdef _GL_EXFUNC int (*release)(GL_WP *) ; int (*attribute)(GL_WP *,int, unsigned long) ; int (*lineto)(GL_WP *,int,int,int) ; int (*ellipse)(GL_WP *,int,int,int,int,int,int,int,int,int) ; int (*box)(GL_WP *,int,int,int,int) ; int (*polygon)(GL_WP *, GL_POLY *) ; int (*addstr)(GL_WP *,short *,int) ; int (*copyimage)(GL_WP *,int,int,int,int,int,int,int) ; int (*putimage)(GL_WP *,GL_IDSC *,int,int) ; int (*putdots)(GL_WP *,GL_IDSC *,int,int) ; int (*settile)(GL_WP *,int, GL_IDSC *) ; int (*setgcurs)(GL_WP *,GL_IDSC *,GL_IDSC *,int) ; int (*gcurs)(GL_WP *,int) ; int (*movegcurs)(GL_WP *,int,int) ;#endif} ;/*------------------------------------------------------------------ * Image descriptor *------------------------------------------------------------------*/struct GL_idsc_t { void *dp ; /* Pointer to data */ short width ; /* Width */ short lines ; /* Lines */ char type ; /* Storage type */ char bpp ; /* Type of bits per pixel */ short bpl ; /* Bytes per line(0:auto) */ long bpu ; /* Bytes per plane(0:auto) */} ;/*------------------------------------------------------------------ * hardware depend work *------------------------------------------------------------------*/struct GL_hwork_t {#if !_GL_SAVEMEMORY long user[64] ; /* User area */#endif short page ; /* Active page */ short VRAMbpl ; /* Bytes per line of VRAM */ short VRAMblen ; /* Bits per pixel (in a plane)*/ unsigned short initf ; /* Initial end flag */ /* bit0 : Selected to page 0*/ /* bit1 : Cleared page 0 */ /* bit2 : Init-ed palette */ /* bit3 : Set VRAM address*/ short p[2][2] ; /* Work area for window calc*/ GL_LD w[2][2] ; void *VRAMadr[1][GL_Planes] ; /* VRAMaddres table */ /* VRAMadr[page][plane] */} ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -