43#ifndef SRC_BRESENHAM_H_
44#define SRC_BRESENHAM_H_
52 int xScale,
int yScale);
58void drawTriangleOutlined(int16_t v0x, int16_t v0y, int16_t v1x, int16_t v1y, int16_t v2x, int16_t v2y,
76 int yOrigin,
int xScale,
int yScale);
79 int xScale,
int yScale);
87 int xOrigin,
int yOrigin,
int xScale,
int yScale);
paletteColor_t
All 216 possible colors, named like cRGB.
Definition palette.h:23
void drawCubicBezierSeg(int x0, int y0, float x1, float y1, float x2, float y2, int x3, int y3, paletteColor_t col)
Draw limited cubic Bezier segment.
Definition shapes.c:2137
void initShapes(void)
Initialize shape drawing by making a static local pointer to the framebuffer This is done for speed r...
Definition shapes.c:70
void drawLineScaled(int x0, int y0, int x1, int y1, paletteColor_t col, int dashWidth, int xOrigin, int yOrigin, int xScale, int yScale)
Draw a line that that is translated and scaled. Scaling may make it wider than one pixel....
Definition shapes.c:181
void drawCircleFilledScaled(int xm, int ym, int r, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw a filed circle with translation and scaling.
Definition shapes.c:1417
void drawEllipseRectScaled(int x0, int y0, int x1, int y1, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw the outline of an ellipse with translation and scaling within a rectangle. Scaling may make it w...
Definition shapes.c:1520
void drawQuadRationalBezierSeg(int x0, int y0, int x1, int y1, int x2, int y2, float w, paletteColor_t col)
Draw a limited one pixel wide rational Bezier curve with squared weight.
Definition shapes.c:1763
void drawLineFast(int16_t x0, int16_t y0, int16_t x1, int16_t y1, paletteColor_t color)
Optimized method to quickly draw a one pixel wide solid line.
Definition shapes.c:199
void drawQuadBezierSeg(int x0, int y0, int x1, int y1, int x2, int y2, paletteColor_t col)
Draw a one pixel wide quadratic Bezier curve. This is limited to gradients without sign change.
Definition shapes.c:1622
void drawEllipse(int xm, int ym, int a, int b, paletteColor_t col)
Draw a one pixel wide outline of an ellipse.
Definition shapes.c:1069
void drawCubicBezierScaled(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw any cubic Bezier curve with translation and scaling.
Definition shapes.c:2293
void drawEllipseScaled(int xm, int ym, int a, int b, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw the outline of an ellipse with translation and scaling. Scaling may make it wider than one pixel...
Definition shapes.c:1051
void drawQuadSpline(int n, int x[], int y[], paletteColor_t col)
Draw a quadratic spline. This overwrites the input arrays x and y.
Definition shapes.c:2311
void drawQuadBezier(int x0, int y0, int x1, int y1, int x2, int y2, paletteColor_t col)
Draw a one pixel wide quadratic Bezier curve.
Definition shapes.c:1722
void drawRectScaled(int x0, int y0, int x1, int y1, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw the outline of a rectangle that is translated and scaled. Scaling may make it wider than one pix...
Definition shapes.c:565
void drawCircleOutline(int xm, int ym, int r, int stroke, paletteColor_t col)
Draw the outline of a circle with the given stroke width.
Definition shapes.c:1340
void drawCircleFilledQuadrants(int xm, int ym, int r, bool q1, bool q2, bool q3, bool q4, paletteColor_t col)
Draw filled-in quadrants of a circle.
Definition shapes.c:1236
void drawCubicBezier(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3, paletteColor_t col)
Draw any cubic Bezier curve.
Definition shapes.c:2271
void drawCubicSpline(int n, int x[], int y[], paletteColor_t col)
Draw a cubic spline. This overwrites the input arrays x and y.
Definition shapes.c:2359
void drawRotatedEllipseRect(int x0, int y0, int x1, int y1, long zd, paletteColor_t col)
Draw an ellipse, bounded by a rectangle, rotated (integer)
Definition shapes.c:1962
void drawCircleFilled(int xm, int ym, int r, paletteColor_t col)
Draw a filled circle.
Definition shapes.c:1400
void drawRectFilled(int x0, int y0, int x1, int y1, paletteColor_t col)
Draw a filled rectangle, with bounds checking and arbitrary orders.
Definition shapes.c:488
void drawTriangleOutlined(int16_t v0x, int16_t v0y, int16_t v1x, int16_t v1y, int16_t v2x, int16_t v2y, paletteColor_t fillColor, paletteColor_t outlineColor)
Optimized method to draw a triangle with outline. The interior color may be cTransparent to draw just...
Definition shapes.c:658
void drawRoundedRect(int x0, int y0, int x1, int y1, int r, paletteColor_t fillColor, paletteColor_t outlineColor)
Draw an outlined and filled rectangle with rounded corners.
Definition shapes.c:585
void drawQuadRationalBezier(int x0, int y0, int x1, int y1, int x2, int y2, float w, paletteColor_t col)
Draw any one pixel wide quadratic rational Bezier curve with squared weight.
Definition shapes.c:1853
void drawEllipseRect(int x0, int y0, int x1, int y1, paletteColor_t col)
Draw a one pixel wide outline of an ellipse within a rectangle.
Definition shapes.c:1500
void drawQuadBezierScaled(int x0, int y0, int x1, int y1, int x2, int y2, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw a one pixel wide quadratic Bezier curve with translation and scaling.
Definition shapes.c:1742
void drawRotatedEllipse(int x, int y, int a, int b, float angle, paletteColor_t col)
Draw an ellipse rotated by angle (radian)
Definition shapes.c:1941
void drawRect(int x0, int y0, int x1, int y1, paletteColor_t col)
Draw the a one pixel wide outline of a rectangle.
Definition shapes.c:474
void drawCircleScaled(int xm, int ym, int r, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw the outline of a circle with translation and scaling. Scaling may make it wider than one pixel.
Definition shapes.c:1169
void drawLine(int x0, int y0, int x1, int y1, paletteColor_t col, int dashWidth)
Draw a one pixel wide straight line between two points. The line may be solid or dashed.
Definition shapes.c:159
void drawCircleQuadrants(int xm, int ym, int r, bool q1, bool q2, bool q3, bool q4, paletteColor_t col)
Draw the one pixel wide outline of the quadrants of a circle.
Definition shapes.c:1189
void drawQuadBezierSegScaled(int x0, int y0, int x1, int y1, int x2, int y2, paletteColor_t col, int xOrigin, int yOrigin, int xScale, int yScale)
Draw a one pixel wide quadratic Bezier curve with translation and scaling. This is limited to gradien...
Definition shapes.c:1643
void drawCircle(int xm, int ym, int r, paletteColor_t col)
Draw the one pixel wide outline of a circle.
Definition shapes.c:1152