From 249a1b345f1064957a6fd187fcdfbbcd3c1fecad Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Fri, 11 Jan 2013 15:04:33 +0100 Subject: added tdisp demo --- demos/modules/gdisp/gdisp_text/gfxconf.h | 33 +++++++++++++++ demos/modules/gdisp/gdisp_text/main.c | 72 ++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 demos/modules/gdisp/gdisp_text/gfxconf.h create mode 100644 demos/modules/gdisp/gdisp_text/main.c (limited to 'demos/modules/gdisp/gdisp_text') diff --git a/demos/modules/gdisp/gdisp_text/gfxconf.h b/demos/modules/gdisp/gdisp_text/gfxconf.h new file mode 100644 index 00000000..a928806b --- /dev/null +++ b/demos/modules/gdisp/gdisp_text/gfxconf.h @@ -0,0 +1,33 @@ +/** + * 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. + */ + +#ifndef _GFXCONF_H +#define _GFXCONF_H + +/* GFX sub-systems to turn on */ +#define GFX_USE_GDISP TRUE +#define GFX_USE_GWIN FALSE +#define GFX_USE_GEVENT FALSE +#define GFX_USE_GTIMER FALSE +#define GFX_USE_GINPUT FALSE + +/* 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 + +#endif /* _GFXCONF_H */ diff --git a/demos/modules/gdisp/gdisp_text/main.c b/demos/modules/gdisp/gdisp_text/main.c new file mode 100644 index 00000000..4dc45f71 --- /dev/null +++ b/demos/modules/gdisp/gdisp_text/main.c @@ -0,0 +1,72 @@ +/* + ChibiOS/GFX - Copyright (C) 2012 + Joel Bodenmann aka Tectu + + This file is part of ChibiOS/GFX. + + ChibiOS/GFX is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/GFX is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "ch.h" +#include "hal.h" +#include "gfx.h" + +int main(void) { + coord_t width, height; + font_t font1, font2, font3, font4; + const char *msg; + + halInit(); + chSysInit(); + + /* Initialize and clear the display */ + gdispInit(); + gdispClear(Black); + + // Get the screen size + width = gdispGetWidth(); + height = gdispGetHeight(); + + // 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) { + chThdSleepMilliseconds(500); + } +} + -- cgit v1.2.3