Files
eink-dairy/pico-ssd1306/shapeRenderer/ShapeRenderer.h
Adolfo Reyna bc8ae91eba single repo
2026-01-01 13:33:51 -05:00

28 lines
1.5 KiB
C++

#ifndef SSD1306_SHAPERENDERER_H
#define SSD1306_SHAPERENDERER_H
#include <math.h>
#include "../ssd1306.h"
namespace pico_ssd1306{
/// \brief Draws a line from x0, y0 to x1, y1.
/// It supports all drawing angles
/// \param ssd1306 - is the pointer to a SSD1306 object aka an initialised display
/// \param x0, y0, x1, y1 are the start and end coordinates between which the line will be drawn
/// \param mode - mode describes setting behavior. See WriteMode doc for more information
void drawLine (pico_ssd1306::SSD1306 *ssd1306, uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, pico_ssd1306::WriteMode mode = pico_ssd1306::WriteMode::ADD);
/// \brief Draws a 1px wide rectangle between x0, y0 and x1, y1
/// \param x_start, x_end, y_start, y_end - corner points for the rectangle
/// \param mode - mode describes setting behavior. See WriteMode doc for more information
void drawRect (pico_ssd1306::SSD1306 *ssd1306 , uint8_t x_start, uint8_t y_start, uint8_t x_end, uint8_t y_end, pico_ssd1306::WriteMode mode = pico_ssd1306::WriteMode::ADD);
/// \brief Fills a rectangle from x0, y0 to x1, y1
/// \param x_start, x_end, y_start, y_end - corner points for the rectangle
/// \param mode - mode describes setting behavior. See WriteMode doc for more information
void fillRect (pico_ssd1306::SSD1306 *ssd1306 , uint8_t x_start, uint8_t y_start, uint8_t x_end, uint8_t y_end, pico_ssd1306::WriteMode mode = pico_ssd1306::WriteMode::ADD);
}
#endif //SSD1306_SHAPERENDERER_H