Drawing API planning.

This commit is contained in:
Pietro Gagliardi 2015-09-06 23:37:05 -04:00
parent 917a0b17e2
commit bf4f5388d0
1 changed files with 33 additions and 0 deletions

View File

@ -58,6 +58,9 @@ enum uiDrawLineJoin {
// so we're good to use it too!
#define uiDrawDefaultMiterLimit 10.0
// TODOs
// - windows: SetPolyFillMode
// - os x: FillPath/EOFillPath functions
enum uiDrawFillMode {
uiDrawFillModeWinding,
uiDrawFillModeAlternate,
@ -81,3 +84,33 @@ void uiDrawMoveTo(uiDrawContext *, intmax_t, intmax_t);
void uiDrawLineTo(uiDrawContext *, intmax_t, intmax_t);
void uiDrawCloseFigure(uiDrawContext *);
void uiDrawStroke(uiDrawContext *, uiDrawStrokeParams *);
// path functions
// cairo gdi core graphics
// move_to MoveToEx MoveToPoint
// line_to LineTo AddLineToPoint
// arc Arc/ArcTo/AngleArc/Ellipse AddArc/AddArcToPoint/AddEllipseInRect
// arc_negative Pie AddArc/AddArcToPoint
// curve_to PolyBezier/PolyBezierTo AddCurveToPoint
// rectangle Rectangle AddRect
// [arc functions?] Chord [arc functions?]
// [combination] RoundRect [same way as cairo?]
// [TODO pango] TextOut/ExtTextOut [TODO core text]
// [TODO] [TODO] AddQuadCurveToPoint
// on sources:
// cairo:
// - RGB
// - RGBA
// - images
// - linear gradients, RGB or RGBA
// - rounded gradients, RGB or RGBA
// gdi:
// - RGB
// - hatches
// - images
// we can create a linear gradient image, but RGB only, and of finite size
// core graphics:
// - arbitrary patterns
// - solid colors, arbitrary spaces
// - shadows