void ggiPutPixel(ggi_visual_t vis, int x, int y, ggi_pixel color);void ggiDrawPixel(ggi_visual_t vis, int x, int y);Draw a pixel at (x,y). Warning: libGGI's ggiPutPixel and ggiDrawPixel are overwritten!
void ggiDrawPixels(ggi_visual_t vis, ggi_coord coords[], uint count);Draw several pixels.
void ggiScanLine(ggi_visual_t vis, int x1, int x2, int y);Fill a horizontal scanline between (x1,y) and (x2,y) with the current fillcolor/texture.
void ggiScanLines(ggi_visual_t vis, int scanlines[], int starty, uint count);Fill several horizontal scanlines with the current fillcolor/texture. "scanlines" is an array of "count" start- and endpoints (x1,x2). All scanlines from starty to starty+count will be filled.
void ggiHLine(ggi_visual_t vis, int x1, int x2, int y);Draw a horizontal line from (x1,y) to (x2,y).
void ggiVLine(ggi_visual_t vis, int x, int y1, int y2);Draw a vertical line from (x,y1) to (x,y2).
void ggiDrawRect(ggi_visual_t vis, int x1, int y1, int x2, int y2);void ggiFillRect(ggi_visual_t vis, int x1, int y1, int x2, int y2);Draw/Fill the rectangle ((x1,y1),(x2,y2)).
void ggiLine(ggi_visual_t vis, int x1, int y1, int x2, int y2);void ggiLinef(ggi_visual_t vis, ggi_float x1, ggi_float y1, ggi_float x2, ggi_float y2);Draw a line from (x1,y1) to (x2,y2).
void ggiDrawLines(ggi_visual_t vis, ggi_line lines[], uint count);Draw several lines.
void ggiDrawCircle(ggi_visual_t vis, int x, int y, uint r);void ggiFillCircle(ggi_visual_t vis, int x, int y, uint r);Draw/Fill a circle with radius r around (x,y).
void ggiDrawEllipse(ggi_visual_t vis, int x, int y, uint rx, uint ry);void ggiFillEllipse(ggi_visual_t vis, int x, int y, uint rx, uint ry);Draw/Fill an ellipse with radius (rx,ry) around (x,y).
void ggiDrawArc(ggi_visual_t vis, int x, int y, uint rx, uint ry, ggi_float start, ggi_float end, ggi_bool close);Draw an arc with radius (rx,ry) around (x,y) between "start" and "end" (degree). If close is not GGI_FALSE the arc will be closed using the current arc drawing mode.
void ggiFillArc(ggi_visual_t vis, int x, int y, uint rx, uint ry, ggi_float start, ggi_float end);
Fill an arc with radius (rx,ry) around (x,y) between "start" and "end" (degree) using the current arc drawing mode.
void ggiBezier(ggi_visual_t vis, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);Draw a bezier curve.
void ggiTrapezoid(ggi_visual_t vis, int xl1, int xr1, int y1, int xl2, int xr2, int y2);Fill a trapezoid.
void ggiTriangle(ggi_visual_t vis, int x1, int y1, int x2, int y2, int x3, int y3);Fill a triangle.
void ggiDrawPoly(ggi_visual_t vis, ggi_coord coords[], uint count);void ggiFillPoly(ggi_visual_t vis, ggi_coord coords[], uint count);Draw/Fill a polygon. The polygon may be self overlapping.
void ggiFillPolys(ggi_visual_t vis, ggi_coord coords[], uint counts[], uint count);Fill several polygons. The polygon may be overlapping.
void ggiBlit(ggi_visual_t vis, int dx, int dy, ggi_visual src, int sx, int sy, int width, int height);void ggiStretchBlit(ggi_visual dest, int dx, int dy, int dwidth, int dheight, ggi_visual src, int sx, int sy, int swidth, int sheight);Copy the rectangular area ((sx,sy),(sx+width,sy+height)) from "src" to (dx,dy). ggiStretchBlit() can scale the image.
void ggiBlitTrans(ggi_visual dest, int dx, int dy, ggi_visual src, int sx, int sy, int width, int height, ggi_col transcol);void ggiStretchBlitTrans(ggi_visual dest, int dx, int dy, int dwidth, int dheight,ggi_visual src, int sx, int sy, int swidth, int sheight,ggi_col transcol);Copy the rectangular area ((sx,sy),(sx+width,sy+height)) from "src" to (dx,dy). Pixels with color "transcol" are not drawn. ggiStretchBlitTrans() can scale the image.
void ggiBlitOp(ggi_visual dest, int dx, int dy, ggi_visual src1, ggi_visual src2, int sx, int sy, int width, int height, ggi_operator op);void ggiStretchBlitOp(ggi_visual dest, int dx, int dy, int dwidth, int dheight, ggi_visual src1, ggi_visual src2, int sx, int sy, int swidth, int sheight, ggi_operator op);Apply the operator "op" to all pixels of the rectangular areas ((sx,sy),(sx+width,sy+height)) of "src1" and "src2" and draw them only if the result is not 0. ggiStretchBlitOp() can scale the image.