56
56
#include " res/qwiic_resdef.h"
57
57
58
58
// RECT!
59
- struct QwRect {
59
+ struct QwRect {
60
60
uint16_t x;
61
61
uint16_t y;
62
62
uint16_t width;
@@ -93,47 +93,47 @@ extern const uint8_t byte_bits[8];
93
93
class _QwIDraw {
94
94
95
95
// 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
97
97
98
98
// 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) { }
102
102
103
103
// 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) { }
106
106
107
107
// 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) { }
110
110
111
111
// 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) { }
114
114
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) { }
116
116
};
117
117
118
118
// 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 );
124
124
125
125
// Define the vtable struct for IDraw
126
126
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 ;
137
137
};
138
138
139
139
// /////////////////////////////////////////////////////////////////////////////////////////
@@ -142,100 +142,102 @@ struct _QwIDraw_vtable {
142
142
// Buffer class - defines basics for a memory buffer drawing class. Note it subclasses
143
143
// from QwIDraw
144
144
145
- class QwGrBufferDevice : protected _QwIDraw
146
- {
145
+ class QwGrBufferDevice : protected _QwIDraw {
147
146
148
147
public:
149
148
// 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);
154
156
};
155
157
156
158
// 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;
162
165
};
163
166
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 ; };
169
172
170
173
// Lifecycle
171
174
virtual bool init (void );
172
175
173
176
// 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 );
178
181
179
182
// 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);
181
184
182
185
// Public Interface - Graphics interface
183
186
void line (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1 );
184
187
185
188
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 );
187
190
188
191
void pixel (uint8_t x, uint8_t y, uint8_t clr = 1 );
189
192
190
193
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 );
192
195
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);
196
198
197
199
// 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);
199
201
200
202
// 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);
202
204
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 );
204
206
205
207
// subclass interface
206
208
virtual void display (void ) = 0;
207
209
virtual void erase (void ) = 0;
208
210
209
211
protected:
210
- QwRect _viewport ;
212
+ QwRect m_viewport ;
211
213
212
214
// Internal, fast draw routines - These implement QwIDraw
213
215
214
216
// Pixels
215
217
// 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
217
219
218
220
// Lines
219
221
// 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);
221
223
222
224
// 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);
225
227
226
228
// 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);
229
231
230
232
// 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);
232
234
233
235
// Our drawing interface - open to sub-classes ...
234
- _QwIDraw_vtable _idraw ;
236
+ _QwIDraw_vtable m_idraw ;
235
237
236
238
// Current Font
237
- QwFont *_currFont ;
239
+ QwFont* m_currentFont ;
238
240
239
241
private:
240
- bool init_draw_functions (void );
242
+ bool initDrawFunctions (void );
241
243
};
0 commit comments