From 36c55722ddc06af682d7c7bdeb71ba75a3b0fb83 Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Mon, 28 Oct 2013 00:42:38 +0100 Subject: [PATCH] updated GDISP and GWIN demos --- .../gdisp/{gdisp_basics => basics}/gfxconf.h | 18 +- .../gdisp/{gdisp_basics => basics}/main.c | 4 +- .../{gdisp_circles => circles}/gfxconf.h | 20 +-- .../gdisp/{gdisp_circles => circles}/main.c | 2 +- .../{gdisp_fonts => fonts}/font_Apple12.h | 0 .../{gdisp_fonts => fonts}/font_FreePixel10.h | 0 .../font_GeosansLight11.h | 0 .../font_GeosansLight11_aa.h | 0 .../font_babyblue11_aa.h | 0 .../font_hellovetica11.h | 0 .../font_hellovetica11_aa.h | 0 .../font_pf_ronda_seven11_aa.h | 0 .../gdisp/{gdisp_fonts => fonts}/gfxconf.h | 10 +- .../gdisp/{gdisp_fonts => fonts}/main.c | 2 +- .../gdisp/{gdisp_fonts => fonts}/userfonts.h | 0 demos/modules/gdisp/fonts_cyrillic/gfxconf.h | 56 ++++++ demos/modules/gdisp/fonts_cyrillic/main.c | 49 +++++ .../userfonts.h | 0 .../gdisp/gdisp_fonts_cyrillic/gfxconf.h | 169 ------------------ .../modules/gdisp/gdisp_fonts_cyrillic/main.c | 20 --- .../gdisp/gdisp_images/results_650x493.png | Bin 32345 -> 0 bytes demos/modules/gdisp/gdisp_text/gfxconf.h | 75 -------- demos/modules/gdisp/gdisp_text/main.c | 74 -------- .../gdisp/{gdisp_images => images}/gfxconf.h | 26 +-- .../gdisp/{gdisp_images => images}/main.c | 4 +- .../{gdisp_images => images}/test-pal8.bmp | Bin .../{gdisp_images => images}/test-pal8.h | 0 .../gfxconf.h | 27 +-- .../main.c | 1 + .../testanim.gif | Bin .../testanim.h | 0 demos/modules/gwin/basic/gfxconf.h | 18 +- demos/modules/gwin/basic/main.c | 4 +- demos/modules/gwin/button/gfxconf.h | 58 ++---- demos/modules/gwin/button/main.c | 29 +++ demos/modules/gwin/checkbox/gfxconf.h | 58 ++---- demos/modules/gwin/checkbox/main.c | 29 +++ demos/modules/gwin/console/gfxconf.h | 29 ++- demos/modules/gwin/console/main.c | 4 +- demos/modules/gwin/graph/gfxconf.h | 25 +-- demos/modules/gwin/graph/main.c | 1 + demos/modules/gwin/list/gfxconf.h | 160 ++++------------- demos/modules/gwin/list/main.c | 31 +++- demos/modules/gwin/radio/gfxconf.h | 58 ++---- demos/modules/gwin/radio/main.c | 29 +++ demos/modules/gwin/slider/gfxconf.h | 58 ++---- demos/modules/gwin/slider/main.c | 29 +++ demos/modules/gwin/widgets/gfxconf.h | 55 +++--- demos/modules/gwin/widgets/main.c | 1 + 49 files changed, 441 insertions(+), 792 deletions(-) rename demos/modules/gdisp/{gdisp_basics => basics}/gfxconf.h (79%) rename demos/modules/gdisp/{gdisp_basics => basics}/main.c (94%) rename demos/modules/gdisp/{gdisp_circles => circles}/gfxconf.h (82%) rename demos/modules/gdisp/{gdisp_circles => circles}/main.c (95%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_Apple12.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_FreePixel10.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_GeosansLight11.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_GeosansLight11_aa.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_babyblue11_aa.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_hellovetica11.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_hellovetica11_aa.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/font_pf_ronda_seven11_aa.h (100%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/gfxconf.h (95%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/main.c (98%) rename demos/modules/gdisp/{gdisp_fonts => fonts}/userfonts.h (100%) create mode 100644 demos/modules/gdisp/fonts_cyrillic/gfxconf.h create mode 100644 demos/modules/gdisp/fonts_cyrillic/main.c rename demos/modules/gdisp/{gdisp_fonts_cyrillic => fonts_cyrillic}/userfonts.h (100%) delete mode 100644 demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h delete mode 100644 demos/modules/gdisp/gdisp_fonts_cyrillic/main.c delete mode 100644 demos/modules/gdisp/gdisp_images/results_650x493.png delete mode 100644 demos/modules/gdisp/gdisp_text/gfxconf.h delete mode 100644 demos/modules/gdisp/gdisp_text/main.c rename demos/modules/gdisp/{gdisp_images => images}/gfxconf.h (75%) rename demos/modules/gdisp/{gdisp_images => images}/main.c (97%) rename demos/modules/gdisp/{gdisp_images => images}/test-pal8.bmp (100%) rename demos/modules/gdisp/{gdisp_images => images}/test-pal8.h (100%) rename demos/modules/gdisp/{gdisp_images_animated => images_animated}/gfxconf.h (74%) rename demos/modules/gdisp/{gdisp_images_animated => images_animated}/main.c (99%) rename demos/modules/gdisp/{gdisp_images_animated => images_animated}/testanim.gif (100%) rename demos/modules/gdisp/{gdisp_images_animated => images_animated}/testanim.h (100%) diff --git a/demos/modules/gdisp/gdisp_basics/gfxconf.h b/demos/modules/gdisp/basics/gfxconf.h similarity index 79% rename from demos/modules/gdisp/gdisp_basics/gfxconf.h rename to demos/modules/gdisp/basics/gfxconf.h index 8adc7c8d..ff365590 100644 --- a/demos/modules/gdisp/gdisp_basics/gfxconf.h +++ b/demos/modules/gdisp/basics/gfxconf.h @@ -31,9 +31,10 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE @@ -41,15 +42,6 @@ /* Features for the GDISP sub-system. */ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT FALSE -#define GDISP_NEED_CIRCLE FALSE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gdisp/gdisp_basics/main.c b/demos/modules/gdisp/basics/main.c similarity index 94% rename from demos/modules/gdisp/gdisp_basics/main.c rename to demos/modules/gdisp/basics/main.c index f875028b..48d4a652 100644 --- a/demos/modules/gdisp/gdisp_basics/main.c +++ b/demos/modules/gdisp/basics/main.c @@ -33,7 +33,7 @@ int main(void) { coord_t width, height; coord_t i, j; - /* Initialize and clear the display */ + // Initialize and clear the display gfxInit(); // Get the screen size @@ -46,7 +46,7 @@ int main(void) { gdispDrawLine(5, 30, width-50, height-40, Red); for(i = 5, j = 0; i < width && j < height; i += 7, j += i/20) - gdispDrawPixel (i, j, White); + gdispDrawPixel(i, j, White); while(TRUE) { gfxSleepMilliseconds(500); diff --git a/demos/modules/gdisp/gdisp_circles/gfxconf.h b/demos/modules/gdisp/circles/gfxconf.h similarity index 82% rename from demos/modules/gdisp/gdisp_circles/gfxconf.h rename to demos/modules/gdisp/circles/gfxconf.h index 8858cf02..cb698fce 100644 --- a/demos/modules/gdisp/gdisp_circles/gfxconf.h +++ b/demos/modules/gdisp/circles/gfxconf.h @@ -31,29 +31,25 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE +#define GFX_USE_GMISC TRUE -/* Features for the GDISP sub-system. */ +/* Features for the GDISP subsystem. */ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT FALSE #define GDISP_NEED_CIRCLE TRUE #define GDISP_NEED_ELLIPSE TRUE #define GDISP_NEED_ARC TRUE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE -#define GFX_USE_GMISC TRUE +/* Features for the GMISC subsystem */ #define GMISC_NEED_FIXEDTRIG TRUE #define GMISC_NEED_FASTTRIG TRUE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gdisp/gdisp_circles/main.c b/demos/modules/gdisp/circles/main.c similarity index 95% rename from demos/modules/gdisp/gdisp_circles/main.c rename to demos/modules/gdisp/circles/main.c index b8b90478..9253439d 100644 --- a/demos/modules/gdisp/gdisp_circles/main.c +++ b/demos/modules/gdisp/circles/main.c @@ -32,7 +32,7 @@ int main(void) { coord_t width, height; - /* Initialize and clear the display */ + // Initialize and clear the display gfxInit(); // Get the screen size diff --git a/demos/modules/gdisp/gdisp_fonts/font_Apple12.h b/demos/modules/gdisp/fonts/font_Apple12.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_Apple12.h rename to demos/modules/gdisp/fonts/font_Apple12.h diff --git a/demos/modules/gdisp/gdisp_fonts/font_FreePixel10.h b/demos/modules/gdisp/fonts/font_FreePixel10.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_FreePixel10.h rename to demos/modules/gdisp/fonts/font_FreePixel10.h diff --git a/demos/modules/gdisp/gdisp_fonts/font_GeosansLight11.h b/demos/modules/gdisp/fonts/font_GeosansLight11.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_GeosansLight11.h rename to demos/modules/gdisp/fonts/font_GeosansLight11.h diff --git a/demos/modules/gdisp/gdisp_fonts/font_GeosansLight11_aa.h b/demos/modules/gdisp/fonts/font_GeosansLight11_aa.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_GeosansLight11_aa.h rename to demos/modules/gdisp/fonts/font_GeosansLight11_aa.h diff --git a/demos/modules/gdisp/gdisp_fonts/font_babyblue11_aa.h b/demos/modules/gdisp/fonts/font_babyblue11_aa.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_babyblue11_aa.h rename to demos/modules/gdisp/fonts/font_babyblue11_aa.h diff --git a/demos/modules/gdisp/gdisp_fonts/font_hellovetica11.h b/demos/modules/gdisp/fonts/font_hellovetica11.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_hellovetica11.h rename to demos/modules/gdisp/fonts/font_hellovetica11.h diff --git a/demos/modules/gdisp/gdisp_fonts/font_hellovetica11_aa.h b/demos/modules/gdisp/fonts/font_hellovetica11_aa.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_hellovetica11_aa.h rename to demos/modules/gdisp/fonts/font_hellovetica11_aa.h diff --git a/demos/modules/gdisp/gdisp_fonts/font_pf_ronda_seven11_aa.h b/demos/modules/gdisp/fonts/font_pf_ronda_seven11_aa.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/font_pf_ronda_seven11_aa.h rename to demos/modules/gdisp/fonts/font_pf_ronda_seven11_aa.h diff --git a/demos/modules/gdisp/gdisp_fonts/gfxconf.h b/demos/modules/gdisp/fonts/gfxconf.h similarity index 95% rename from demos/modules/gdisp/gdisp_fonts/gfxconf.h rename to demos/modules/gdisp/fonts/gfxconf.h index a0bba31c..ffb3a7e7 100644 --- a/demos/modules/gdisp/gdisp_fonts/gfxconf.h +++ b/demos/modules/gdisp/fonts/gfxconf.h @@ -31,9 +31,10 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS FALSE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE @@ -73,6 +74,5 @@ #define GDISP_INCLUDE_FONT_UI2 TRUE #define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE -#define GDISP_INCLUDE_USER_FONTS TRUE - #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gdisp/gdisp_fonts/main.c b/demos/modules/gdisp/fonts/main.c similarity index 98% rename from demos/modules/gdisp/gdisp_fonts/main.c rename to demos/modules/gdisp/fonts/main.c index e9cdf003..0384b737 100644 --- a/demos/modules/gdisp/gdisp_fonts/main.c +++ b/demos/modules/gdisp/fonts/main.c @@ -36,7 +36,7 @@ int main(void) { const char *line1, *line2; char buf[8]; - /* Initialize and clear the display */ + // Initialize and clear the display gfxInit(); // Get the screen size diff --git a/demos/modules/gdisp/gdisp_fonts/userfonts.h b/demos/modules/gdisp/fonts/userfonts.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts/userfonts.h rename to demos/modules/gdisp/fonts/userfonts.h diff --git a/demos/modules/gdisp/fonts_cyrillic/gfxconf.h b/demos/modules/gdisp/fonts_cyrillic/gfxconf.h new file mode 100644 index 00000000..713c89b4 --- /dev/null +++ b/demos/modules/gdisp/fonts_cyrillic/gfxconf.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _GFXCONF_H +#define _GFXCONF_H + +/* The operating system to use - one of these must be defined */ +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE + +/* GFX subsystems to turn on */ +#define GFX_USE_GDISP TRUE + +/* Features for the GDISP subsystem */ +#define GDISP_NEED_VALIDATION TRUE +#define GDISP_NEED_CLIP TRUE +#define GDISP_NEED_TEXT TRUE +#define GDISP_NEED_CIRCLE TRUE +#define GDISP_NEED_ELLIPSE TRUE +#define GDISP_NEED_ANTIALIAS TRUE +#define GDISP_NEED_UTF8 TRUE +#define GDISP_NEED_TEXT_KERNING TRUE + +/* GDISP - fonts to include */ +#define GDISP_INCLUDE_USER_FONTS TRUE + +#endif /* _GFXCONF_H */ + diff --git a/demos/modules/gdisp/fonts_cyrillic/main.c b/demos/modules/gdisp/fonts_cyrillic/main.c new file mode 100644 index 00000000..bd504722 --- /dev/null +++ b/demos/modules/gdisp/fonts_cyrillic/main.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "gfx.h" + +int main(void) { + font_t font1; + + // Initialize uGFX and the underlying system + gfxInit(); + + // Get the fonts we want to use + font1 = gdispOpenFont("Archangelsk Regular 12"); + + // Demonstrate our other fonts + gdispDrawString(10, 10, "привет мир", font1, Yellow); + + // Wait forever + while(TRUE) { + gfxSleepMilliseconds(500); + } +} + diff --git a/demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h b/demos/modules/gdisp/fonts_cyrillic/userfonts.h similarity index 100% rename from demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h rename to demos/modules/gdisp/fonts_cyrillic/userfonts.h diff --git a/demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h b/demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h deleted file mode 100644 index a282a5f8..00000000 --- a/demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h +++ /dev/null @@ -1,169 +0,0 @@ -/** - * This file has a different license to the rest of the GFX system. - * You can copy, modify and distribute this file as you see fit. - * You do not need to publish your source modifications to this file. - * The only thing you are not permitted to do is to relicense it - * under a different license. - */ - -/** - * Copy this file into your project directory and rename it as gfxconf.h - * Edit your copy to turn on the GFX features you want to use. - */ - -#ifndef _GFXCONF_H -#define _GFXCONF_H - -/* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS FALSE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_LINUX FALSE -//#define GFX_USE_OS_OSX FALSE - -/* GFX subsystems to turn on */ -#define GFX_USE_GDISP TRUE -#define GFX_USE_TDISP FALSE -#define GFX_USE_GWIN FALSE -#define GFX_USE_GEVENT FALSE -#define GFX_USE_GTIMER FALSE -#define GFX_USE_GQUEUE FALSE -#define GFX_USE_GINPUT FALSE -#define GFX_USE_GADC FALSE -#define GFX_USE_GAUDIN FALSE -#define GFX_USE_GAUDOUT FALSE -#define GFX_USE_GMISC FALSE - -/* Features for the GDISP subsystem */ -#define GDISP_NEED_VALIDATION TRUE -#define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE TRUE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_QUERY FALSE -#define GDISP_NEED_IMAGE FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE -#define GDISP_NEED_ANTIALIAS TRUE -#define GDISP_NEED_UTF8 TRUE -#define GDISP_NEED_TEXT_KERNING TRUE - -/* GDISP - fonts to include */ -#define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS12 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS16 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS24 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS32 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 FALSE -#define GDISP_INCLUDE_FONT_FIXED_10x20 FALSE -#define GDISP_INCLUDE_FONT_FIXED_7x14 FALSE -#define GDISP_INCLUDE_FONT_FIXED_5x8 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA FALSE - -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 FALSE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE -#define GDISP_INCLUDE_USER_FONTS TRUE - -/* GDISP image decoders */ -#define GDISP_NEED_IMAGE_NATIVE FALSE -#define GDISP_NEED_IMAGE_GIF FALSE -#define GDISP_NEED_IMAGE_BMP FALSE -#define GDISP_NEED_IMAGE_JPG FALSE -#define GDISP_NEED_IMAGE_PNG FALSE -#define GDISP_NEED_IMAGE_ACCOUNTING FALSE - -/* Optional image support that can be turned off */ -/* - #define GDISP_NEED_IMAGE_BMP_1 TRUE - #define GDISP_NEED_IMAGE_BMP_4 TRUE - #define GDISP_NEED_IMAGE_BMP_4_RLE TRUE - #define GDISP_NEED_IMAGE_BMP_8 TRUE - #define GDISP_NEED_IMAGE_BMP_8_RLE TRUE - #define GDISP_NEED_IMAGE_BMP_16 TRUE - #define GDISP_NEED_IMAGE_BMP_24 TRUE - #define GDISP_NEED_IMAGE_BMP_32 TRUE -*/ - -/* Features for the TDISP subsystem. */ -#define TDISP_NEED_MULTITHREAD FALSE - -/* Features for the GWIN subsystem. */ -#define GWIN_NEED_WINDOWMANAGER FALSE -#define GWIN_NEED_CONSOLE FALSE -#define GWIN_NEED_GRAPH FALSE -#define GWIN_NEED_WIDGET FALSE -#define GWIN_NEED_BUTTON FALSE -#define GWIN_NEED_SLIDER FALSE -#define GWIN_NEED_CHECKBOX FALSE -#define GWIN_NEED_IMAGE FALSE -#define GWIN_NEED_RADIO FALSE -#define GWIN_NEED_LIST FALSE - -/* Features for the GEVENT subsystem. */ -#define GEVENT_ASSERT_NO_RESOURCE FALSE - -/* Features for the GTIMER subsystem. */ -/* NONE */ - -/* Features for the GQUEUE subsystem. */ -#define GQUEUE_NEED_ASYNC FALSE -#define GQUEUE_NEED_GSYNC FALSE -#define GQUEUE_NEED_FSYNC FALSE - -/* Features for the GINPUT subsystem. */ -#define GINPUT_NEED_MOUSE FALSE -#define GINPUT_NEED_KEYBOARD FALSE -#define GINPUT_NEED_TOGGLE FALSE -#define GINPUT_NEED_DIAL FALSE - -/* Features for the GADC subsystem. */ -/* NONE */ - -/* Features for the GAUDIN subsystem. */ -/* NONE */ - -/* Features for the GAUDOUT subsystem. */ -/* NONE */ - -/* Features for the GMISC subsystem. */ -#define GMISC_NEED_ARRAYOPS FALSE -#define GMISC_NEED_FASTTRIG FALSE -#define GMISC_NEED_FIXEDTRIG FALSE - -/* Optional Parameters for various subsystems */ -/* - #define GDISP_NEED_UTF8 FALSE - #define GDISP_NEED_TEXT_KERNING FALSE - #define GDISP_NEED_ANTIALIAS FALSE - #define GEVENT_MAXIMUM_SIZE 32 - #define GEVENT_MAX_SOURCE_LISTENERS 32 - #define GTIMER_THREAD_WORKAREA_SIZE 512 - #define GADC_MAX_LOWSPEED_DEVICES 4 - #define GWIN_BUTTON_LAZY_RELEASE FALSE - #define GWIN_CONSOLE_USE_BASESTREAM FALSE - #define GWIN_CONSOLE_USE_FLOAT FALSE - #define GWIN_NEED_IMAGE_ANIMATION FALSE -*/ - -/* Optional Low Level Driver Definitions */ -/* - #define GDISP_USE_CUSTOM_BOARD FALSE - #define GDISP_SCREEN_WIDTH 320 - #define GDISP_SCREEN_HEIGHT 240 - #define GDISP_USE_FSMC - #define GDISP_USE_GPIO - #define TDISP_COLUMNS 16 - #define TDISP_ROWS 2 -*/ - -#endif /* _GFXCONF_H */ diff --git a/demos/modules/gdisp/gdisp_fonts_cyrillic/main.c b/demos/modules/gdisp/gdisp_fonts_cyrillic/main.c deleted file mode 100644 index dd39a5d5..00000000 --- a/demos/modules/gdisp/gdisp_fonts_cyrillic/main.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "gfx.h" - -int main(void) { - font_t font1; - - // Initialize uGFX and the underlying system - gfxInit(); - - // Get the fonts we want to use - font1 = gdispOpenFont("Archangelsk Regular 12"); - - // Demonstrate our other fonts - gdispDrawString(10, 10, "привет мир", font1, Yellow); - - // Wait forever - while(TRUE) { - gfxSleepMilliseconds(500); - } -} - diff --git a/demos/modules/gdisp/gdisp_images/results_650x493.png b/demos/modules/gdisp/gdisp_images/results_650x493.png deleted file mode 100644 index 66dcd6e30fef92f1bbe834dd9e6db034db6567d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32345 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 LsmT_=?)(1_N!uob diff --git a/demos/modules/gdisp/gdisp_text/gfxconf.h b/demos/modules/gdisp/gdisp_text/gfxconf.h deleted file mode 100644 index 76127ef9..00000000 --- a/demos/modules/gdisp/gdisp_text/gfxconf.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu - * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _GFXCONF_H -#define _GFXCONF_H - -/* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS FALSE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE - -/* GFX sub-systems to turn on */ -#define GFX_USE_GDISP TRUE - -/* Features for the GDISP sub-system. */ -#define GDISP_NEED_VALIDATION TRUE -#define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE FALSE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE - -/* GDISP - fonts to include */ -#define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS12 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS16 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS24 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS32 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 FALSE -#define GDISP_INCLUDE_FONT_FIXED_10x20 FALSE -#define GDISP_INCLUDE_FONT_FIXED_7x14 FALSE -#define GDISP_INCLUDE_FONT_FIXED_5x8 FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA FALSE -#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA FALSE - -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_INCLUDE_FONT_LARGENUMBERS TRUE - -#endif /* _GFXCONF_H */ diff --git a/demos/modules/gdisp/gdisp_text/main.c b/demos/modules/gdisp/gdisp_text/main.c deleted file mode 100644 index 7ea3405e..00000000 --- a/demos/modules/gdisp/gdisp_text/main.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu - * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "gfx.h" - -int main(void) { - coord_t width; - font_t font1, font2, font3, font4; - const char *msg; - - /* Initialize and clear the display */ - gfxInit(); - - // Get the screen size - width = gdispGetWidth(); - - // Get the fonts we want to use - font1 = gdispOpenFont("UI2"); - font2 = gdispOpenFont("UI2 Double"); - font3 = gdispOpenFont("UI2 Narrow"); - font4 = gdispOpenFont("LargeNumbers"); - - // Display large numbers on the right (measuring the string) - msg = "123456"; - gdispDrawString(width-gdispGetStringWidth(msg, font4)-3, 3, msg, font4, Green); - - // Display the font name under it. - msg = gdispGetFontName(font4); - gdispDrawString(width-gdispGetStringWidth(msg, font1)-3, 20, msg, font1, Green); - - // Demonstrate our other fonts - gdispDrawString(10, 10, "Writing with Font 'UI2'", font1, Yellow); - gdispFillString(10, 35, "Writing with Font 'UI2 Double'", font2, Red, White); - gdispDrawStringBox(0, 50, width, 40, "Writing with Font 'UI2 Narrow'", font3, Red, justifyCenter); - gdispFillStringBox(0, 90, width, 40, "Filled Centered", font3, Pink, Gray, justifyCenter); - - // Clean up the fonts - gdispCloseFont(font1); - gdispCloseFont(font2); - gdispCloseFont(font3); - gdispCloseFont(font4); - - // Wait forever - while(TRUE) { - gfxSleepMilliseconds(500); - } -} - diff --git a/demos/modules/gdisp/gdisp_images/gfxconf.h b/demos/modules/gdisp/images/gfxconf.h similarity index 75% rename from demos/modules/gdisp/gdisp_images/gfxconf.h rename to demos/modules/gdisp/images/gfxconf.h index 9e37988c..694bad28 100644 --- a/demos/modules/gdisp/gdisp_images/gfxconf.h +++ b/demos/modules/gdisp/images/gfxconf.h @@ -31,9 +31,10 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE @@ -41,25 +42,7 @@ /* Features for the GDISP sub-system. */ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT FALSE -#define GDISP_NEED_CIRCLE FALSE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE #define GDISP_NEED_IMAGE TRUE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE - -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 FALSE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE /* GDISP image decoders */ #define GDISP_NEED_IMAGE_NATIVE FALSE @@ -69,3 +52,4 @@ #define GDISP_NEED_IMAGE_PNG FALSE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gdisp/gdisp_images/main.c b/demos/modules/gdisp/images/main.c similarity index 97% rename from demos/modules/gdisp/gdisp_images/main.c rename to demos/modules/gdisp/images/main.c index c581f942..b87f663c 100644 --- a/demos/modules/gdisp/gdisp_images/main.c +++ b/demos/modules/gdisp/images/main.c @@ -44,7 +44,8 @@ static gdispImage myImage; int main(void) { coord_t swidth, sheight; - gfxInit(); // Initialize the display + // Initialize uGFX and the underlying system + gfxInit(); // Get the display dimensions swidth = gdispGetWidth(); @@ -67,3 +68,4 @@ int main(void) { return 0; } + diff --git a/demos/modules/gdisp/gdisp_images/test-pal8.bmp b/demos/modules/gdisp/images/test-pal8.bmp similarity index 100% rename from demos/modules/gdisp/gdisp_images/test-pal8.bmp rename to demos/modules/gdisp/images/test-pal8.bmp diff --git a/demos/modules/gdisp/gdisp_images/test-pal8.h b/demos/modules/gdisp/images/test-pal8.h similarity index 100% rename from demos/modules/gdisp/gdisp_images/test-pal8.h rename to demos/modules/gdisp/images/test-pal8.h diff --git a/demos/modules/gdisp/gdisp_images_animated/gfxconf.h b/demos/modules/gdisp/images_animated/gfxconf.h similarity index 74% rename from demos/modules/gdisp/gdisp_images_animated/gfxconf.h rename to demos/modules/gdisp/images_animated/gfxconf.h index ab91a9e7..e0158441 100644 --- a/demos/modules/gdisp/gdisp_images_animated/gfxconf.h +++ b/demos/modules/gdisp/images_animated/gfxconf.h @@ -31,9 +31,10 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE @@ -41,25 +42,7 @@ /* Features for the GDISP sub-system. */ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT FALSE -#define GDISP_NEED_CIRCLE FALSE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE #define GDISP_NEED_IMAGE TRUE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE - -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 FALSE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE /* GDISP image decoders */ #define GDISP_NEED_IMAGE_NATIVE FALSE @@ -67,6 +50,6 @@ #define GDISP_NEED_IMAGE_BMP FALSE #define GDISP_NEED_IMAGE_JPG FALSE #define GDISP_NEED_IMAGE_PNG FALSE -#define GDISP_NEED_IMAGE_ACCOUNTING FALSE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gdisp/gdisp_images_animated/main.c b/demos/modules/gdisp/images_animated/main.c similarity index 99% rename from demos/modules/gdisp/gdisp_images_animated/main.c rename to demos/modules/gdisp/images_animated/main.c index 58558185..9b2b5d2c 100644 --- a/demos/modules/gdisp/gdisp_images_animated/main.c +++ b/demos/modules/gdisp/images_animated/main.c @@ -115,3 +115,4 @@ int main(void) { return 0; } + diff --git a/demos/modules/gdisp/gdisp_images_animated/testanim.gif b/demos/modules/gdisp/images_animated/testanim.gif similarity index 100% rename from demos/modules/gdisp/gdisp_images_animated/testanim.gif rename to demos/modules/gdisp/images_animated/testanim.gif diff --git a/demos/modules/gdisp/gdisp_images_animated/testanim.h b/demos/modules/gdisp/images_animated/testanim.h similarity index 100% rename from demos/modules/gdisp/gdisp_images_animated/testanim.h rename to demos/modules/gdisp/images_animated/testanim.h diff --git a/demos/modules/gwin/basic/gfxconf.h b/demos/modules/gwin/basic/gfxconf.h index 3ef9c784..1e6784fd 100644 --- a/demos/modules/gwin/basic/gfxconf.h +++ b/demos/modules/gwin/basic/gfxconf.h @@ -31,9 +31,10 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -#define GFX_USE_OS_CHIBIOS TRUE +#define GFX_USE_OS_CHIBIOS FALSE #define GFX_USE_OS_WIN32 FALSE -#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE @@ -42,15 +43,10 @@ /* Features for the GDISP sub-system. */ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT FALSE #define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE + +/* Features for the GWIN subsystem. */ +#define GWIN_NEED_WINDOWMANAGER TRUE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/basic/main.c b/demos/modules/gwin/basic/main.c index c46e6969..eee22f29 100644 --- a/demos/modules/gwin/basic/main.c +++ b/demos/modules/gwin/basic/main.c @@ -37,7 +37,7 @@ int main(void) { /* Initialize and clear the display */ gfxInit(); - gdispClear(Lime); + gdispClear(White); /* Create two windows */ { @@ -60,7 +60,7 @@ int main(void) { gwinClear(GW2); gwinDrawLine(GW1, 5, 30, 150, 110); - for(i=5, j=0; i < 200 && j < 150; i+=3, j+=i/20) + for(i = 5, j = 0; i < 200 && j < 150; i += 3, j += i/20) gwinDrawPixel(GW1, i, j); /* diff --git a/demos/modules/gwin/button/gfxconf.h b/demos/modules/gwin/button/gfxconf.h index 256ba2ed..6d0aa41d 100644 --- a/demos/modules/gwin/button/gfxconf.h +++ b/demos/modules/gwin/button/gfxconf.h @@ -1,6 +1,7 @@ /* * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,62 +30,35 @@ #ifndef _GFXCONF_H #define _GFXCONF_H -#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 TRUE -//#define GFX_USE_OS_POSIX TRUE +/* The operating system to use - one of these must be defined */ +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE #define GFX_USE_GWIN TRUE +#define GFX_USE_GINPUT TRUE #define GFX_USE_GEVENT TRUE #define GFX_USE_GTIMER TRUE -#define GFX_USE_GINPUT TRUE /* Features for the GDISP sub-system. */ -#define GDISP_NEED_VALIDATION TRUE -#define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_IMAGE TRUE -#define GDISP_NEED_MULTITHREAD TRUE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE +#define GDISP_NEED_VALIDATION TRUE +#define GDISP_NEED_CLIP TRUE +#define GDISP_NEED_CIRCLE TRUE +#define GDISP_NEED_TEXT TRUE -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE +/* GDISP fonts to include */ +#define GDISP_INCLUDE_FONT_UI2 TRUE -/* GDISP image decoders */ -#define GDISP_NEED_IMAGE_NATIVE FALSE -#define GDISP_NEED_IMAGE_GIF FALSE -#define GDISP_NEED_IMAGE_BMP FALSE -#define GDISP_NEED_IMAGE_JPG FALSE -#define GDISP_NEED_IMAGE_PNG FALSE - -/* Features for the GWIN sub-system. */ +/* Features for the GWIN subsystem. */ #define GWIN_NEED_WINDOWMANAGER TRUE -#define GWIN_NEED_CONSOLE FALSE -#define GWIN_NEED_GRAPH FALSE #define GWIN_NEED_WIDGET TRUE #define GWIN_NEED_BUTTON TRUE -#define GWIN_NEED_SLIDER FALSE -#define GWIN_NEED_CHECKBOX FALSE -#define GWIN_NEED_LABEL FALSE -#define GWIN_NEED_IMAGE FALSE -#define GWIN_NEED_RADIO FALSE -/* Features for the GINPUT sub-system. */ +/* Features for the GINPUT subsystem. */ #define GINPUT_NEED_MOUSE TRUE -#define GINPUT_NEED_TOGGLE FALSE -#define GINPUT_NEED_DIAL FALSE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/button/main.c b/demos/modules/gwin/button/main.c index 1ed2ac43..f210d84c 100644 --- a/demos/modules/gwin/button/main.c +++ b/demos/modules/gwin/button/main.c @@ -1,3 +1,32 @@ +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + #include "gfx.h" static GListener gl; diff --git a/demos/modules/gwin/checkbox/gfxconf.h b/demos/modules/gwin/checkbox/gfxconf.h index 0864b6f9..9bcda6be 100644 --- a/demos/modules/gwin/checkbox/gfxconf.h +++ b/demos/modules/gwin/checkbox/gfxconf.h @@ -1,6 +1,7 @@ /* * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,62 +30,35 @@ #ifndef _GFXCONF_H #define _GFXCONF_H -#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 TRUE -//#define GFX_USE_OS_POSIX TRUE +/* The operating system to use - one of these must be defined */ +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE #define GFX_USE_GWIN TRUE +#define GFX_USE_GINPUT TRUE #define GFX_USE_GEVENT TRUE #define GFX_USE_GTIMER TRUE -#define GFX_USE_GINPUT TRUE /* Features for the GDISP sub-system. */ -#define GDISP_NEED_VALIDATION TRUE -#define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_IMAGE TRUE -#define GDISP_NEED_MULTITHREAD TRUE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE +#define GDISP_NEED_VALIDATION TRUE +#define GDISP_NEED_CLIP TRUE +#define GDISP_NEED_CIRCLE TRUE +#define GDISP_NEED_TEXT TRUE -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE +/* GDISP fonts to include */ +#define GDISP_INCLUDE_FONT_UI2 TRUE -/* GDISP image decoders */ -#define GDISP_NEED_IMAGE_NATIVE FALSE -#define GDISP_NEED_IMAGE_GIF FALSE -#define GDISP_NEED_IMAGE_BMP FALSE -#define GDISP_NEED_IMAGE_JPG FALSE -#define GDISP_NEED_IMAGE_PNG FALSE - -/* Features for the GWIN sub-system. */ +/* Features for the GWIN subsystem. */ #define GWIN_NEED_WINDOWMANAGER TRUE -#define GWIN_NEED_CONSOLE FALSE -#define GWIN_NEED_GRAPH FALSE #define GWIN_NEED_WIDGET TRUE -#define GWIN_NEED_BUTTON FALSE -#define GWIN_NEED_SLIDER FALSE #define GWIN_NEED_CHECKBOX TRUE -#define GWIN_NEED_LABEL FALSE -#define GWIN_NEED_IMAGE FALSE -#define GWIN_NEED_RADIO FALSE -/* Features for the GINPUT sub-system. */ +/* Features for the GINPUT subsystem. */ #define GINPUT_NEED_MOUSE TRUE -#define GINPUT_NEED_TOGGLE FALSE -#define GINPUT_NEED_DIAL FALSE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/checkbox/main.c b/demos/modules/gwin/checkbox/main.c index c6094323..23d3cb17 100644 --- a/demos/modules/gwin/checkbox/main.c +++ b/demos/modules/gwin/checkbox/main.c @@ -1,3 +1,32 @@ +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + #include "gfx.h" static GListener gl; diff --git a/demos/modules/gwin/console/gfxconf.h b/demos/modules/gwin/console/gfxconf.h index 90dbc7cb..c1307302 100644 --- a/demos/modules/gwin/console/gfxconf.h +++ b/demos/modules/gwin/console/gfxconf.h @@ -31,9 +31,10 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS FALSE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE @@ -43,24 +44,14 @@ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE #define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE FALSE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE +/* GDISP fonts to include */ +#define GDISP_INCLUDE_FONT_UI2 TRUE +#define GDISP_INCLUDE_FONT_DEJAVUSANS12 TRUE -/* Features for the GWIN sub-system. */ +/* Features for the GWIN subsystem. */ +#define GWIN_NEED_WINDOWMANAGER TRUE #define GWIN_NEED_CONSOLE TRUE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/console/main.c b/demos/modules/gwin/console/main.c index 2175ce04..0efd1c99 100644 --- a/demos/modules/gwin/console/main.c +++ b/demos/modules/gwin/console/main.c @@ -41,7 +41,7 @@ int main(void) { /* Set some fonts */ font1 = gdispOpenFont("UI2"); - font2 = gdispOpenFont("UI2 Double"); + font2 = gdispOpenFont("DejaVu Sans 12"); gwinSetDefaultFont(font1); /* create the three console windows */ @@ -75,7 +75,7 @@ int main(void) { /* Output some data on the first console */ for(i = 0; i < 10; i++) { - gwinPrintf(GW1, "Hello ChibiOS/GFX!\r\n"); + gwinPrintf(GW1, "Hello uGFX!\r\n"); } /* Output some data on the second console */ diff --git a/demos/modules/gwin/graph/gfxconf.h b/demos/modules/gwin/graph/gfxconf.h index 51c5bdc4..e829605a 100644 --- a/demos/modules/gwin/graph/gfxconf.h +++ b/demos/modules/gwin/graph/gfxconf.h @@ -31,33 +31,22 @@ #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_POSIX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE #define GFX_USE_GWIN TRUE -#define GFX_USE_GMISC TRUE /* Features for the GDISP sub-system. */ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT FALSE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE -/* Features for the GWIN sub-system. */ +/* Features for the GWIN subsystem. */ +#define GWIN_NEED_WINDOWMANAGER TRUE #define GWIN_NEED_GRAPH TRUE -/* Turn on fast trig */ -#define GMISC_NEED_FASTTRIG TRUE - #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/graph/main.c b/demos/modules/gwin/graph/main.c index c5b7b352..4dd67ae8 100644 --- a/demos/modules/gwin/graph/main.c +++ b/demos/modules/gwin/graph/main.c @@ -100,3 +100,4 @@ int main(void) { } } + diff --git a/demos/modules/gwin/list/gfxconf.h b/demos/modules/gwin/list/gfxconf.h index cf5f8690..19d395c0 100644 --- a/demos/modules/gwin/list/gfxconf.h +++ b/demos/modules/gwin/list/gfxconf.h @@ -1,150 +1,64 @@ -/** - * This file has a different license to the rest of the GFX system. - * You can copy, modify and distribute this file as you see fit. - * You do not need to publish your source modifications to this file. - * The only thing you are not permitted to do is to relicense it - * under a different license. - */ - -/** - * Copy this file into your project directory and rename it as gfxconf.h - * Edit your copy to turn on the GFX features you want to use. +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _GFXCONF_H #define _GFXCONF_H /* The operating system to use - one of these must be defined */ -//#define GFX_USE_OS_CHIBIOS FALSE -//#define GFX_USE_OS_WIN32 FALSE -//#define GFX_USE_OS_LINUX TRUE -//#define GFX_USE_OS_OSX FALSE +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE -/* GFX subsystems to turn on */ +/* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE -#define GFX_USE_TDISP FALSE #define GFX_USE_GWIN TRUE +#define GFX_USE_GINPUT TRUE #define GFX_USE_GEVENT TRUE #define GFX_USE_GTIMER TRUE -#define GFX_USE_GQUEUE TRUE -#define GFX_USE_GINPUT TRUE -#define GFX_USE_GADC FALSE -#define GFX_USE_GAUDIN FALSE -#define GFX_USE_GAUDOUT FALSE -#define GFX_USE_GMISC FALSE -/* Features for the GDISP subsystem */ +/* Features for the GDISP sub-system. */ #define GDISP_NEED_VALIDATION TRUE #define GDISP_NEED_CLIP TRUE #define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE TRUE -#define GDISP_NEED_ARC FALSE #define GDISP_NEED_CONVEX_POLYGON TRUE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_QUERY FALSE -#define GDISP_NEED_IMAGE FALSE -#define GDISP_NEED_MULTITHREAD FALSE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE -/* GDISP - builtin fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE - -/* GDISP image decoders */ -#define GDISP_NEED_IMAGE_NATIVE FALSE -#define GDISP_NEED_IMAGE_GIF FALSE -#define GDISP_NEED_IMAGE_BMP FALSE -#define GDISP_NEED_IMAGE_JPG FALSE -#define GDISP_NEED_IMAGE_PNG FALSE -#define GDISP_NEED_IMAGE_ACCOUNTING FALSE - -/* Optional image support that can be turned off */ -/* - #define GDISP_NEED_IMAGE_BMP_1 TRUE - #define GDISP_NEED_IMAGE_BMP_4 TRUE - #define GDISP_NEED_IMAGE_BMP_4_RLE TRUE - #define GDISP_NEED_IMAGE_BMP_8 TRUE - #define GDISP_NEED_IMAGE_BMP_8_RLE TRUE - #define GDISP_NEED_IMAGE_BMP_16 TRUE - #define GDISP_NEED_IMAGE_BMP_24 TRUE - #define GDISP_NEED_IMAGE_BMP_32 TRUE -*/ - -/* Features for the TDISP subsystem. */ -#define TDISP_NEED_MULTITHREAD FALSE +/* GDISP fonts to include */ +#define GDISP_INCLUDE_FONT_UI2 TRUE /* Features for the GWIN subsystem. */ #define GWIN_NEED_WINDOWMANAGER TRUE -#define GWIN_NEED_CONSOLE FALSE -#define GWIN_NEED_GRAPH FALSE #define GWIN_NEED_WIDGET TRUE -#define GWIN_NEED_BUTTON FALSE -#define GWIN_NEED_SLIDER FALSE -#define GWIN_NEED_CHECKBOX FALSE -#define GWIN_NEED_IMAGE FALSE -#define GWIN_NEED_RADIO FALSE #define GWIN_NEED_LIST TRUE -/* Features for the GEVENT subsystem. */ -#define GEVENT_ASSERT_NO_RESOURCE FALSE - -/* Features for the GTIMER subsystem. */ -/* NONE */ - -/* Features for the GQUEUE subsystem. */ -#define GQUEUE_NEED_ASYNC TRUE -#define GQUEUE_NEED_GSYNC FALSE -#define GQUEUE_NEED_FSYNC FALSE - /* Features for the GINPUT subsystem. */ #define GINPUT_NEED_MOUSE TRUE -#define GINPUT_NEED_KEYBOARD FALSE -#define GINPUT_NEED_TOGGLE FALSE -#define GINPUT_NEED_DIAL FALSE - -/* Features for the GADC subsystem. */ -/* NONE */ - -/* Features for the GAUDIN subsystem. */ -/* NONE */ - -/* Features for the GAUDOUT subsystem. */ -/* NONE */ - -/* Features for the GMISC subsystem. */ -#define GMISC_NEED_ARRAYOPS FALSE -#define GMISC_NEED_FASTTRIG FALSE -#define GMISC_NEED_FIXEDTRIG FALSE - -/* Optional Parameters for various subsystems */ -/* - #define GDISP_MAX_FONT_HEIGHT 16 - #define GEVENT_MAXIMUM_SIZE 32 - #define GEVENT_MAX_SOURCE_LISTENERS 32 - #define GTIMER_THREAD_WORKAREA_SIZE 512 - #define GADC_MAX_LOWSPEED_DEVICES 4 - #define GWIN_BUTTON_LAZY_RELEASE FALSE - #define GWIN_CONSOLE_USE_BASESTREAM FALSE - #define GWIN_CONSOLE_USE_FLOAT FALSE - #define GWIN_NEED_IMAGE_ANIMATION FALSE -*/ - -/* Optional Low Level Driver Definitions */ -/* - #define GDISP_USE_CUSTOM_BOARD FALSE - #define GDISP_SCREEN_WIDTH 320 - #define GDISP_SCREEN_HEIGHT 240 - #define GDISP_USE_FSMC - #define GDISP_USE_GPIO - #define TDISP_COLUMNS 16 - #define TDISP_ROWS 2 -*/ #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/list/main.c b/demos/modules/gwin/list/main.c index 21afa544..e99c2448 100644 --- a/demos/modules/gwin/list/main.c +++ b/demos/modules/gwin/list/main.c @@ -1,3 +1,32 @@ +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + #include "gfx.h" static GListener gl; @@ -32,7 +61,7 @@ int main(void) { // Set the widget defaults gwinSetDefaultFont(gdispOpenFont("UI2")); gwinSetDefaultStyle(&WhiteWidgetStyle, FALSE); - gdispClear(Red); + gdispClear(White); // Attach the mouse input gwinAttachMouse(0); diff --git a/demos/modules/gwin/radio/gfxconf.h b/demos/modules/gwin/radio/gfxconf.h index 4bb82816..0e41b7ae 100644 --- a/demos/modules/gwin/radio/gfxconf.h +++ b/demos/modules/gwin/radio/gfxconf.h @@ -1,6 +1,7 @@ /* * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,62 +30,35 @@ #ifndef _GFXCONF_H #define _GFXCONF_H -#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 TRUE -//#define GFX_USE_OS_POSIX TRUE +/* The operating system to use - one of these must be defined */ +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE #define GFX_USE_GWIN TRUE +#define GFX_USE_GINPUT TRUE #define GFX_USE_GEVENT TRUE #define GFX_USE_GTIMER TRUE -#define GFX_USE_GINPUT TRUE /* Features for the GDISP sub-system. */ -#define GDISP_NEED_VALIDATION TRUE -#define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_IMAGE TRUE -#define GDISP_NEED_MULTITHREAD TRUE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE +#define GDISP_NEED_VALIDATION TRUE +#define GDISP_NEED_CLIP TRUE +#define GDISP_NEED_CIRCLE TRUE +#define GDISP_NEED_TEXT TRUE -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE +/* GDISP fonts to include */ +#define GDISP_INCLUDE_FONT_UI2 TRUE -/* GDISP image decoders */ -#define GDISP_NEED_IMAGE_NATIVE FALSE -#define GDISP_NEED_IMAGE_GIF FALSE -#define GDISP_NEED_IMAGE_BMP FALSE -#define GDISP_NEED_IMAGE_JPG FALSE -#define GDISP_NEED_IMAGE_PNG FALSE - -/* Features for the GWIN sub-system. */ +/* Features for the GWIN subsystem. */ #define GWIN_NEED_WINDOWMANAGER TRUE -#define GWIN_NEED_CONSOLE FALSE -#define GWIN_NEED_GRAPH FALSE #define GWIN_NEED_WIDGET TRUE -#define GWIN_NEED_BUTTON FALSE -#define GWIN_NEED_SLIDER FALSE -#define GWIN_NEED_CHECKBOX FALSE -#define GWIN_NEED_LABEL FALSE -#define GWIN_NEED_IMAGE FALSE #define GWIN_NEED_RADIO TRUE -/* Features for the GINPUT sub-system. */ +/* Features for the GINPUT subsystem. */ #define GINPUT_NEED_MOUSE TRUE -#define GINPUT_NEED_TOGGLE FALSE -#define GINPUT_NEED_DIAL FALSE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/radio/main.c b/demos/modules/gwin/radio/main.c index c64b2068..b7504535 100644 --- a/demos/modules/gwin/radio/main.c +++ b/demos/modules/gwin/radio/main.c @@ -1,3 +1,32 @@ +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + #include "gfx.h" #define GROUP1 0 // this will be the first radio button group diff --git a/demos/modules/gwin/slider/gfxconf.h b/demos/modules/gwin/slider/gfxconf.h index af5eeaa8..5442c508 100644 --- a/demos/modules/gwin/slider/gfxconf.h +++ b/demos/modules/gwin/slider/gfxconf.h @@ -1,6 +1,7 @@ /* * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,62 +30,35 @@ #ifndef _GFXCONF_H #define _GFXCONF_H -#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 TRUE -//#define GFX_USE_OS_POSIX TRUE +/* The operating system to use - one of these must be defined */ +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE #define GFX_USE_GWIN TRUE +#define GFX_USE_GINPUT TRUE #define GFX_USE_GEVENT TRUE #define GFX_USE_GTIMER TRUE -#define GFX_USE_GINPUT TRUE /* Features for the GDISP sub-system. */ -#define GDISP_NEED_VALIDATION TRUE -#define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON FALSE -#define GDISP_NEED_SCROLL FALSE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_IMAGE TRUE -#define GDISP_NEED_MULTITHREAD TRUE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE +#define GDISP_NEED_VALIDATION TRUE +#define GDISP_NEED_CLIP TRUE +#define GDISP_NEED_CIRCLE TRUE +#define GDISP_NEED_TEXT TRUE -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_SMALL FALSE -#define GDISP_INCLUDE_FONT_LARGER FALSE -#define GDISP_INCLUDE_FONT_UI1 FALSE -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE +/* GDISP fonts to include */ +#define GDISP_INCLUDE_FONT_UI2 TRUE -/* GDISP image decoders */ -#define GDISP_NEED_IMAGE_NATIVE FALSE -#define GDISP_NEED_IMAGE_GIF FALSE -#define GDISP_NEED_IMAGE_BMP FALSE -#define GDISP_NEED_IMAGE_JPG FALSE -#define GDISP_NEED_IMAGE_PNG FALSE - -/* Features for the GWIN sub-system. */ +/* Features for the GWIN subsystem. */ #define GWIN_NEED_WINDOWMANAGER TRUE -#define GWIN_NEED_CONSOLE FALSE -#define GWIN_NEED_GRAPH FALSE #define GWIN_NEED_WIDGET TRUE -#define GWIN_NEED_BUTTON FALSE #define GWIN_NEED_SLIDER TRUE -#define GWIN_NEED_CHECKBOX FALSE -#define GWIN_NEED_LABEL FALSE -#define GWIN_NEED_IMAGE FALSE -#define GWIN_NEED_RADIO FALSE -/* Features for the GINPUT sub-system. */ +/* Features for the GINPUT subsystem. */ #define GINPUT_NEED_MOUSE TRUE -#define GINPUT_NEED_TOGGLE FALSE -#define GINPUT_NEED_DIAL FALSE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/slider/main.c b/demos/modules/gwin/slider/main.c index 4532ba01..ed936f12 100644 --- a/demos/modules/gwin/slider/main.c +++ b/demos/modules/gwin/slider/main.c @@ -1,3 +1,32 @@ +/* + * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu + * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + #include "gfx.h" static GListener gl; diff --git a/demos/modules/gwin/widgets/gfxconf.h b/demos/modules/gwin/widgets/gfxconf.h index 0bf8443a..ed6be366 100644 --- a/demos/modules/gwin/widgets/gfxconf.h +++ b/demos/modules/gwin/widgets/gfxconf.h @@ -1,6 +1,7 @@ /* * Copyright (c) 2012, 2013, Joel Bodenmann aka Tectu * Copyright (c) 2012, 2013, Andrew Hannam aka inmarket + * * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,62 +30,52 @@ #ifndef _GFXCONF_H #define _GFXCONF_H -//#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_WIN32 TRUE -//#define GFX_USE_OS_POSIX TRUE +/* The operating system to use - one of these must be defined */ +#define GFX_USE_OS_CHIBIOS FALSE +#define GFX_USE_OS_WIN32 FALSE +#define GFX_USE_OS_LINUX FALSE +#define GFX_USE_OS_OSX FALSE /* GFX sub-systems to turn on */ #define GFX_USE_GDISP TRUE #define GFX_USE_GWIN TRUE +#define GFX_USE_GINPUT TRUE #define GFX_USE_GEVENT TRUE #define GFX_USE_GTIMER TRUE -#define GFX_USE_GINPUT TRUE /* Features for the GDISP sub-system. */ -#define GDISP_NEED_VALIDATION TRUE -#define GDISP_NEED_CLIP TRUE -#define GDISP_NEED_TEXT TRUE -#define GDISP_NEED_CIRCLE TRUE -#define GDISP_NEED_ELLIPSE FALSE -#define GDISP_NEED_ARC FALSE -#define GDISP_NEED_CONVEX_POLYGON TRUE -#define GDISP_NEED_SCROLL TRUE -#define GDISP_NEED_PIXELREAD FALSE -#define GDISP_NEED_CONTROL FALSE -#define GDISP_NEED_IMAGE TRUE -#define GDISP_NEED_MULTITHREAD TRUE -#define GDISP_NEED_ASYNC FALSE -#define GDISP_NEED_MSGAPI FALSE +#define GDISP_NEED_VALIDATION TRUE +#define GDISP_NEED_CLIP TRUE +#define GDISP_NEED_CIRCLE TRUE +#define GDISP_NEED_TEXT TRUE +#define GDISP_NEED_SCROLL TRUE +#define GDISP_NEED_IMAGE TRUE -/* Builtin Fonts */ -#define GDISP_INCLUDE_FONT_UI2 TRUE -#define GDISP_NEED_ANTIALIAS FALSE +/* GDISP fonts to include */ +#define GDISP_INCLUDE_FONT_UI2 TRUE /* GDISP image decoders */ -#define GDISP_NEED_IMAGE_NATIVE FALSE #define GDISP_NEED_IMAGE_GIF TRUE -#define GDISP_NEED_IMAGE_BMP FALSE -#define GDISP_NEED_IMAGE_JPG FALSE -#define GDISP_NEED_IMAGE_PNG FALSE +#define GDISP_NEED_IMAGE_BMP TRUE -/* Features for the GWIN sub-system. */ +/* Features for the GWIN subsystem. */ #define GWIN_NEED_WINDOWMANAGER TRUE #define GWIN_NEED_CONSOLE TRUE #define GWIN_NEED_GRAPH TRUE #define GWIN_NEED_WIDGET TRUE +#define GWIN_NEED_LABEL TRUE #define GWIN_NEED_BUTTON TRUE #define GWIN_NEED_SLIDER TRUE #define GWIN_NEED_CHECKBOX TRUE -#define GWIN_NEED_LABEL TRUE #define GWIN_NEED_IMAGE TRUE #define GWIN_NEED_RADIO TRUE #define GWIN_NEED_LIST TRUE -#define GWIN_NEED_IMAGE_ANIMATION TRUE -#define GWIN_NEED_LIST_IMAGES TRUE -/* Features for the GINPUT sub-system. */ +/* Features for the GINPUT subsystem. */ #define GINPUT_NEED_MOUSE TRUE -#define GINPUT_NEED_TOGGLE FALSE -#define GINPUT_NEED_DIAL FALSE + +/* Optional parameters for various subsystems */ +#define GWIN_NEED_LIST_IMAGES TRUE #endif /* _GFXCONF_H */ + diff --git a/demos/modules/gwin/widgets/main.c b/demos/modules/gwin/widgets/main.c index dde955f3..2b14d79e 100644 --- a/demos/modules/gwin/widgets/main.c +++ b/demos/modules/gwin/widgets/main.c @@ -382,3 +382,4 @@ int main(void) { } return 0; } +