/* $Id: widget_text.h,v 1.10 2006/08/13 18:14:03 harbaum Exp $ * * simple text widget handling * * Copyright (C) 2003, 2004 Michael Reinelt * Copyright (C) 2004 The LCD4Linux Team * * 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. * * * $Log: widget_text.h,v $ * Revision 1.10 2006/08/13 18:14:03 harbaum * Added KVV plugin * * Revision 1.9 2006/08/13 11:38:20 reinelt * text widget uses dynamic properties * * Revision 1.8 2006/08/13 09:53:10 reinelt * dynamic properties added (used by 'style' of text widget) * * Revision 1.7 2005/05/08 04:32:45 reinelt * CodingStyle added and applied * * Revision 1.6 2005/01/18 06:30:24 reinelt * added (C) to all copyright statements * * Revision 1.5 2004/06/26 12:05:00 reinelt * * uh-oh... the last CVS log message messed up things a lot... * * Revision 1.4 2004/06/26 09:27:21 reinelt * * added '-W' to CFLAGS * changed all C++ comments to C ones * cleaned up a lot of signed/unsigned mistakes * * Revision 1.3 2004/03/06 20:31:16 reinelt * Complete rewrite of the evaluator to get rid of the code * from mark Morley (because of license issues). * The new Evaluator does a pre-compile of expressions, and * stores them in trees. Therefore it should be reasonable faster... * * Revision 1.2 2004/01/15 07:47:03 reinelt * debian/ postinst and watch added (did CVS forget about them?) * evaluator: conditional expressions (a?b:c) added * text widget nearly finished * * Revision 1.1 2004/01/15 04:29:45 reinelt * moved lcd4linux.conf.sample to *.old * lcd4linux.conf.sample with new layout * new plugins 'loadavg' and 'meminfo' * text widget have pre- and postfix * */ #ifndef _WIDGET_TEXT_H_ #define _WIDGET_TEXT_H_ #include "property.h" typedef enum { ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT, ALIGN_MARQUEE } TEXT_ALIGN; typedef struct WIDGET_TEXT { PROPERTY prefix; /* label on the left side */ PROPERTY postfix; /* label on the right side */ PROPERTY value; /* value of text widget */ PROPERTY style; /* text style (plain/bold/slant) */ char *string; /* formatted value */ char *buffer; /* string with 'width+1' bytes allocated */ int width; /* field width */ int precision; /* number of digits after the decimal point */ TEXT_ALIGN align; /* alignment: L(eft), C(enter), R(ight), M(arquee) */ int update; /* update interval */ int scroll; /* marquee starting point */ int speed; /* marquee scrolling speed */ } WIDGET_TEXT; extern WIDGET_CLASS Widget_Text; #endif /a> 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
dnl Process this file with autoconf to produce a configure script.

AC_INIT(libconfig, 1.4.8, hyperrealm@gmail.com, libconfig,
	[http://www.hyperrealm.com/main.php?s=libconfig])
AC_CONFIG_AUX_DIR([aux-build])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(ac_config.h)

AC_MSG_NOTICE([libconfig - made with pride in California])
sleep 3

AC_DEFINE_UNQUOTED(TARGET, "${target}", [Configured target name.])

# Enable GNU extensions.
AC_GNU_SOURCE

LT_INIT()

dnl Checks for programs.
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CXX
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL

AM_PROG_LEX
if test Z"$LEX" != Zflex; then
cat <<EOF
*******************************************************************
You do not seem to have flex. While flex is not required to build
libconfig, you may need it to regenerate the lexer if you change
the scanner.l file. Flex 2.5.33 or newer is recommended.
*******************************************************************
EOF
fi

AC_PROG_YACC
if test Z"$YACC" != "Zbison -y"; then
cat <<EOF
*******************************************************************
You do not seem to have bison. While bison is not required to build
libconfig, you may need it to regenerate the parser if you change
the grammar.y file.
*******************************************************************
EOF
fi

AC_MSG_CHECKING([for compiler switch to enable full C/C++ warnings]);

dnl Checks for libraries

dnl Enable warnings, if we can determine an appropriate switch...
case "${CC}" in

gcc)
	warn_c_sw="-Wall -Wshadow -Wextra -Wdeclaration-after-statement -Wno-unused-parameter"
	warn_cxx_sw="-Wall -Wshadow -Wextra -Wno-unused-parameter";;
*)
	warn_cxx_sw=""
	warn_c_sw="";;
esac

if test -n "${warn_c_sw}";
then
	CFLAGS="${CFLAGS} ${warn_c_sw}";
	CXXFLAGS="${CXXFLAGS} ${warn_cxx_sw}";
	AC_MSG_RESULT([${warn_c_sw}, ${warn_cxx_sw}])
else
	AC_MSG_RESULT([(cannot determine)])
fi;


dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(unistd.h stdint.h xlocale.h)

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST

dnl Checks for functions

AC_CHECK_FUNCS([newlocale uselocale freelocale])

dnl Package options

docxx=yes

AC_ARG_ENABLE(cxx,
AS_HELP_STRING([--disable-cxx], [Disable building of the C++ library]),
[if test "$enableval" = "no"; then docxx="no"; fi],
[
docxx=yes
]
)

AM_CONDITIONAL(BUILDCXX, test x$docxx = xyes)

doexamples=yes

AC_ARG_ENABLE(examples,
AS_HELP_STRING([--disable-examples], [Disable building of the example programs]),
[if test "$enableval" = "no"; then doexamples="no"; fi],
[
doexamples=yes
]
)

AM_CONDITIONAL(BUILDEXAMPLES, test x$doexamples = xyes)

dnl Check for MinGW. Workaround for libtool's DLL_EXPORT stupidity.

case "$target" in
	*-*-cygwin* | *-*-mingw*)
		gnuwin=yes;;
esac

AM_CONDITIONAL(GNU_WIN, test x$gnuwin = xyes)

dnl Checks for library functions.

AC_OUTPUT(
	Makefile
	lib/Makefile
	lib/libconfig.pc
	lib/libconfig++.pc
	doc/Makefile
	examples/Makefile
	examples/c/Makefile
	examples/c++/Makefile
	tinytest/Makefile
	tests/Makefile
	libconfig.spec
	)