int ggiInit(void); void ggiExit(void); void ggiPanic(const char *format,...);
ggi_visual_t ggiOpen(const char *display,...);
int ggiClose(ggi_visual_t vis);
int ggiSetFocus(ggi_visual_t vis);
ggi_visual_t ggiGetFocus(void);
int ggiSetMode(ggi_visual_t visual,ggi_mode *tm);
int ggiGetMode(ggi_visual_t visual,ggi_mode *tm);
int ggiCheckMode(ggi_visual_t visual,ggi_mode *tm);
int ggiSetTextMode(ggi_visual_t visual,int cols,int rows,
int fontx,int fonty);
int ggiCheckTextMode(ggi_visual_t visual,int cols,int rows,
int fontx,int fonty);
int ggiSetGraphMode(ggi_visual_t visual,int x,int y,
int xv,int yv,ggi_graphtype type);
int ggiCheckGraphMode(ggi_visual_t visual,int x,int y,
int xv,int yv,ggi_graphtype type);
void *ggiGetFB(ggi_visual_t vis);
const ggi_info *ggiGetInfo(ggi_visual_t vis);
int ggiSetInfoFlags(ggi_visual_t vis,ggi_uint flags);
int ggiFlush(ggi_visual_t vis);
int ggiSetGCForeground(ggi_visual_t vis,ggi_uint color); int ggiGetGCForeground(ggi_visual_t vis,ggi_uint *color); int ggiSetGCBackground(ggi_visual_t vis,ggi_uint color); int ggiGetGCBackground(ggi_visual_t vis,ggi_uint *color);
int ggiGetBPP(ggi_visual_t vis); ggi_uint ggiMapColor(ggi_visual_t vis,ggi_color col); int ggiUnmapPixel(ggi_visual_t vis,ggi_uint pixel,ggi_color *col); int ggiPackColors(ggi_visual_t vis,void *buf,ggi_color *cols,int len); int ggiUnpackPixels(ggi_visual_t vis,void *buf,ggi_color *cols,int len); int ggiSetPaletteVec(ggi_visual_t vis,int s,int len,ggi_color *cmap); int ggiGetPaletteVec(ggi_visual_t vis,int s,int len,ggi_color *cmap);
Set Origin and Splitline Features
int ggiSetOrigin(ggi_visual_t vis,int x,int y); int ggiSetSplitline(ggi_visual_t vis,int y);
void *ggiNewSprite(ggi_visual_t vis,int width,int height,void *image); int ggiSetSprite(ggi_visual_t vis,void *pid,int v,int x,int y); int ggiFreeSprite(ggi_visual_t vis,void *pid);
int ggiFillscreen(ggi_visual_t vis); int ggiDrawPixel(ggi_visual_t vis,int x,int y); int ggiPutPixel(ggi_visual_t vis,int x,int y,ggi_uint col); int ggiGetPixel(ggi_visual_t vis,int x,int y,ggi_uint *col); int ggiDrawLine(ggi_visual_t vis,int x,int y,int xe,int ye); int ggiDrawHLine(ggi_visual_t vis,int x,int y,int w); int ggiPutHLine(ggi_visual_t vis,int x,int y,int w,void *buf); int ggiGetHLine(ggi_visual_t vis,int x,int y,int w,void *buf); int ggiDrawVLine(ggi_visual_t vis,int x,int y,int h); int ggiPutVLine(ggi_visual_t vis,int x,int y,int h,void *buf); int ggiGetVLine(ggi_visual_t vis,int x,int y,int h,void *buf); int ggiDrawBox(ggi_visual_t vis,int x,int y,int w,int h); int ggiPutBox(ggi_visual_t vis,int x,int y,int w,int h,void *buf); int ggiGetBox(ggi_visual_t vis,int x,int y,int w,int h,void *buf); int ggiCopyBox(ggi_visual_t vis,int x,int y,int w,int h,int nx,int ny); int ggiDrawCircle(ggi_visual_t vis,int x,int y,int r);
ggi_event_mask ggiEventPoll(ggi_visual_t vis,ggi_event_mask mask,
struct timeval *t);
int ggiEventRead(ggi_visual_t vis,ggi_event *ev,ggi_event_mask mask);
int ggiKbhit(ggi_visual_t vis); int ggiGetc(ggi_visual_t vis); int ggiPutc(ggi_visual_t vis,int x,int y,char c); int ggiPuts(ggi_visual_t vis,int x,int y,const char *str);