Commit Graph

116 Commits (cf01cb2e7c6bd5b703c3a7c21565732705315e27)

Author SHA1 Message Date
inmarket 39459872b2 Fix pixel error rounding in gdispDrawConvexPoly().
The corrects strange gwin arrow button appearances for certain sizes.
2015-02-14 10:38:24 +10:00
inmarket 143d9be295 Change ugfx startup logo to white so it shows up on monochrome displays 2015-02-07 23:33:02 +10:00
inmarket adebde7a99 Fix multiple display/keyboard/mouse problem with some compilers. 2015-01-27 13:42:11 +10:00
inmarket fa8167b94d Big file rename to reduce problems with brain-dead IDE's that don't handle project file hierarchies well.
Naming is more consistent with the new scheme.
May affect some third party drivers (header file renames).
2015-01-21 17:26:24 +10:00
inmarket 0f3f8f68f8 Rename lots of files to help prevent compile time name conflicts. 2014-08-20 17:42:53 +10: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
Joel Bodenmann c2e93ebcfb bug fix 2014-05-06 17:14:30 +02:00
inmarket 37966ff16d Integrate the include files with each module. Simplifies structure of code. 2014-02-19 00:36:52 +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
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 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
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 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 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 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 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 3977ee687f First cut - beautiful new font handling by PetteriAimonen 2013-07-28 17:08:45 +10: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 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
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 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 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