📄 gl.h
字号:
/*=========================================================================== 2D Graphics Library ALL RIGHTS RESERVED, COPYRIGHT (C) FUJITSU LIMITED 2001-2002 LICENSED MATERIAL - PROGRAM PROPERTY OF FUJITSU LIMITED ===========================================================================*//*---------------------* * Version V01L12 * *---------------------*//*------------------------------------------------------------------ Compile time options Machine (Only one) SPARClite GL for SPARClite 1 GNU version 2 GNU version 3 MRI version _ix86 GL for ix86 _FR20 GL for FR _VENUS GL for Venus Compiling source CSRC Use C language sources Access length AccLen SPARClite 2 or 4 _FR20 4 _ix86 4 Only SPARClite ASI Alternate space identification Exp.) -DASI=0x2a Only FR20 _GL_FCC911_V01Lxx Use C compiler V01Lxx _GL_FCC911_V02Lxx Use C compiler V02Lxx (Default) *------------------------------------------------------------------*/#ifndef _GL_H_#define _GL_H_#include "gltype.h"/*------------------------------------------------------------------ * Machine *------------------------------------------------------------------*/#ifndef _ix86#define _ix86 0#endif#ifndef SPARClite#define SPARClite 0#endif#ifndef _FR20#define _FR20 0#endif#ifndef _VENUS#define _VENUS 0#endif/*-------------------------------------------------------------------------- * SPARClite Tool Select * * GNU GNU tools use * MRI MRI tools use * GHS GHS tools use *--------------------------------------------------------------------------*//*#define GNU 1*//*#define MRI 2*//*#define GHS 3*//*-------------------------------------------------------------------------- * FR20 Tool Select * * _GL_FR20C_V01Lxx FR20 compiler version V01Lxx * _GL_FR20C_V02Lxx FR20 compiler version V02Lxx *--------------------------------------------------------------------------*/#define _GL_FR20C_V01Lxx 1#define _GL_FR20C_V02Lxx 2#define _Far#if _ix86#define _GL_DEBUG#ifdef _GL_DEBUG//#pragma comment(lib, "ix86/lib/Debug/gl.lib")#else#pragma comment(lib, "ix86/lib/Release/gl.lib")#endif#endif /* _ix86 */#ifndef CSRC#define CSRC 0#endif#if _FR20#ifndef _GL_SAVEMEMORY#define _GL_SAVEMEMORY 1#endif/*#ifndef _GL_MACROSWITCH*//*#define _GL_MACROSWITCH 1*/ /* Text Macro Switch *//*#endif*/#endif /* _FR20 */#ifndef _GL_SAVEMEMORY#define _GL_SAVEMEMORY 0#endif/*------------------------------------------------------------------ * Structure of working area *------------------------------------------------------------------*/typedef struct GL_work_t GL_WP ;typedef struct GL_para_t GL_PARA ;typedef union GL_ld_t GL_LD ;typedef struct GL_pnt_t GL_PNT ;typedef struct GL_dda_t GL_DDA ;typedef struct GL_bitblt_t GL_BB ;typedef struct GL_font_t GL_FONT ;typedef struct GL_hook_t GL_HOOK ;typedef struct GL_idsc_t GL_IDSC ;typedef struct GL_hwork_t GL_HW ;typedef struct GL_config_t GL_CONFIG ;typedef struct GL_draw_t GL_DRAW ;/*------------------------------------------------------------------ * VRAM type *------------------------------------------------------------------*/#define GL_VRAM1 0 /* 1x1 plane */#define GL_VRAM16P 1 /* 1x4 plane */#define GL_VRAM16 2 /* 4x1 plane */#define GL_VRAM256 3 /* 8x1 plane */#define GL_VRAM256G 4 /* 8x1 plane */#define GL_VRAM64K 5 /* 16x1 plane */#define GL_VRAM16MP 6 /* 8x3 plane */#define GL_VRAM16MH 7 /* 16x3 plane(Not supported)*/#define GL_VRAM16M 8 /* 24x1 plane */#define GL_VRAM4PAL 9 /* 2x1 plane palette */#define GL_VRAM16PAL 10 /* 4x1 plane */#define GL_VRAM64PAL 11 /* 6x1 plane */#define GL_VRAM256PAL 12 /* 8x1 plane *//*------------------------------------------------------------------ * Error labels *------------------------------------------------------------------*/#define GL_Ok 0#define GL_SmallWork -1#define GL_NoFont -2#define GL_NoFontSize -3#define GL_IllDefVRAM -4#define GL_IllVRAMMode -5#define GL_IllWorkBound -7#define GL_IllPage -8#define GL_IllVRAMbpl -9#define GL_IllCoor -10#define GL_NoVRAMAdr -11#define GL_FewCoor -12#define GL_IllColKind -13#define GL_IllClipNo -14#define GL_IllLogic -15#define GL_IllImgType -17#define GL_NotSupImgType -18#define GL_NotDotImg -19#define GL_NoTmpBuf -20#define GL_IllTileNo -21#define GL_NullImgPtr -23#define GL_NullIdsc -24#define GL_IllPageNo -25#define GL_IllStyleNo -26#define GL_IllImgNo -27#define GL_UndefImg -28#define GL_SmallBuf -29#define GL_OverFlow -30#define GL_IllDataBound -31#define GL_IllDataCount -32#define GL_CantDraw -33#define GL_IllFuncNo -34#define GL_OutDraw -35 /* V01L07 */#define GL_Border -36 /* V01L07 */#ifdef _GL_EXFUNC#define GL_NotSupport -40#define GL_NoGDCHandle -41#endif/*------------------------------------------------------------------ * Image storage type *------------------------------------------------------------------*/#define GL_ImageTypes 4 /* Number of types */#define GL_MONO 0#define GL_PACKED 1#define GL_PLANE 2#define GL_PALETTE 3 /* V01L06 *//*------------------------------------------------------------------ * Image length type *------------------------------------------------------------------*/#define GL_ImageBpps 7 /* Number of bits per pixel */#define GL_D1 0#define GL_D4 1#define GL_D8 2#define GL_D16 3#define GL_D24 4#define GL_D2 5 /* V01L06 */#define GL_D6 6 /* V01L06 *//*------------------------------------------------------------------ * Logical calculation *------------------------------------------------------------------*/#define GL_PRESET 0#define GL_AND 1#define GL_PSET 3#define GL_XOR 6#define GL_OR 7#define GL_NOT 12#define GL_DOTBC 0x80 /* Put background of dot image */#define GL_ANTI_ALIAS 0x40 /* Anti aliassing */#define GL_ALPHA_BLEND_BIT 0x20 /* Alpha blend bit */#define GL_TRANS 0x10 /* Transparent by background color*/#define GL_ALPHA_BLEND (GL_ALPHA_BLEND_BIT|GL_PSET)/*------------------------------------------------------------------ * Fill type *------------------------------------------------------------------*/#define GL_FRAME 8#define GL_FILL 1#define GL_TILE 2#define GL_MASK 3 /* V01L07 *//*------------------------------------------------------------------ * Kind of colors *------------------------------------------------------------------*/#define GL_DRAWC 0#define GL_BACKC 1#define GL_FILLC 2/*------------------------------------------------------------------ * Get work size *------------------------------------------------------------------*/#define GL_Planes 4#define GL_WORKSIZE(p,s,t,i,w) ((((sizeof(GL_WP)+((p)-1)*sizeof(void *)*4+((s)+(t)+(i))*sizeof(long)+7)&~7)+(w)+3)&~3)/*------------------------------------------------------------------ * Logica coordinate type *------------------------------------------------------------------*/union GL_ld_t { short s ; /* short int */ long l ; /* long int */ float f ; /* single float */ double d ; /* double float */} ;/*------------------------------------------------------------------ * flood fill work area *------------------------------------------------------------------*/typedef struct { long yxl; /* left edge , bit31-16 Y, bit15-0 x*/ short segkind; /* kind of segment */ short xr; /* right edge, x coordinate only */} GL_FILLSEG;typedef struct { short y; /* Y */ short xl; /* left edge */ short segkind; /* kind of segment */ short xr; /* right edge */} GL_OPENSEG;typedef struct { unsigned long _bc; /* border color */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -