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);