Commit Graph

148 Commits

Author SHA1 Message Date
inmarket
683ac0ab7f Fixes to gdriver to make uGFXnet displays work 2014-09-13 14:50:32 +10:00
inmarket
0c7c74112e GDRIVER now working for GDISP including multiple displays.
Still uses old GDISP driver model for now
Untested with uGFXnet.
Still to come: Input drivers etc
2014-08-23 17:55:42 +10:00
inmarket
0f3f8f68f8 Rename lots of files to help prevent compile time name conflicts. 2014-08-20 17:42:53 +10:00
Joel Bodenmann
52f40d7618 Fixing compile bug for NATIVE image format 2014-08-07 23:11:44 +02:00
inmarket
ed14e4ca56 Some improvements for the Kiel C compiler 2014-07-29 10:57:01 +10:00
inmarket
3a98279583 Add gdispContrastColor() and remove divides from gdispBlendColors() 2014-05-11 20:05:31 +10:00
inmarket
1c75b6c352 spacing 2014-05-11 13:13:18 +10:00
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