5656#include " res/qwiic_resdef.h"
5757
5858// RECT!
59- struct QwRect {
59+ struct QwRect
60+ {
6061 uint16_t x;
6162 uint16_t y;
6263 uint16_t width;
@@ -90,40 +91,62 @@ extern const uint8_t byte_bits[8];
9091//
9192// Seperated out to enable easy vtable access and method dispatch short circuiting
9293
93- class _QwIDraw {
94+ class _QwIDraw
95+ {
9496
9597 // Pixel Methods
96- virtual void drawPixel (uint8_t x, uint8_t y, uint8_t clr) { } // A subclass must implement this
98+ virtual void drawPixel (uint8_t x, uint8_t y, uint8_t clr)
99+ {
100+ } // A subclass must implement this
97101
98102 // Line Methods
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) { }
103+ virtual void drawLine (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr)
104+ {
105+ }
106+ virtual void drawLineHorz (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr)
107+ {
108+ }
109+ virtual void drawLineVert (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr)
110+ {
111+ }
102112
103113 // Rectangles
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) { }
114+ virtual void drawRect (uint8_t x0, uint8_t y0, uint8_t width, uint8_t height, uint8_t clr)
115+ {
116+ }
117+ virtual void drawRectFilled (uint8_t x0, uint8_t y0, uint8_t width, uint8_t height, uint8_t clr)
118+ {
119+ }
106120
107121 // Circles
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) { }
122+ virtual void drawCircle (uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr)
123+ {
124+ }
125+ virtual void drawCircleFilled (uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr)
126+ {
127+ }
110128
111129 // Bitmaps
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) { }
130+ virtual void drawBitmap (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t *pBitmap, uint8_t bmp_width,
131+ uint8_t bmp_height)
132+ {
133+ }
114134
115- virtual void drawText (uint8_t x0, uint8_t y0, const char * text, uint8_t clr) { }
135+ virtual void drawText (uint8_t x0, uint8_t y0, const char *text, uint8_t clr)
136+ {
137+ }
116138};
117139
118140// 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 );
141+ typedef void (*QwDrawPntFn)(void *, uint8_t , uint8_t , uint8_t );
142+ typedef void (*QwDrawTwoPntFn)(void *, uint8_t , uint8_t , uint8_t , uint8_t , uint8_t );
143+ typedef void (*QwDrawCircleFn)(void *, uint8_t , uint8_t , uint8_t , uint8_t );
144+ typedef void (*QwDrawBitmapFn)(void *, uint8_t , uint8_t , uint8_t , uint8_t , uint8_t *, uint8_t , uint8_t );
145+ typedef void (*QwDrawTextFn)(void *, uint8_t , uint8_t , const char *, uint8_t );
124146
125147// Define the vtable struct for IDraw
126- struct _QwIDraw_vtable {
148+ struct _QwIDraw_vtable
149+ {
127150 QwDrawPntFn drawPixel;
128151 QwDrawTwoPntFn drawLine;
129152 QwDrawTwoPntFn drawLineHorz;
@@ -142,15 +165,14 @@ struct _QwIDraw_vtable {
142165// Buffer class - defines basics for a memory buffer drawing class. Note it subclasses
143166// from QwIDraw
144167
145- class QwGrBufferDevice : protected _QwIDraw {
168+ class QwGrBufferDevice : protected _QwIDraw
169+ {
146170
147- public:
171+ public:
148172 // Constructors
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)
173+ QwGrBufferDevice () : m_currentFont{nullptr } {};
174+ QwGrBufferDevice (uint8_t width, uint8_t height) : QwGrBufferDevice(0 , 0 , width, height){};
175+ QwGrBufferDevice (uint8_t x0, uint8_t y0, uint8_t width, uint8_t height) : QwGrBufferDevice()
154176 {
155177 setViewport (x0, y0, width, height);
156178 };
@@ -164,23 +186,38 @@ class QwGrBufferDevice : protected _QwIDraw {
164186 m_viewport.height = height;
165187 };
166188
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 ; };
189+ QwRect viewport (void )
190+ {
191+ return m_viewport;
192+ };
193+ uint16_t originX (void )
194+ {
195+ return m_viewport.x ;
196+ };
197+ uint16_t originY (void )
198+ {
199+ return m_viewport.y ;
200+ };
201+ uint16_t width (void )
202+ {
203+ return m_viewport.width ;
204+ };
205+ uint16_t height (void )
206+ {
207+ return m_viewport.height ;
208+ };
172209
173210 // Lifecycle
174211 virtual bool init (void );
175212
176213 // Font methods
177214 void initFont (void );
178- void setFont (QwFont& font);
179- void setFont (const QwFont* font);
180- QwFont* font (void );
215+ void setFont (QwFont & font);
216+ void setFont (const QwFont * font);
217+ QwFont * font (void );
181218
182219 // Returns the size of a string - in pixels - using current font
183- bool getStringSize (const char * text, uint16_t & width, uint16_t & height);
220+ bool getStringSize (const char * text, uint16_t & width, uint16_t & height);
184221
185222 // Public Interface - Graphics interface
186223 void line (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1 );
@@ -193,22 +230,22 @@ class QwGrBufferDevice : protected _QwIDraw {
193230 void rectangle (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1 );
194231 void rectangleFill (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t clr = 1 );
195232
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);
233+ void bitmap (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t *pBitmap, uint8_t bmp_width,
234+ uint8_t bmp_height);
198235
199236 // draw full bitmap
200- void bitmap (uint8_t x0, uint8_t y0, uint8_t * pBitmap, uint8_t bmp_width, uint8_t bmp_height);
237+ void bitmap (uint8_t x0, uint8_t y0, uint8_t * pBitmap, uint8_t bmp_width, uint8_t bmp_height);
201238
202239 // Bitmap draw - using a bitmap object
203- void bitmap (uint8_t x0, uint8_t y0, QwBitmap& bitmap);
240+ void bitmap (uint8_t x0, uint8_t y0, QwBitmap & bitmap);
204241
205- void text (uint8_t x0, uint8_t y0, const char * text, uint8_t clr = 1 );
242+ void text (uint8_t x0, uint8_t y0, const char * text, uint8_t clr = 1 );
206243
207244 // subclass interface
208245 virtual void display (void ) = 0;
209246 virtual void erase (void ) = 0;
210247
211- protected:
248+ protected:
212249 QwRect m_viewport;
213250
214251 // Internal, fast draw routines - These implement QwIDraw
@@ -230,14 +267,14 @@ class QwGrBufferDevice : protected _QwIDraw {
230267 virtual void drawCircleFilled (uint8_t x0, uint8_t y0, uint8_t radius, uint8_t clr);
231268
232269 // Text
233- virtual void drawText (uint8_t x0, uint8_t y0, const char * text, uint8_t clr);
270+ virtual void drawText (uint8_t x0, uint8_t y0, const char * text, uint8_t clr);
234271
235272 // Our drawing interface - open to sub-classes ...
236273 _QwIDraw_vtable m_idraw;
237274
238275 // Current Font
239- QwFont* m_currentFont;
276+ QwFont * m_currentFont;
240277
241- private:
278+ private:
242279 bool initDrawFunctions (void );
243280};
0 commit comments