77 "time"
88
99 "tinygo.org/x/drivers"
10+ "tinygo.org/x/drivers/pixel"
1011)
1112
1213type Config struct {
@@ -31,6 +32,9 @@ type Device struct {
3132 rd machine.Pin
3233}
3334
35+ // Image buffer type used in the ili9341.
36+ type Image = pixel.Image [pixel.RGB565BE ]
37+
3438var cmdBuf [6 ]byte
3539
3640var initCmd = []byte {
@@ -173,6 +177,8 @@ func (d *Device) EnableTEOutput(on bool) {
173177}
174178
175179// DrawRGBBitmap copies an RGB bitmap to the internal buffer at given coordinates
180+ //
181+ // Deprecated: use DrawBitmap instead.
176182func (d * Device ) DrawRGBBitmap (x , y int16 , data []uint16 , w , h int16 ) error {
177183 k , i := d .Size ()
178184 if x < 0 || y < 0 || w <= 0 || h <= 0 ||
@@ -187,6 +193,8 @@ func (d *Device) DrawRGBBitmap(x, y int16, data []uint16, w, h int16) error {
187193}
188194
189195// DrawRGBBitmap8 copies an RGB bitmap to the internal buffer at given coordinates
196+ //
197+ // Deprecated: use DrawBitmap instead.
190198func (d * Device ) DrawRGBBitmap8 (x , y int16 , data []uint8 , w , h int16 ) error {
191199 k , i := d .Size ()
192200 if x < 0 || y < 0 || w <= 0 || h <= 0 ||
@@ -200,6 +208,13 @@ func (d *Device) DrawRGBBitmap8(x, y int16, data []uint8, w, h int16) error {
200208 return nil
201209}
202210
211+ // DrawBitmap copies the bitmap to the internal buffer on the screen at the
212+ // given coordinates. It returns once the image data has been sent completely.
213+ func (d * Device ) DrawBitmap (x , y int16 , bitmap Image ) error {
214+ width , height := bitmap .Size ()
215+ return d .DrawRGBBitmap8 (x , y , bitmap .RawBuffer (), int16 (width ), int16 (height ))
216+ }
217+
203218// FillRectangle fills a rectangle at given coordinates with a color
204219func (d * Device ) FillRectangle (x , y , width , height int16 , c color.RGBA ) error {
205220 k , i := d .Size ()
0 commit comments