Skip to content

Commit b1675a1

Browse files
authored
Merge branch 'main' into no-restart
2 parents 4227fcf + 63b1b18 commit b1675a1

18 files changed

+1075
-956
lines changed

src/SparkFun_Qwiic_OLED.h

+150-114
Large diffs are not rendered by default.

src/qwiic_grbuffer.cpp

+171-175
Large diffs are not rendered by default.

src/qwiic_grbuffer.h

+69-67
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
#include "res/qwiic_resdef.h"
5757

5858
// RECT!
59-
struct QwRect{
59+
struct QwRect {
6060
uint16_t x;
6161
uint16_t y;
6262
uint16_t width;
@@ -93,47 +93,47 @@ extern const uint8_t byte_bits[8];
9393
class _QwIDraw {
9494

9595
// Pixel Methods
96-
virtual void draw_pixel(uint8_t x, uint8_t y, uint8_t clr) {} // A subclass must implement this
96+
virtual void drawPixel(uint8_t x, uint8_t y, uint8_t clr) { } // A subclass must implement this
9797

9898
// Line Methods
99-
virtual void draw_line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr) {}
100-
virtual void draw_line_horz(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr) {}
101-
virtual void draw_line_vert(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr) {}
99+
virtual void drawLine(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr) { }
100+
virtual void drawLineHorz(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr) { }
101+
virtual void drawLineVert(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr) { }
102102

103103
// Rectangles
104-
virtual void draw_rect(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height, uint8_t clr) {}
105-
virtual void draw_rect_filled(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height, uint8_t clr) {}
104+
virtual void drawRect(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height, uint8_t clr) { }
105+
virtual void drawRectFilled(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height, uint8_t clr) { }
106106

107107
// Circles
108-
virtual void draw_circle(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr) {}
109-
virtual void draw_circle_filled(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr) {}
108+
virtual void drawCircle(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr) { }
109+
virtual void drawCircleFilled(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr) { }
110110

111111
// Bitmaps
112-
virtual void draw_bitmap(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1,
113-
uint8_t *pBitmap, uint8_t bmp_width, uint8_t bmp_height) {}
112+
virtual void drawBitmap(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1,
113+
uint8_t* pBitmap, uint8_t bmp_width, uint8_t bmp_height) { }
114114

115-
virtual void draw_text(uint8_t x0, uint8_t y0, const char *text, uint8_t clr) {}
115+
virtual void drawText(uint8_t x0, uint8_t y0, const char* text, uint8_t clr) { }
116116
};
117117

118118
// Drawing fuction typedefs
119-
typedef void (*QwDrawPntFn)(void *, uint8_t, uint8_t, uint8_t);
120-
typedef void (*QwDrawTwoPntFn)(void *, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
121-
typedef void (*QwDrawCircleFn)(void *, uint8_t, uint8_t, uint8_t, uint8_t);
122-
typedef void (*QwDrawBitmapFn)(void *, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t *, uint8_t, uint8_t);
123-
typedef void (*QwDrawTextFn)(void *, uint8_t, uint8_t, const char *, uint8_t);
119+
typedef void (*QwDrawPntFn)(void*, uint8_t, uint8_t, uint8_t);
120+
typedef void (*QwDrawTwoPntFn)(void*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
121+
typedef void (*QwDrawCircleFn)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
122+
typedef void (*QwDrawBitmapFn)(void*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t*, uint8_t, uint8_t);
123+
typedef void (*QwDrawTextFn)(void*, uint8_t, uint8_t, const char*, uint8_t);
124124

125125
// Define the vtable struct for IDraw
126126
struct _QwIDraw_vtable {
127-
QwDrawPntFn draw_pixel;
128-
QwDrawTwoPntFn draw_line;
129-
QwDrawTwoPntFn draw_line_horz;
130-
QwDrawTwoPntFn draw_line_vert;
131-
QwDrawTwoPntFn draw_rect;
132-
QwDrawTwoPntFn draw_rect_filled;
133-
QwDrawCircleFn draw_circle;
134-
QwDrawCircleFn draw_circle_filled;
135-
QwDrawBitmapFn draw_bitmap;
136-
QwDrawTextFn draw_text;
127+
QwDrawPntFn drawPixel;
128+
QwDrawTwoPntFn drawLine;
129+
QwDrawTwoPntFn drawLineHorz;
130+
QwDrawTwoPntFn drawLineVert;
131+
QwDrawTwoPntFn drawRect;
132+
QwDrawTwoPntFn drawRectFilled;
133+
QwDrawCircleFn drawCircle;
134+
QwDrawCircleFn drawCircleFilled;
135+
QwDrawBitmapFn drawBitmap;
136+
QwDrawTextFn drawText;
137137
};
138138

139139
///////////////////////////////////////////////////////////////////////////////////////////
@@ -142,100 +142,102 @@ struct _QwIDraw_vtable {
142142
// Buffer class - defines basics for a memory buffer drawing class. Note it subclasses
143143
// from QwIDraw
144144

145-
class QwGrBufferDevice : protected _QwIDraw
146-
{
145+
class QwGrBufferDevice : protected _QwIDraw {
147146

148147
public:
149148
// Constructors
150-
QwGrBufferDevice() : _currFont{nullptr} {};
151-
QwGrBufferDevice(uint8_t width, uint8_t height) : QwGrBufferDevice(0, 0, width, height){};
152-
QwGrBufferDevice(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height){
153-
set_viewport(x0, y0, width, height);
149+
QwGrBufferDevice()
150+
: m_currentFont { nullptr } {};
151+
QwGrBufferDevice(uint8_t width, uint8_t height)
152+
: QwGrBufferDevice(0, 0, width, height) {};
153+
QwGrBufferDevice(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height)
154+
{
155+
setViewport(x0, y0, width, height);
154156
};
155157

156158
// Buffer location on the device
157-
void set_viewport(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height){
158-
_viewport.x = x0;
159-
_viewport.y = y0;
160-
_viewport.width = width;
161-
_viewport.height = height;
159+
void setViewport(uint8_t x0, uint8_t y0, uint8_t width, uint8_t height)
160+
{
161+
m_viewport.x = x0;
162+
m_viewport.y = y0;
163+
m_viewport.width = width;
164+
m_viewport.height = height;
162165
};
163166

164-
QwRect get_viewport(void) { return _viewport; };
165-
uint16_t get_origin_x(void) { return _viewport.x; };
166-
uint16_t get_origin_y(void) { return _viewport.y; };
167-
uint16_t get_width(void) { return _viewport.width; };
168-
uint16_t get_height(void) { return _viewport.height; };
167+
QwRect viewport(void) { return m_viewport; };
168+
uint16_t originX(void) { return m_viewport.x; };
169+
uint16_t originY(void) { return m_viewport.y; };
170+
uint16_t width(void) { return m_viewport.width; };
171+
uint16_t height(void) { return m_viewport.height; };
169172

170173
// Lifecycle
171174
virtual bool init(void);
172175

173176
// Font methods
174-
void init_font(void);
175-
void set_font(QwFont &font);
176-
void set_font(const QwFont *font);
177-
QwFont *get_font(void);
177+
void initFont(void);
178+
void setFont(QwFont& font);
179+
void setFont(const QwFont* font);
180+
QwFont* font(void);
178181

179182
// Returns the size of a string - in pixels - using current font
180-
bool get_string_size(const char *text, uint16_t &width, uint16_t &height);
183+
bool getStringSize(const char* text, uint16_t& width, uint16_t& height);
181184

182185
// Public Interface - Graphics interface
183186
void line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1);
184187

185188
void circle(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr = 1);
186-
void circle_fill(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr = 1);
189+
void circleFill(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr = 1);
187190

188191
void pixel(uint8_t x, uint8_t y, uint8_t clr = 1);
189192

190193
void rectangle(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1);
191-
void rectangle_fill(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1);
194+
void rectangleFill(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1);
192195

193-
194-
void bitmap(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1,
195-
uint8_t *pBitmap, uint8_t bmp_width, uint8_t bmp_height );
196+
void bitmap(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1,
197+
uint8_t* pBitmap, uint8_t bmp_width, uint8_t bmp_height);
196198

197199
// draw full bitmap
198-
void bitmap(uint8_t x0, uint8_t y0, uint8_t *pBitmap, uint8_t bmp_width, uint8_t bmp_height );
200+
void bitmap(uint8_t x0, uint8_t y0, uint8_t* pBitmap, uint8_t bmp_width, uint8_t bmp_height);
199201

200202
// Bitmap draw - using a bitmap object
201-
void bitmap(uint8_t x0, uint8_t y0, QwBitmap &bitmap);
203+
void bitmap(uint8_t x0, uint8_t y0, QwBitmap& bitmap);
202204

203-
void text(uint8_t x0, uint8_t y0, const char *text, uint8_t clr = 1);
205+
void text(uint8_t x0, uint8_t y0, const char* text, uint8_t clr = 1);
204206

205207
// subclass interface
206208
virtual void display(void) = 0;
207209
virtual void erase(void) = 0;
208210

209211
protected:
210-
QwRect _viewport;
212+
QwRect m_viewport;
211213

212214
// Internal, fast draw routines - These implement QwIDraw
213215

214216
// Pixels
215217
// At a minimum, a sub-class must implement a pixel set function
216-
virtual void draw_pixel(uint8_t x, uint8_t y, uint8_t clr) = 0; // A subclass must implement this
218+
virtual void drawPixel(uint8_t x, uint8_t y, uint8_t clr) = 0; // A subclass must implement this
217219

218220
// Lines
219221
// Sub-class implementation is optional
220-
virtual void draw_line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr);
222+
virtual void drawLine(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr);
221223

222224
// Rects
223-
virtual void draw_rect(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr);
224-
virtual void draw_rect_filled(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr);
225+
virtual void drawRect(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr);
226+
virtual void drawRectFilled(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr);
225227

226228
// Circle
227-
virtual void draw_circle(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr);
228-
virtual void draw_circle_filled(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr);
229+
virtual void drawCircle(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr);
230+
virtual void drawCircleFilled(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr);
229231

230232
// Text
231-
virtual void draw_text(uint8_t x0, uint8_t y0, const char *text, uint8_t clr);
233+
virtual void drawText(uint8_t x0, uint8_t y0, const char* text, uint8_t clr);
232234

233235
// Our drawing interface - open to sub-classes ...
234-
_QwIDraw_vtable _idraw;
236+
_QwIDraw_vtable m_idraw;
235237

236238
// Current Font
237-
QwFont *_currFont;
239+
QwFont* m_currentFont;
238240

239241
private:
240-
bool init_draw_functions(void);
242+
bool initDrawFunctions(void);
241243
};

0 commit comments

Comments
 (0)