diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-04-27 19:24:15 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-04-27 19:24:15 +0200 |
commit | 181cec4348da40331b3e8ab365732c025ec149b2 (patch) | |
tree | e2e749be67c8253a8096aaf92aab9c51f1a17f7f /drv_generic.c | |
download | lcd4linux-181cec4348da40331b3e8ab365732c025ec149b2.tar.gz |
Import upstream version 0.11.0~svn1143
Diffstat (limited to 'drv_generic.c')
-rw-r--r-- | drv_generic.c | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/drv_generic.c b/drv_generic.c new file mode 100644 index 0000000..e725e04 --- /dev/null +++ b/drv_generic.c @@ -0,0 +1,115 @@ +/* $Id: drv_generic.c 840 2007-09-09 12:17:42Z michael $ + * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/drv_generic.c $ + * + * generic driver helper + * + * Copyright (C) 2006 Michael Reinelt <michael@reinelt.co.at> + * Copyright (C) 2006 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> + * + * This file is part of LCD4Linux. + * + * LCD4Linux 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 2, or (at your option) + * any later version. + * + * LCD4Linux 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, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* + * + * exported functions: + * + * drv_generic_init (void) + * initializes generic stuff and registers plugins + * + */ + + +#include "config.h" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include "debug.h" +#include "plugin.h" +#include "drv_generic.h" + +#ifdef WITH_DMALLOC +#include <dmalloc.h> +#endif + +/* these values are chars (text displays) or pixels (graphic displays) */ + +int LROWS = 0; /* layout size: rows */ +int LCOLS = 0; /* layout size: columns */ + +int DROWS = 4; /* display size: rows */ +int DCOLS = 20; /* display size: columns */ + +int XRES = 6; /* pixel widtht of one char */ +int YRES = 8; /* pixel height of one char */ + + +void (*drv_generic_blit) () = NULL; + + +static void my_drows(RESULT * result) +{ + double value = DROWS; + SetResult(&result, R_NUMBER, &value); +} + +static void my_dcols(RESULT * result) +{ + double value = DCOLS; + SetResult(&result, R_NUMBER, &value); +} + +static void my_xres(RESULT * result) +{ + double value = XRES; + SetResult(&result, R_NUMBER, &value); +} + +static void my_yres(RESULT * result) +{ + double value = YRES; + SetResult(&result, R_NUMBER, &value); +} + +static void my_lrows(RESULT * result) +{ + double value = LROWS; + SetResult(&result, R_NUMBER, &value); +} + +static void my_lcols(RESULT * result) +{ + double value = LCOLS; + SetResult(&result, R_NUMBER, &value); +} + +int drv_generic_init(void) +{ + + AddFunction("LCD::height", 0, my_drows); + AddFunction("LCD::width", 0, my_dcols); + + AddFunction("LCD::xres", 0, my_xres); + AddFunction("LCD::yres", 0, my_yres); + + AddFunction("Layout::height", 0, my_lrows); + AddFunction("Layout::width", 0, my_lcols); + + return 0; +} |