108 Commits

Author SHA1 Message Date
Gordon Williams
138452fb65 Merging Dickens-specific changes into master 2023-09-27 14:57:47 +01:00
Gordon Williams
075353feef Graphics: drawImage now avoids getting pixels top/bottom of an image that might be cropped/offscreen 2023-07-25 11:30:45 +01:00
Gordon Williams
fc3c15a352 Graphics: Add Espruino-specific extension to PBF font loader to handle 2bpp
Graphics: Improve blendColor when outputting to 2/4/8bpp Graphics
Added new font converter - maybe this will end in EspruinoWebTools
2023-06-13 14:00:00 +01:00
Gordon Williams
9b30f17227 Added jsvObjectGetChildIfExists to avoid the jsvObjectGetChild(... ,0) case - saves ~300b of flash space 2023-04-25 10:59:34 +01:00
Gordon Williams
f612b25dfa Graphics: Ensure a scroll inside a cliprect can't go out of bounds (previously it was bounded to screen) 2022-12-12 12:04:37 +00:00
Gordon Williams
f772bd5106 Graphics: g.setClipRect now uses rotated coordinates
Graphics: g.draw/fillCircle now works with rotated coordinates
            Bangle.js2: Touch/drag coordinates now obey g.setRotation
2022-05-03 13:14:25 +01:00
Gordon Williams
9c5e5f2355 Graphics: You can now do g.fillRect({x,y,x2,y2,r}) for rounded rectangles 2022-02-11 11:01:27 +00:00
Gordon Williams
4a7d30f4be Bangle.js: Add 'graphicsInternal' to make Graphics independent of JS vars. Terminal is now useful earlier, and can display softdevice errors 2022-01-31 16:35:38 +00:00
Gordon Williams
05435fca26 Graphics: drawRect,fillRect,clearRect are now able to take an object as the first argument 2021-10-27 09:52:49 +01:00
Gordon Williams
2470b27ccf More dickens merges 2021-10-18 21:09:08 +01:00
Richard Blakesley
60b3c400d9 Fixed bug when scrolling with negative X, e.g. g.scroll(-1,0) 2021-10-18 20:58:29 +01:00
Gordon Williams
21f55a697b now building 2021-09-20 10:06:36 +01:00
Gordon Williams
1a9f682864 Graphics: Theme now only applies for LCD, not for JS/ArrayBuffer graphics 2021-06-22 16:54:15 +01:00
Gordon Williams
c2ffce45e9 Graphics: add .getBPP, and allow color blending (rather than copy) when drawing 2 bit images on any BPP Graphics instance 2021-06-22 12:48:07 +01:00
Gordon Williams
b0249aa436 Graphics: Allow 'scroll' method to only scroll inside clipRect 2021-05-27 13:26:35 +01:00
Gordon Williams
1f3f580c5f Bangle.js: Add support for global colour themes which affect g.clear/g.reset 2021-05-26 11:02:07 +01:00
Gordon Williams
b5894621c0 Misc merge of Dickens changes to bring branches more in line 2021-05-13 12:26:41 +01:00
Gordon Williams
28fc4cd872 Graphics: Fix 1bpp custom fonts on 2/4/8 bpp graphics Canvas not being the right colour 2021-05-13 08:57:04 +01:00
Gordon Williams
61af3b9135 Graphics: Improve fillPolyAA for horizontalish lines, remove antialiased vector fonts (as won't work well on platforms without readback) 2021-02-09 13:09:21 +00:00
Gordon Williams
286aeeebc7 Graphics: Add antialias/colour blending for 24 bit buffers 2021-01-28 11:33:50 +00:00
Gordon Williams
1049974e35 merge in work on new device 2021-01-19 16:13:32 +00:00
Gordon Williams
14c3aaf1c9 minor typo could cause flipped AA values 2020-12-09 15:31:44 +00:00
Gordon Williams
5c21237e9c improve antialiased line draw so there's more overlap at the ends 2020-11-02 15:09:51 +00:00
Gordon Williams
9f061dfe11 optional 12 bit gfx mode 2020-10-29 14:51:21 +00:00
Gordon Williams
f6ca3b7fc4 Merge branch 'master' into SMAQ3 2020-10-19 10:43:57 +01:00
Gordon Williams
55fe4f29ab Graphics: Fix for out of bounds ArrayBuffer scroll issue (fix #1746, #1747Graphics: Fix for out of bounds ArrayBuffer scroll issue (fix #1946, #1947)) 2020-10-13 11:21:29 +01:00
Gordon Williams
6e00d37c4e graphicsDrawLineAA intification 2020-09-30 10:49:00 +01:00
Gordon Williams
58dfa6f425 Make graphicsBlendColor use integers 2020-09-30 10:36:05 +01:00
Gordon Williams
1be80451a3 Add support for > 1bpp custom bitmap fonts 2020-09-30 10:28:02 +01:00
Gordon Williams
16fe29ca3f First stab at antialiased lines - using slow double precision. Gamma really matters for making the antialiasing look ok 2020-09-29 15:58:09 +01:00
Gordon Williams
9cbbd301f6 Merge branch 'master' into SMAQ3 2020-08-06 10:59:45 +01:00
Gordon Williams
aae60cb21f Allow SAVE_ON_FLASH build for Pixl.js 2020-08-05 10:18:46 +01:00
Gordon Williams
9643fd5ad1 Merge branch 'master' into SMAQ3 2020-07-23 10:24:07 +01:00
MaBecker
583c132e22 add lcd spi unbuffered driver
required make options:
USE_LCD_SPI_UNBUF=1
DEFINES="-DSPISENDMANY_BUFFER_SIZE=128"
2020-07-20 11:45:16 +02:00
Gordon Williams
b9122196be SMAQ3 runs with LCD, beep,buzz,button - no working accel/compass/etc yet 2020-07-03 13:51:51 +01:00
Ben Whittaker
21d8c727a7 Remove half-pixel offset from fillPoly
This makes the results of fillPoly align with those of drawPoly when
both are fed whole-pixel coordinates.

For applications where it makes a noticeable difference the offset can
be added manually before calling fillPoly, which is what the vector
font rendering code now does.
2020-06-09 19:12:39 -04:00
Ben Whittaker
b3531c147d Make fillPoly rounding slightly more consistent 2020-05-31 21:34:25 -04:00
Ben Whittaker
f591de8f8a Fix fillPoly overlap
Fix a corner case which could result in adjacent polygons overlapping
2020-05-31 21:33:32 -04:00
Gordon Williams
4d59fc198f fillPoly rounding tweak - https://github.com/espruino/Espruino/issues/1796#issuecomment-635963433 2020-05-29 14:19:48 +01:00
Gordon Williams
d129782d19 Improve Graphics.drawImage speed and simplify code by allowing fast path for non-rotated graphics 2020-05-29 13:05:42 +01:00
Gordon Williams
5d61b6757e Add @nebbishhacker's suggestion to make fill position the same on both axes (#1796) 2020-05-27 15:25:05 +01:00
Gordon Williams
42bc834345 Graphics.fillPoly now uses a more normal fill algorithm that doesn't attempt to fill to the top right (fix #1796) 2020-05-27 10:45:47 +01:00
Gordon Williams
feb45fe737 Fix new vector font - accidentally committed one with too few points
Graphics.fillPoly now uses 4 bit fixed point internally
2020-05-21 09:06:17 +01:00
Gordon Williams
826c093b73 First commit of new vector font - still need to fix the size scaling 2020-05-19 16:30:05 +01:00
Gordon Williams
98bb9029a7 refactor to share code and add drawImages - drawImages works, drawImage now broken 2020-05-07 16:33:10 +01:00
Gordon Williams
c104311726 Fix 1-byte overflow when using UDP (#1799)
Remove 1-byte padding in Graphics lib
2020-04-27 13:44:05 +01:00
Gordon Williams
62c95c4ed5 Squashing some warnings 2020-01-16 13:55:51 +00:00
Gordon Williams
6d1b258406 Add Graphics.reset, and ensure it (and g.clear(1)) unreference custom fonts 2020-01-15 17:03:27 +00:00
Gordon Williams
4da6614bdd Graphics: drawEllipse/fillEllipse now work correctly for very small ellipses 2020-01-07 16:39:21 +00:00
Gordon Williams
2fe3f34eff Graphics: new g.fillPoly to handle irregular polygons - fix previous issues with duplicate points 2019-12-10 10:52:57 +00:00