Commit Graph

241 Commits (b3216fa0cceaa6d2751a6e1602554d5da66d0436)

Author SHA1 Message Date
inmarket cf5867b33d New gdispImageInit() call to initialise a gdispImage structure
Use in gwinImage
2014-05-09 21:30:00 +10:00
Joel Bodenmann c2e93ebcfb bug fix 2014-05-06 17:14:30 +02:00
inmarket 8f6c04e120 Image bug-fix that caused crashes with the new GFILE/GWIN images. 2014-05-01 16:43:32 +10:00
Joel Bodenmann e9179545af doxygen fixes 2014-03-28 20:18:03 +01:00
inmarket 37966ff16d Integrate the include files with each module. Simplifies structure of code. 2014-02-19 00:36:52 +10:00
inmarket 695bcbee5b Update GDISP image code to fully use new GFILE's 2014-02-07 14:06:08 +10:00
inmarket 71aeb15d58 Start changing GDISP images to use a simpler API based on GFILE's. 2014-02-07 01:36:31 +10:00
inmarket de7aafe785 Fix font clipping properly. Previous fix did not bound the font display in the x direction. 2014-02-03 17:58:43 +10:00
Joel Bodenmann a11f7da536 added deinit() routines for all modules (not implemented so far) 2014-02-02 19:24:43 +01:00
Joel Bodenmann 2a0dfcf1c1 fixed clipping issue when widget text is long than the widget itself 2014-02-01 16:04:07 +01:00
Joel Bodenmann 1f3f8bdbe6 fixes in gdispImage nativ format by Marc Pignat 2014-01-17 08:04:35 +01:00
inmarket d9f02858fd Replace NULL's with 0 as NULL is not defined by the Raw32 GOS. 2013-12-21 13:21:59 +10:00
Petteri Aimonen 985a3ca43a gdispDrawThickLine: handle zero-length lines correctly. 2013-12-19 18:00:49 +01:00
Joel Bodenmann ee69db45b3 Fix integer overflow in gdispGDrawThickLine().
Handling the whole width/height range with Newton algorithm was too
    difficult. Switched to bisection search with a separate prescaling
    step.
2013-12-18 00:38:17 +01:00
Joel Bodenmann d16dda2180 GDISP startup logo now optional 2013-12-16 20:11:51 +01:00
Joel Bodenmann 87a7658b57 Improve gdispDrawThickLine() when the line length is short. 2013-12-14 23:30:39 +01:00
Joel Bodenmann f3d9b08f82 typo 2013-12-08 22:50:28 +01:00
Joel Bodenmann ace1948817 added gdispGDrawThickLine() 2013-12-08 21:13:54 +01:00
inmarket cec125a53b Revert "INLINE -> inline"
This reverts commit d4c4740bcf.
2013-11-30 11:00:49 +10:00
Joel Bodenmann d4c4740bcf INLINE -> inline 2013-11-27 16:42:28 +01:00
inmarket 7f1b78a067 Replace color format conversion macros with proper routines to prevent side effects with using the macro.
Also fix a number of compiler warnings.
2013-11-17 23:32:19 +10:00
inmarket 0892135e23 Re-order the GDISP initialisation routine so that it initialises all displays before it tries to draw on any of them.
This also simplifies code.
2013-11-16 01:54:37 +10:00
inmarket c726de8521 Boundary condition fixes to Arcs
Fix multiple display support for rounded boxes.
2013-11-14 09:18:08 +10:00
inmarket 5cc1c5d67b Fix some compiler warnings. 2013-11-10 21:33:28 +10:00
inmarket 1f99d5c9fa Add support for a default application orientation.
Also remove old unneeded GDISP_USE_CUSTOM_BOARD macro
2013-11-09 19:18:59 +10:00
inmarket daa4e8bbd7 Add support for a portrait and landscape orientation modes. 2013-11-09 19:17:22 +10:00
inmarket 250adaf028 Fixes to gdisp vertical scrolling.
Also added improved optimisation for drivers without blit but with a fill routine.
2013-11-05 13:45:19 +10:00
inmarket a28dce97d8 Add multiple display support to image decoding. 2013-10-24 18:34:26 +10:00
inmarket 21afd2b8f1 Created a crude auto-scaling logo (for startup) 2013-10-24 13:59:03 +10:00
inmarket 452cfc1b13 Add GDISP_NEED_TIMERFLUSH to enable automatic display flushing on a timer. 2013-10-24 12:57:20 +10:00
inmarket 4a5506df0a Fixes to GDISP for streaming drivers.
Turn optimisation back on for SSD1289 driver
2013-10-24 11:32:46 +10:00
inmarket 27b5383c1b Fix typos in drivers 2013-10-22 15:52:31 +10:00
Joel Bodenmann 459fbf6781 fixes 2013-10-21 13:47:59 +02:00
inmarket 0b9db701a1 Fix missing case in gdispStreamStop().
Add support for controllers that need flushing.
Add both automatic and manual flushing (via the gdispFlush() method)
2013-10-21 13:34:55 +10:00
Joel Bodenmann 2bd4758569 compiler warnings 2013-10-21 07:56:23 +10:00
inmarket 87a6af81f4 Change to gdisp low level driver API. Display number is now in the GDriver structure (It was required for a Nokia driver). 2013-10-19 15:36:05 +10:00
inmarket 86a5734912 Multiple controller support can now auto-detect hardware capabilities at run-time.
Specific hardware support can still be turned off or on via macros in gfxconf.h to improve efficiency.
Multiple Display demo updated to match.
2013-10-16 01:39:56 +10:00
inmarket ea4af865f1 Compile time fix to text rendering.
Updated gdisp Get/Set Display routines to a more logical API.
2013-10-14 08:55:15 +10:00
inmarket d22bc07e7a Multiple displays across one or more controllers is now fully supported.
Only the Win32 driver supports this so far.
Other drivers are currently broken due to API changes and will be fixed.
2013-10-12 13:24:40 +10:00
inmarket 884db04e8c New optimisation method for some streaming drivers. It should improve speed by about 30% for those controllers that support it. 2013-10-02 16:29:02 +10:00
inmarket 6499da5be3 SSD1289 streaming driver (untested)
X streaming driver (untested)
Nokia6610 fixes
Read pixel streaming support for low level driver.
2013-09-30 00:05:07 +10:00
inmarket 548eb3c981 GDISP Streaming bug fixes and new optimisation method 2013-09-27 01:37:32 +10:00
inmarket 9c55df5467 Fix compiler warning in image code 2013-09-27 01:35:29 +10:00
inmarket 30154560b6 Rename a macro and fix some bugs 2013-09-25 17:17:05 +10:00
inmarket 973e34089e GDISP streaming bug fixes
Win32 bitmap support
Win32 Rotation is back to front. Need to check touch and other drivers.
2013-09-24 16:10:15 +10:00
inmarket b25ac5e667 Scrolling emulation when not supported by hardware
Start of new multiple display support
GDISP performance optimisations
Documentation updates
Win32 driver updates
2013-09-18 23:46:37 +10:00
inmarket 01a6d6ff95 Fix some compiler warnings 2013-09-18 23:36:35 +10:00
inmarket 6e4437255b GDISP revamp - stage 1
New low level driver interface: Only Win32 ported currently
Significant reduction in GDISP stack usage
Improved performance particularly for native streaming drivers
New circle, ellipse, arc routines (draw and fill) that are significantly more efficient and don't overdraw
New arc draw algorithm that measures angles correctly.
New arc fill algorithm for that actually works without overdrawing or gaps.
Much more to come...
2013-09-06 12:29:06 +10:00
inmarket 4394266679 Update fonts files to allow compiling without GDISP_NEED_TEXT. 2013-09-06 12:23:48 +10:00
inmarket 323f53e1dc Improve font name searching. 2013-08-17 23:33:31 +10:00
inmarket a2b27a6f5c Add new hand built bitmap fonts to replace old UI1 and UI2.
Allow scaled fonts to be staticly defined.
Update new fonts handling so UI1 and UI2 have Narrow and Double variants.
Update example gfxconf.h.
Fix new font rules.
Add support for an application program to add their own fonts.
Make system font handling includes root relative.
2013-08-17 23:32:53 +10:00
inmarket db18904892 From mcufont upstream: Fix tab handling in mf_get_string_width 2013-07-30 14:20:26 +10:00
inmarket 99642e2a99 From mcufont upstream: Fix inconsistency between UTF8 and other encodings 2013-07-30 14:19:50 +10:00
inmarket 0ee1b20451 Add font baseline to the starting point of string rendering.
Otherwise the limit calculation will cut off the first character
on larger fonts, like DejaVuSans24.
2013-07-30 14:19:05 +10:00
inmarket 7f15192fe8 Fix rule handling to help the end user get things right.
Tidied up anti-alias where the hardware does not support pixel read-back.
2013-07-29 16:31:54 +10:00
inmarket 7c303eb72e Vastly simplify GDISP mcufont interface code.
Fix boundary cases.
Prevent overwriting of defined display area.
Improve performance.
Remove hardware acceleration for fonts (unlikely anyway unles the hardware understood our software font structures)
2013-07-29 16:29:25 +10:00
inmarket 12085b8014 Fix compiler warnings, operating system dependancies, and non-portable code. 2013-07-29 16:25:20 +10:00
inmarket be8b3cd210 Updated license headers on new font code 2013-07-28 17:22:24 +10:00
inmarket 3977ee687f First cut - beautiful new font handling by PetteriAimonen 2013-07-28 17:08:45 +10:00
inmarket 0194b87efe Missing define for OSX 2013-07-24 13:55:54 +10:00
Joel Bodenmann ea3048ff36 fixed OS-X port (untested) 2013-07-23 18:52:52 +02:00
Joel Bodenmann 73c5ef26f8 fixed license headers 2013-07-21 22:20:37 +02:00
inmarket 0c7609b51e GDISP fix bug in non-multithread 2013-07-08 08:30:48 +10:00
inmarket f7e7a5dae4 Image decoders not setting image type correctly. 2013-07-08 08:30:06 +10:00
inmarket dd43a37b9b Add gdispImageIsOpen() function. 2013-07-01 17:36:47 +10:00
inmarket ed0bac9765 License header updates 2013-06-15 21:37:22 +10:00
inmarket 1c258a8273 GOS updates 2013-06-02 18:57:22 +10:00
inmarket 7fbfde42aa GOS module, for operating system independance
GMISC fast floating point trig
GMISC fast fixed point trig
2013-05-25 01:26:52 +10:00
Abhishek Kumar 4e7c1b00ca Fix GIF rendering issue
Uninitialized cache values causes stability issues in systems
Cache initialized to 0 fixes it.
2013-05-21 14:00:17 +07:00
Joel Bodenmann 8d5fa39dd9 docs 2013-05-20 19:15:20 +02:00
Andrew Hannam 88fd3ad62e More Image Fixes
GIF Interlaced offset Fixes and area reveal offset fixes
2013-05-09 23:51:56 +10:00
Andrew Hannam 734ef12fdf Image Decoder Fixes
Fixes to memory allocation for BMP and NATIVE
Fixes to source offset images for GIF
2013-05-09 23:39:38 +10:00
Joel Bodenmann 6c38d5b310 updated license headers 2013-05-03 16:36:17 +02:00
Joel Bodenmann 296e74f3e0 Revert "updated license headers"
This reverts commit 0a26d9983b.
2013-05-02 01:53:28 +02:00
Joel Bodenmann 0a26d9983b updated license headers 2013-05-02 01:50:09 +02:00
Andrew Hannam a02c124940 GIF image handling
GIF image handling
Updates to Image structure to make memory accounting optional
Add set image background color to handle animated transparency.
2013-04-20 21:19:26 +10:00
Andrew Hannam 553b3682fa Change Memory Reader prototype
Change Memory Reader prototype to prevent signed, unsigned warning
2013-04-04 21:01:49 +10:00
Andrew Hannam 40e6d9c532 Fixes to RLE_4, RLE_8 and 16 bit BMP images
BMP image handling now complete.
The only standard BMP feature not supported is transparency (alpha).
2013-04-03 14:58:35 +10:00
Andrew Hannam 64971549fd New GDISP image handling with demo
Images currently support Native and BMP (except RLE4,8 and 16 bit - due
to bugs)
Supports reading from Memory, BaseFileStream or real files (only on the
Win32 simulator).

Move gdisp_pictures demo to better refect its purpose.

Bug fixes for BMP RLE4,8 & 16 bit to come very soon
GIF support very soon.
2013-04-03 13:51:43 +10:00
Andrew Hannam cc5729dedd Change GDISP poly fns to support translation
Change GDISP poly fns to support translation - required for adding poly
functions to GWIN
2013-03-18 18:27:52 +10:00
Andrew Hannam 40b390908c GDISP changes including polygon support
Add polygon drawing
Add convex polygon filling
Start support for a monochrome display
Move gdisp doxygen to header file
Restructure the balance between gdisp.h and gdisp_lld.h
Remove old extern font definitions (now always use gdispOpenFont)
Make public the GDISP structure and change macros to suit (faster for
the application).
gdispQuery is now optional.
2013-03-10 16:14:32 +10:00
Andrew Hannam 8a40457c86 Revert "GDISP changes including polygon support"
This reverts commit 269262ef9b.
2013-03-10 16:12:13 +10:00
Andrew Hannam 269262ef9b GDISP changes including polygon support
Add polygon drawing
Add convex polygon filling
Start support for a monochrome display
Move gdisp doxygen to header file
Restructure the balance between gdisp.h and gdisp_lld.h
Remove old extern font definitions (now always use gdispOpenFont)
Make public the GDISP structure and change macros to suit (faster for
the application).
gdispQuery is now optional.
2013-03-10 16:11:41 +10:00
Joel Bodenmann e315480c71 updated copyright - 2013 2013-03-06 23:11:01 +01:00
Andrew Hannam 9329b22086 Fix compile error in GDISP
Fix compile error with wrongly named include file
Revert lld_gdisp naming convention to gdisp_lld to fix problem and be
consitant with all other low level drivers.
2013-02-18 17:29:08 +10:00
Joel Bodenmann 60b16e8685 more GDISP_LLD() cleanup 2013-02-11 10:26:34 +01:00
Joel Bodenmann 1bfc5a9f85 removed GDISP_LLD() macro - fix 2013-02-11 09:25:45 +01:00
Joel Bodenmann 885b3d53b3 removed GDISP_LLD() macro 2013-02-11 09:25:26 +01:00
Joel Bodenmann 3a9a2a10b7 doxygen update 2012-12-16 20:43:14 +01:00
Andrew Hannam 5873d87ca2 Add GDISP font routines. Fix demo bugs
Add GDISP font routines to Open and Close a font by name.
Allows wildcard searching for fonts.
Old global font variables are now only optionally included (soon to be
deprecated).
More demo fixing
2012-12-07 00:52:01 +10:00
Andrew Hannam 07f3483535 Restructure
Create global include file called gfx.h which knows about sub-system
dependancies.
Deprecate Touchscreen (GINPUT touch is now working properly)
Merge Graph into GWIN
Change directory structure to reflect sub-system structure
Many small bugs fixed
Split Nokia6610 gdisp driver into GE8 and GE12 controller versions
Fixed broken demos.
GFX sub-systems are now clearly defined and new ones should be much
easier to add.
2012-12-06 18:45:54 +10:00