gtk-engines-2.20.2/0000755000175000017500000000000011451420652011011 500000000000000gtk-engines-2.20.2/README0000644000175000017500000000737011445424675011634 00000000000000gtk-engines =========== gtk-engines provides a central location for commonly used GTK+ engines. It currently supplies several engines and default themes for those which have one. Clearlooks The clearlooks engine was originally written by Richard Stellingwerff and Daniel Borgmann based on the Bluecurve engine. It became very popular and was adopted as the default theme in GNOME 2.12. Since then a lot of people have worked on it, and today it is a modular engine providing multiple styles such as glossy and gummy. There are some popular forks out there, the largest is probably the UbuntuLooks engine currently used for the default Ubuntu theme. Crux The engine created for the once popular theme by Eazel, Inc. Unfortunately long without maintenance it is no longer as popular or considered as usable as it once was. It has been rewritten by Thomas Wood and now provides a more modern style featuring the Tango colors. Glide A new engine written by Andrew Johnson for the Glider theme. HC The High Contrast engine which is targeted for usability themes, such as the GNOME HighContrast theme. Industrial Originally developed by Ximian, Inc. as the default engine for its desktop. Industrial provides a simple and consistent appearance for applications. LUA The LUA engine is an experimental engine that loads lua scripts to draw the interface. Because of its experimental status the engine is not compiled by default. Mist A minimalist engine designed to provide a simple UI experience. Redmond An engine and theme designed to mimic the appearance of another well known OS. Thinice A once highly popular engine with thin edges and theme of Icy Colors, providing a simple mostly clean appearance many find satisfying. Requirements ============ To compile this package, you must have: GTK+, version 2.12.0 or later http://www.gtk.org/ ftp://ftp.gtk.org/pub/gtk/ Sources ======= The source code of gtk-engines is available from: http://ftp.acc.umu.se/pub/GNOME/sources/gtk-engines/ The development version is available from gtk-engines module of the GNOME subversion repository: http://svn.gnome.org Bugs ==== GTK+ engines are a vital part of the desktop and should be very stable. A bug in the engine can easily cause random application crashes and users may lose work. Because of this gtk-engines has a test suite which torture tests the engines and checks for some other issues. While we strive to create very stable software, bugs do crop up regularly. Should you find any problem, whether it is a visual or a more serious issue please fill them in the GNOME bugzilla in the gtk-engines product. http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines Installation ============ ./configure make [ become root ] make install If you configured GTK+ in a non-default prefix, you should configure this package the same way. For instance: ./configure --prefix=/opt/gtk+ If you need to install this package in a different prefix from GTK+, then you'll have to set your GTK_PATH environment variable to point to the installed prefix. For instance, if this package was configured with: ./configure --prefix=/home/john.doe/gtk-engines/ Then you'd set: GTK_PATH=/home/john.doe/gtk-engines/lib/gtk-2.0/ export GTK_PATH This will allow GTK+ to find the newly installed theme engines. To use the default themes (installed into $prefix/share/themes), you'll need to copy or link them into your ~/.themes directory. If you need to skip an engine/theme configure with --disable-. A --disable-all option is included so that it is possible to enable building of engines selectively with --enable-. ==== Andrew Johnson Benjamin Berg Thomas Wood gtk-engines-2.20.2/configure.ac0000644000175000017500000002045011451353475013230 00000000000000 AC_INIT([gtk-engines], [2.20.2]) AC_CONFIG_SRCDIR([README]) AM_INIT_AUTOMAKE # Use AM_SILENT_RULES if present m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) dnl Initialize maintainer mode AM_MAINTAINER_MODE AC_PROG_CC AC_PROG_INSTALL AC_PROG_MAKE_SET AM_PROG_CC_C_O dnl Initialize libtool AM_DISABLE_STATIC AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL dnl Initialize intltool AC_PROG_INTLTOOL([0.31.0]) GETTEXT_PACKAGE=gtk-engines AC_SUBST([GETTEXT_PACKAGE]) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) AM_GLIB_GNU_GETTEXT AC_ARG_ENABLE(all, [ --disable-all skip all engines/themes by default], [defaultval=$enableval], [defaultval="yes"]) AC_ARG_ENABLE(clearlooks, [ --disable-clearlooks skip ClearLooks engine/theme], [clearlooks=$enableval], [clearlooks="$defaultval"]) AC_ARG_ENABLE(crux, [ --disable-crux skip Crux engine/theme], [crux=$enableval], [crux="$defaultval"]) AC_ARG_ENABLE(hc, [ --disable-hc skip HC(high contrast) engine], [hc=$enableval], [hc="$defaultval"]) AC_ARG_ENABLE(industrial, [ --disable-industrial skip Industrial engine/theme], [industrial=$enableval], [industrial="$defaultval"]) AC_ARG_ENABLE(mist, [ --disable-mist skip Mist engine/theme], [mist=$enableval], [mist="$defaultval"]) AC_ARG_ENABLE(redmond, [ --disable-redmond skip Redmond engine/theme], [redmond=$enableval], [redmond="$defaultval"]) AC_ARG_ENABLE(glide, [ --disable-glide skip Glide engine], [glide=$enableval], [glide="$defaultval"]) AC_ARG_ENABLE(thinice, [ --disable-thinice skip ThinIce engine/theme], [thinice=$enableval], [thinice="$defaultval"]) AC_ARG_ENABLE(lua, [ --enable-lua enable Lua engine], [lua=$enableval], [lua="no"]) AC_ARG_ENABLE(animation, [ --enable-animation compile clearlooks with animation support], [animation=$enableval], [animation="no"]) AC_ARG_ENABLE(widget_checks, [ --disable-widget-checks disable superfluous widget checks (needs updated themes)], [widget_checks=$enableval], [widget_checks="yes"]) AC_ARG_ENABLE(development, [ --enable-development Enable any development warnings/incomplete code], [development=$enableval], [development="no"]) AC_ARG_ENABLE(paranoia, [ --enable-paranoia use wall, werror, ansi, pedantic compiler flags], [paranoia=$enableval], [paranoia="no"]) AC_ARG_ENABLE(deprecated, [ --disable-deprecated disable deprecated functions in gtk et al], [deprecated=$enableval], [deprecated="no"]) AC_ARG_ENABLE(schemas, [ --disable-schema disable engine schemas], [schemas=$enableval], [schemas="yes"]) AC_ARG_WITH(system-lua, [ --with-system-lua link with system Lua library], [system_lua=$withval], [system_lua="no"]) AM_CONDITIONAL([SYSTEM_LUA], [test x$system_lua = xyes]) BUILD_ENGINES="" BUILD_THEMES="" BUILD_SCHEMAS="" if test $clearlooks = "yes"; then BUILD_ENGINES="$BUILD_ENGINES clearlooks" BUILD_THEMES="$BUILD_THEMES Clearlooks" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS clearlooks.xml" fi fi if test $crux = "yes"; then BUILD_ENGINES="$BUILD_ENGINES crux" BUILD_THEMES="$BUILD_THEMES Crux" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS crux-engine.xml" fi fi if test $hc = "yes"; then BUILD_ENGINES="$BUILD_ENGINES hc" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS hcengine.xml" fi fi if test $industrial = "yes"; then BUILD_ENGINES="$BUILD_ENGINES industrial" BUILD_THEMES="$BUILD_THEMES Industrial" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS industrial.xml" fi fi if test $mist = "yes"; then BUILD_ENGINES="$BUILD_ENGINES mist" BUILD_THEMES="$BUILD_THEMES Mist" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS mist.xml" fi fi if test $redmond = "yes"; then BUILD_ENGINES="$BUILD_ENGINES redmond" BUILD_THEMES="$BUILD_THEMES Redmond" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS redmond95.xml" fi fi if test $glide = "yes"; then BUILD_ENGINES="$BUILD_ENGINES glide" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS glide.xml" fi fi if test $thinice = "yes"; then BUILD_ENGINES="$BUILD_ENGINES thinice" BUILD_THEMES="$BUILD_THEMES ThinIce" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS thinice.xml" fi fi if test $lua = "yes"; then BUILD_ENGINES="$BUILD_ENGINES lua" fi # Don't forget to update the README when changing this. PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.12.0,, AC_MSG_ERROR([GTK+-2.12 is required to compile gtk-engines])) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0` AC_SUBST(GTK_VERSION) if test $system_lua = "yes"; then PKG_CHECK_MODULES(LUA, lua,, AC_MSG_ERROR([--with-system-lua specified but no system liblua found])) AC_SUBST(LUA_CFLAGS) AC_SUBST(LUA_LIBS) fi AC_SUBST(BUILD_ENGINES) AC_SUBST(BUILD_THEMES) AC_SUBST(BUILD_SCHEMAS) if test $animation = "yes"; then AC_DEFINE_UNQUOTED(HAVE_ANIMATION, 1, [Defines whether to compile with animation support]) fi if test $widget_checks = "yes"; then AC_DEFINE_UNQUOTED(ENABLE_WIDGET_CHECKS, 1, [Defines whether to enable runtime widget checks as a fallback to hints from the theme.]) fi DEVELOPMENT_CFLAGS= if test $development = "yes"; then DEVELOPMENT_CFLAGS+=" -DDEVELOPMENT" fi if test $paranoia = "yes"; then DEVELOPMENT_CFLAGS+=" -Wall -Werror -ansi -pedantic" fi if test $deprecated = "yes"; then DEVELOPMENT_CFLAGS+=" -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" fi AC_SUBST(DEVELOPMENT_CFLAGS) AM_CONFIG_HEADER([engines/support/config.h]) AC_CONFIG_FILES([ Makefile test/Makefile engines/Makefile engines/support/Makefile engines/clearlooks/Makefile engines/crux/Makefile engines/hc/Makefile engines/industrial/Makefile engines/mist/Makefile engines/redmond/Makefile engines/glide/Makefile engines/thinice/Makefile engines/lua/Makefile themes/Makefile themes/Clearlooks/Makefile themes/Clearlooks/gtk-2.0/Makefile themes/Crux/Makefile themes/Crux/gtk-2.0/Makefile themes/Industrial/Makefile themes/Industrial/gtk-2.0/Makefile themes/Mist/Makefile themes/Mist/gtk-2.0/Makefile themes/Redmond/Makefile themes/Redmond/gtk-2.0/Makefile themes/ThinIce/Makefile themes/ThinIce/gtk-2.0/Makefile gtk-engines-2.pc gtk-engines.spec po/Makefile.in schema/Makefile schema/clearlooks.xml.in schema/crux-engine.xml.in schema/glide.xml.in schema/hcengine.xml.in schema/industrial.xml.in schema/mist.xml.in schema/redmond95.xml.in schema/thinice.xml.in ]) AC_OUTPUT echo echo "Special Flags:" echo -n " Development Code - " if test "$development" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Paranoia Flags - " if test "$paranoia" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Disable Deprecated - " if test "$deprecated" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Engine Schemas - " if test "$schemas" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Fallback Widget Checks - " if test "$widget_checks" = "yes"; then echo "Enabled" else echo "Disabled -- Warning this WILL break themes that are not updated." fi echo echo "Engines and Themes:" echo -n " ClearLooks - " if test "$clearlooks" = "yes"; then echo -n "Including" if test $animation = "yes"; then echo " with animation support" else echo " without animation support" fi else echo "Skipping" fi echo -n " Crux - " if test "$crux" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " HC - " if test "$hc" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Industrial - " if test "$industrial" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Mist - " if test "$mist" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Redmond - " if test "$redmond" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Glide - " if test "$glide" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " ThinIce - " if test "$thinice" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Lua - " if test "$lua" = "yes"; then echo "Including" else echo "Skipping" fi echo "" gtk-engines-2.20.2/aclocal.m40000644000175000017500000125512011451355757012614 00000000000000# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, [m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 1995-2002 Free Software Foundation, Inc. # Copyright (C) 2001-2003,2004 Red Hat, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # # Macro to add for using GNU gettext. # Ulrich Drepper , 1995, 1996 # # Modified to never use included libintl. # Owen Taylor , 12/15/1998 # # Major rework to remove unused code # Owen Taylor , 12/11/2002 # # Added better handling of ALL_LINGUAS from GNU gettext version # written by Bruno Haible, Owen Taylor 5/30/3002 # # Modified to require ngettext # Matthias Clasen 08/06/2004 # # We need this here as well, since someone might use autoconf-2.5x # to configure GLib then an older version to configure a package # using AM_GLIB_GNU_GETTEXT AC_PREREQ(2.53) dnl dnl We go to great lengths to make sure that aclocal won't dnl try to pull in the installed version of these macros dnl when running aclocal in the glib directory. dnl m4_copy([AC_DEFUN],[glib_DEFUN]) m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl dnl At the end, if we're not within glib, we'll define the public dnl definitions in terms of our private definitions. dnl # GLIB_LC_MESSAGES #-------------------- glib_DEFUN([GLIB_LC_MESSAGES], [AC_CHECK_HEADERS([locale.h]) if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi fi]) # GLIB_PATH_PROG_WITH_TEST #---------------------------- dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) # GLIB_WITH_NLS #----------------- glib_DEFUN([GLIB_WITH_NLS], dnl NLS is obligatory [USE_NLS=yes AC_SUBST(USE_NLS) gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= AC_CHECK_HEADER(libintl.h, [gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, [AC_TRY_LINK([ #include ], [return !ngettext ("","", 1)], gt_cv_func_ngettext_libc=yes, gt_cv_func_ngettext_libc=no) ]) if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return !dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CHECK_FUNCS(bind_textdomain_codeset) fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dgettext, gt_cv_func_dgettext_libintl=yes)])]) if test "$gt_cv_func_dgettext_libintl" != "yes" ; then AC_MSG_CHECKING([if -liconv is needed to use gettext]) AC_MSG_RESULT([]) AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv], :,-liconv)], :,-liconv) fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then AC_DEFINE(HAVE_GETTEXT,1, [Define if the GNU gettext() function is already present or preinstalled.]) GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" AC_CHECK_FUNCS(dcgettext) MSGFMT_OPTS= AC_MSG_CHECKING([if msgfmt accepts -c]) GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" ], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) AC_SUBST(MSGFMT_OPTS) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr], [CATOBJEXT=.gmo DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share and dnl and CATOBJEXT=.gmo in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [CATOBJEXT=.gmo DATADIRNAME=share], [CATOBJEXT=.mo DATADIRNAME=lib]) ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac]) LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi ]) if test "$gt_cv_have_gettext" = "yes" ; then AC_DEFINE(ENABLE_NLS, 1, [always defined to indicate that i18n is enabled]) fi dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is not GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po AC_OUTPUT_COMMANDS( [case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac]) dnl These rules are solely for the distribution goal. While doing this dnl we only have to keep exactly one list of the available catalogs dnl in configure.in. for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done dnl Make all variables we use known to autoconf. AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) AC_SUBST(DATADIRNAME) AC_SUBST(GMOFILES) AC_SUBST(INSTOBJEXT) AC_SUBST(INTLLIBS) AC_SUBST(PO_IN_DATADIR_TRUE) AC_SUBST(PO_IN_DATADIR_FALSE) AC_SUBST(POFILES) AC_SUBST(POSUB) ]) # AM_GLIB_GNU_GETTEXT # ------------------- # Do checks necessary for use of gettext. If a suitable implementation # of gettext is found in either in libintl or in the C library, # it will set INTLLIBS to the libraries needed for use of gettext # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() # on various variables needed by the Makefile.in.in installed by # glib-gettextize. dnl glib_DEFUN([GLIB_GNU_GETTEXT], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_HEADER_STDC])dnl GLIB_LC_MESSAGES GLIB_WITH_NLS if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else AC_MSG_CHECKING(for catalogs to be installed) NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS AC_MSG_RESULT($LINGUAS) fi dnl Construct list of names of catalog files to be constructed. if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) dnl Generate list of files to be processed by xgettext which will dnl be included in po/Makefile. test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ]) # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) # ------------------------------- # Define VARIABLE to the location where catalog files will # be installed by po/Makefile. glib_DEFUN([GLIB_DEFINE_LOCALEDIR], [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" glib_save_datarootdir="$datarootdir" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix datarootdir=`eval echo "${datarootdir}"` if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" datarootdir="$glib_save_datarootdir" AC_DEFINE_UNQUOTED($1, "$localedir", [Define the location where the catalogs will be installed]) ]) dnl dnl Now the definitions that aclocal will find dnl ifdef(glib_configure_in,[],[ AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) ])dnl # GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) # # Create a temporary file with TEST-FILE as its contents and pass the # file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with # 0 and perform ACTION-IF-FAIL for any other exit status. AC_DEFUN([GLIB_RUN_PROG], [cat >conftest.foo <<_ACEOF $2 _ACEOF if AC_RUN_LOG([$1 conftest.foo]); then m4_ifval([$3], [$3], [:]) m4_ifvaln([$4], [else $4])dnl echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD fi]) dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 40 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [ AC_PREREQ([2.50])dnl AC_REQUIRE([AM_NLS])dnl case "$am__api_version" in 1.[01234]) AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) ;; *) ;; esac if test -n "$1"; then AC_MSG_CHECKING([for intltool >= $1]) INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` ] AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) fi AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) fi INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' _IT_SUBST(INTLTOOL_DESKTOP_RULE) _IT_SUBST(INTLTOOL_DIRECTORY_RULE) _IT_SUBST(INTLTOOL_KEYS_RULE) _IT_SUBST(INTLTOOL_PROP_RULE) _IT_SUBST(INTLTOOL_OAF_RULE) _IT_SUBST(INTLTOOL_PONG_RULE) _IT_SUBST(INTLTOOL_SERVER_RULE) _IT_SUBST(INTLTOOL_SHEET_RULE) _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) _IT_SUBST(INTLTOOL_UI_RULE) _IT_SUBST(INTLTOOL_XAM_RULE) _IT_SUBST(INTLTOOL_KBD_RULE) _IT_SUBST(INTLTOOL_XML_RULE) _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) _IT_SUBST(INTLTOOL_CAVES_RULE) _IT_SUBST(INTLTOOL_SCHEMAS_RULE) _IT_SUBST(INTLTOOL_THEME_RULE) _IT_SUBST(INTLTOOL_SERVICE_RULE) _IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) AC_PATH_PROG(MSGMERGE, msgmerge) AC_PATH_PROG(MSGFMT, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found]) fi AC_MSG_CHECKING([for perl >= 5.8.1]) $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then AC_MSG_ERROR([perl 5.8.1 is required for intltool]) else IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then AC_MSG_RESULT([ok]) else AC_MSG_ERROR([XML::Parser perl module is required for intltool]) fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr]])], [DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share dnl in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [DATADIRNAME=share], [DATADIRNAME=lib]) ;; *) [DATADIRNAME=lib] ;; esac]) fi AC_SUBST(DATADIRNAME) IT_PO_SUBDIR([po]) ]) # IT_PO_SUBDIR(DIRNAME) # --------------------- # All po subdirs have to be declared with this macro; the subdir "po" is # declared by IT_PROG_INTLTOOL. # AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. dnl dnl The following CONFIG_COMMANDS should be executed at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" >"$1/stamp-it.tmp" [sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" ] [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.in" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: # AC_DEFUN([AC_PROG_INTLTOOL], ...) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool 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 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 56 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl _LT_PROG_ECHO_BACKSLASH case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\[$]0 --fallback-echo"')dnl " lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` ;; esac _LT_OUTPUT_LIBTOOL_INIT ]) # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) cat >"$CONFIG_LT" <<_LTEOF #! $SHELL # Generated by $as_me. # Run this file to recreate a libtool stub with the current configuration. lt_cl_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2008 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. if test "$no_create" != yes; then lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) fi ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_XSI_SHELLFNS sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES # -------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(whole_archive_flag_spec, $1)='' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX # ----------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)]) $1 AC_DIVERT_POP ])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. m4_defun([_LT_PROG_ECHO_BACKSLASH], [_LT_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac ECHO=${lt_ECHO-echo} if test "X[$]1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then # Yippee, $ECHO works! : else # Restart under the correct shell. exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF [$]* _LT_EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$lt_ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if { echo_test_string=`eval $cmd`; } 2>/dev/null && { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null then break fi done fi if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$ECHO" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. ECHO='print -r' elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} else # Try using printf. ECHO='printf %s\n' if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL ECHO="$CONFIG_SHELL [$]0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$CONFIG_SHELL [$]0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "[$]0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} else # Oops. We lost completely, so just stick with echo. ECHO=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi AC_SUBST(lt_ECHO) ]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that does not interpret backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [AC_CHECK_TOOL(AR, ar, false) test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1]) AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[[3-9]]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method == "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_TAGVAR(ld_shlibs, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE(int foo(void) {}, _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' ) LDFLAGS="$save_LDFLAGS" else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then _LT_TAGVAR(archive_cmds_need_lc, $1)=no else _LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], [[If ld is used when linking, flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [fix_srcfile_path], [1], [Fix the shell variable $srcfile for the compiler]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_PROG_CXX # ------------ # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ # compiler, we have our own version here. m4_defun([_LT_PROG_CXX], [ pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) AC_PROG_CXX if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_CXX dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_CXX], []) # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [AC_REQUIRE([_LT_PROG_CXX])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[[12]]*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ]) dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_PROG_F77 # ------------ # Since AC_PROG_F77 is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_F77], [ pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) AC_PROG_F77 if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_F77 dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_F77], []) # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_REQUIRE([_LT_PROG_F77])dnl AC_LANG_PUSH(Fortran 77) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${F77-"f77"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_PROG_FC # ----------- # Since AC_PROG_FC is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_FC], [ pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) AC_PROG_FC if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_FC dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_FC], []) # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_REQUIRE([_LT_PROG_FC])dnl AC_LANG_PUSH(Fortran) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${FC-"f95"} compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC="$lt_save_CC" ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC= CC=${RC-"windres"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC="$lt_save_CC" ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_XSI_SHELLFNS # --------------------- # Bourne and XSI compatible variants of some useful shell functions. m4_defun([_LT_PROG_XSI_SHELLFNS], [case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $[*] )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } dnl func_dirname_and_basename dnl A portable version of this function is already defined in general.m4sh dnl so there is no need for it here. # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[[^=]]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$[@]"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]+=\$[2]" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]=\$$[1]\$[2]" } _LT_EOF ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [0], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) # ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # Generated from ltversion.in. # serial 3017 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.2.6b]) m4_define([LT_PACKAGE_REVISION], [1.3017]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.6b' macro_revision='1.3017' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 4 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) # nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # This program 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 of the License, or # (at your option) any later version. # # This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.11.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 10 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless `enable' is passed literally. # For symmetry, `disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful (and sometimes confusing) to the casual installer], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # (`yes' being less verbose, `no' or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [ --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0')]) case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR gtk-engines-2.20.2/Makefile.am0000644000175000017500000000325511446654310012776 00000000000000SUBDIRS = engines themes test schema po DIST_SUBDIRS = $(SUBDIRS) EXTRA_DIST = \ gtk-engines.doap \ autogen.sh \ gtk-engines-2.pc.in \ gtk-engines.spec.in \ gtk-engines.spec \ intltool-extract.in \ intltool-merge.in \ intltool-update.in DISTCLEANFILES = \ intltool-extract \ intltool-merge \ intltool-update # We have the config.h file somewhere else currently, which git.mk does not # quite handle. GITIGNOREFILES = \ $(srcdir)/engines/support/config.h \ $(srcdir)/engines/support/stamp-h1 MAINTAINERCLEANFILES = \ $(srcdir)/INSTALL \ $(srcdir)/aclocal.m4 \ $(srcdir)/autoscan.log \ $(srcdir)/compile \ $(srcdir)/engines/support/config.h.in \ $(srcdir)/config.guess \ $(srcdir)/config.sub \ $(srcdir)/configure.scan \ $(srcdir)/depcomp \ $(srcdir)/install-sh \ $(srcdir)/ltmain.sh \ $(srcdir)/missing \ $(srcdir)/mkinstalldirs \ $(srcdir)/omf.make \ $(srcdir)/xmldocs.make \ $(srcdir)/gtk-doc.make \ $(srcdir)/ChangeLog \ `find "$(srcdir)" -type f -name Makefile.in -print` pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gtk-engines-2.pc test: all cd test && $(MAKE) $(AM_MAKEFLAGS) test dist-hook: @if test -d "$(srcdir)/.git"; \ then \ echo Creating ChangeLog && \ ( cd "$(top_srcdir)" && \ echo '# Generated by Makefile. Do not edit.'; echo; \ $(top_srcdir)/missing --run git log --stat ) > ChangeLog.tmp \ && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \ || ( rm -f ChangeLog.tmp ; \ echo Failed to generate ChangeLog >&2 ); \ else \ echo A git clone is required to generate a ChangeLog >&2; \ fi rpm : dist rpmbuild --nodeps -ta $(PACKAGE)-$(VERSION).tar.gz @rm -f $(PACKAGE)-$(VERSION).tar.gz -include $(top_srcdir)/git.mk gtk-engines-2.20.2/Makefile.in0000644000175000017500000006532411451355761013020 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/gtk-engines-2.pc.in \ $(srcdir)/gtk-engines.spec.in $(top_srcdir)/configure AUTHORS \ COPYING ChangeLog INSTALL NEWS compile config.guess config.sub \ depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = gtk-engines-2.pc gtk-engines.spec CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(pkgconfigdir)" DATA = $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d "$(distdir)" \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr "$(distdir)"; }; } am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = engines themes test schema po DIST_SUBDIRS = $(SUBDIRS) EXTRA_DIST = \ gtk-engines.doap \ autogen.sh \ gtk-engines-2.pc.in \ gtk-engines.spec.in \ gtk-engines.spec \ intltool-extract.in \ intltool-merge.in \ intltool-update.in DISTCLEANFILES = \ intltool-extract \ intltool-merge \ intltool-update # We have the config.h file somewhere else currently, which git.mk does not # quite handle. GITIGNOREFILES = \ $(srcdir)/engines/support/config.h \ $(srcdir)/engines/support/stamp-h1 MAINTAINERCLEANFILES = \ $(srcdir)/INSTALL \ $(srcdir)/aclocal.m4 \ $(srcdir)/autoscan.log \ $(srcdir)/compile \ $(srcdir)/engines/support/config.h.in \ $(srcdir)/config.guess \ $(srcdir)/config.sub \ $(srcdir)/configure.scan \ $(srcdir)/depcomp \ $(srcdir)/install-sh \ $(srcdir)/ltmain.sh \ $(srcdir)/missing \ $(srcdir)/mkinstalldirs \ $(srcdir)/omf.make \ $(srcdir)/xmldocs.make \ $(srcdir)/gtk-doc.make \ $(srcdir)/ChangeLog \ `find "$(srcdir)" -type f -name Makefile.in -print` pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gtk-engines-2.pc all: all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): gtk-engines-2.pc: $(top_builddir)/config.status $(srcdir)/gtk-engines-2.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ gtk-engines.spec: $(top_builddir)/config.status $(srcdir)/gtk-engines.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @$(am__cd) '$(distuninstallcheck_dir)' \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-pkgconfigDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-pkgconfigDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \ dist-zip distcheck distclean distclean-generic \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-pkgconfigDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-pkgconfigDATA test: all cd test && $(MAKE) $(AM_MAKEFLAGS) test dist-hook: @if test -d "$(srcdir)/.git"; \ then \ echo Creating ChangeLog && \ ( cd "$(top_srcdir)" && \ echo '# Generated by Makefile. Do not edit.'; echo; \ $(top_srcdir)/missing --run git log --stat ) > ChangeLog.tmp \ && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \ || ( rm -f ChangeLog.tmp ; \ echo Failed to generate ChangeLog >&2 ); \ else \ echo A git clone is required to generate a ChangeLog >&2; \ fi rpm : dist rpmbuild --nodeps -ta $(PACKAGE)-$(VERSION).tar.gz @rm -f $(PACKAGE)-$(VERSION).tar.gz -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/gtk-engines-2.pc.in0000644000175000017500000000025511446654310014242 00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: gtk-engines-2 Description: GTK+ Theme Engines Version: @VERSION@ Requires: gtk+-2.0 gtk-engines-2.20.2/gtk-engines.spec.in0000644000175000017500000000253211446654310014433 00000000000000Summary: Default GTK+ theme engines Name: gtk2-engines Version: @VERSION@ Release: 1 License: GPL Group: X11/Libraries Source: gtk-engines-%{version}.tar.gz URL: ftp://ftp.gnome.org/pub/GNOME/sources/gtk-engines/ BuildRoot:/var/tmp/gtk-engines-%{PACKAGE_VERSION}-root %description These are the graphical engines for the various GTK+ toolkit themes. %prep %setup -n gtk-engines-%{version} %build # Needed for snapshot releases. if [ ! -f configure ]; then ./autogen.sh fi %configure if [ "$SMP" != "" ]; then make -j$SMP "MAKE=make -j$SMP" else make fi %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT %makeinstall # Clean out files that should not be part of the rpm. # This is the recommended way of dealing with it for RH8 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/@GTK_VERSION@/engines/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/@GTK_VERSION@/engines/*.a %clean rm -rf $RPM_BUILD_ROOT %changelog * Fri Jan 17 2003 Owen Taylor - Various fixes to good RPM practice * Thu Oct 22 2002 Christian F.K. Schaller - Update SPEC file to include latest stuff - work on RH8 * Fri Nov 20 1998 Michael Fulbright - First try at a spec file %files %defattr(-, root, root) %doc COPYING README NEWS ChangeLog %{_datadir}/themes %{_libdir}/gtk-2.0/@GTK_VERSION@/engines/*.so %{_libdir}/pkgconfig gtk-engines-2.20.2/configure0000755000175000017500000156604011451355762012665 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.67 for gtk-engines 2.20.2. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac ECHO=${lt_ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then # Yippee, $ECHO works! : else # Restart under the correct shell. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF $* _LT_EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$lt_ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if { echo_test_string=`eval $cmd`; } 2>/dev/null && { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null then break fi done fi if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$ECHO" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. ECHO='print -r' elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else # Try using printf. ECHO='printf %s\n' if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL ECHO="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. ECHO=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='gtk-engines' PACKAGE_TARNAME='gtk-engines' PACKAGE_VERSION='2.20.2' PACKAGE_STRING='gtk-engines 2.20.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="README" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS DEVELOPMENT_CFLAGS BUILD_SCHEMAS BUILD_THEMES BUILD_ENGINES LUA_LIBS LUA_CFLAGS GTK_VERSION GTK_LIBS GTK_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG SYSTEM_LUA_FALSE SYSTEM_LUA_TRUE MKINSTALLDIRS POSUB POFILES PO_IN_DATADIR_FALSE PO_IN_DATADIR_TRUE INTLLIBS INSTOBJEXT GMOFILES CATOBJEXT CATALOGS MSGFMT_OPTS GETTEXT_PACKAGE DATADIRNAME ALL_LINGUAS INTLTOOL_PERL GMSGFMT MSGFMT MSGMERGE XGETTEXT INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE USE_NLS CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB AR LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL OBJDUMP DLLTOOL AS host_os host_vendor host_cpu host build_os build_vendor build_cpu build am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE AM_BACKSLASH AM_DEFAULT_VERBOSITY am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_maintainer_mode enable_dependency_tracking enable_static enable_shared with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_nls enable_all enable_clearlooks enable_crux enable_hc enable_industrial enable_mist enable_redmond enable_glide enable_thinice enable_lua enable_animation enable_widget_checks enable_development enable_paranoia enable_deprecated enable_schemas with_system_lua ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR GTK_CFLAGS GTK_LIBS LUA_CFLAGS LUA_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures gtk-engines 2.20.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/gtk-engines] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of gtk-engines 2.20.2:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0') --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --disable-all skip all engines/themes by default --disable-clearlooks skip ClearLooks engine/theme --disable-crux skip Crux engine/theme --disable-hc skip HC(high contrast) engine --disable-industrial skip Industrial engine/theme --disable-mist skip Mist engine/theme --disable-redmond skip Redmond engine/theme --disable-glide skip Glide engine --disable-thinice skip ThinIce engine/theme --enable-lua enable Lua engine --enable-animation compile clearlooks with animation support --disable-widget-checks disable superfluous widget checks (needs updated themes) --enable-development Enable any development warnings/incomplete code --enable-paranoia use wall, werror, ansi, pedantic compiler flags --disable-deprecated disable deprecated functions in gtk et al --disable-schema disable engine schemas Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-system-lua link with system Lua library Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config LUA_CFLAGS C compiler flags for LUA, overriding pkg-config LUA_LIBS linker flags for LUA, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF gtk-engines configure 2.20.2 generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_func # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by gtk-engines $as_me 2.20.2, which was generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5 ; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='gtk-engines' VERSION='2.20.2' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' # Use AM_SILENT_RULES if present # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac AM_BACKSLASH='\' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=no fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AS+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AS="${ac_tool_prefix}as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 $as_echo "$AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AS+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AS="as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 $as_echo "$ac_ct_AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AS" = x; then AS="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS fi else AS="$ac_cv_prog_AS" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DLLTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi ;; esac test -z "$AS" && AS=as test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$OBJDUMP" && OBJDUMP=objdump case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.6b' macro_revision='1.3017' ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if test "${ac_cv_path_SED+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if test "${ac_cv_path_FGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test "${lt_cv_path_NM+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$ac_tool_prefix"; then for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DUMPBIN+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if test "${lt_cv_nm_interface+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:5117: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:5120: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:5123: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line 6326 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_NMEDIT+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_LIPO+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL64+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if test "${lt_cv_apple_cc_single_mod+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options enable_dlopen=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if test "${lt_cv_objdir+set}" = set; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7819: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7823: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:8158: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:8162: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:8263: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:8267: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:8318: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:8322: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu) link_all_deplibs=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo(void) {} _ACEOF if ac_fn_c_try_link "$LINENO"; then : archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = x""yes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 10702 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 10798 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_config_commands="$ac_config_commands libtool" # Only expand once: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac if test -n "0.31.0"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= 0.31.0" >&5 $as_echo_n "checking for intltool >= 0.31.0... " >&6; } INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.31.0 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool 0.31.0 or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then : DATADIRNAME=share else DATADIRNAME=lib fi ;; *) DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi GETTEXT_PACKAGE=gtk-engines cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF for ac_header in locale.h do : ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" if test "x$ac_cv_header_locale_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LOCALE_H 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if test "${am_cv_val_LC_MESSAGES+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_val_LC_MESSAGES=yes else am_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5 $as_echo "$am_cv_val_LC_MESSAGES" >&6; } if test $am_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = x""yes; then : gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5 $as_echo_n "checking for ngettext in libc... " >&6; } if test "${gt_cv_func_ngettext_libc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !ngettext ("","", 1) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_ngettext_libc=yes else gt_cv_func_ngettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5 $as_echo "$gt_cv_func_ngettext_libc" >&6; } if test "$gt_cv_func_ngettext_libc" = "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5 $as_echo_n "checking for dgettext in libc... " >&6; } if test "${gt_cv_func_dgettext_libc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !dgettext ("","") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_dgettext_libc=yes else gt_cv_func_dgettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5 $as_echo "$gt_cv_func_dgettext_libc" >&6; } fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; } if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char bindtextdomain (); int main () { return bindtextdomain (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_bindtextdomain=yes else ac_cv_lib_intl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; } if test "x$ac_cv_lib_intl_bindtextdomain" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if test "${ac_cv_lib_intl_ngettext+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5 $as_echo_n "checking for dgettext in -lintl... " >&6; } if test "${ac_cv_lib_intl_dgettext+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dgettext (); int main () { return dgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dgettext=yes else ac_cv_lib_intl_dgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5 $as_echo "$ac_cv_lib_intl_dgettext" >&6; } if test "x$ac_cv_lib_intl_dgettext" = x""yes; then : gt_cv_func_dgettext_libintl=yes fi fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5 $as_echo_n "checking if -liconv is needed to use gettext... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if test "${ac_cv_lib_intl_ngettext+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5 $as_echo_n "checking for dcgettext in -lintl... " >&6; } if test "${ac_cv_lib_intl_dcgettext+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dcgettext (); int main () { return dcgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dcgettext=yes else ac_cv_lib_intl_dcgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5 $as_echo "$ac_cv_lib_intl_dcgettext" >&6; } if test "x$ac_cv_lib_intl_dcgettext" = x""yes; then : gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv else : fi else : fi fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" for ac_func in dcgettext do : ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext" if test "x$ac_cv_func_dcgettext" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi done MSGFMT_OPTS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5 $as_echo_n "checking if msgfmt accepts -c... " >&6; } cat >conftest.foo <<_ACEOF msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" _ACEOF if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5 ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } echo "$as_me: failed input was:" >&5 sed 's/^/| /' conftest.foo >&5 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : CATOBJEXT=.gmo DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then : CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po ac_config_commands="$ac_config_commands default-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5 $as_echo_n "checking for catalogs to be installed... " >&6; } NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5 $as_echo "$LINGUAS" >&6; } fi if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES # Check whether --enable-all was given. if test "${enable_all+set}" = set; then : enableval=$enable_all; defaultval=$enableval else defaultval="yes" fi # Check whether --enable-clearlooks was given. if test "${enable_clearlooks+set}" = set; then : enableval=$enable_clearlooks; clearlooks=$enableval else clearlooks="$defaultval" fi # Check whether --enable-crux was given. if test "${enable_crux+set}" = set; then : enableval=$enable_crux; crux=$enableval else crux="$defaultval" fi # Check whether --enable-hc was given. if test "${enable_hc+set}" = set; then : enableval=$enable_hc; hc=$enableval else hc="$defaultval" fi # Check whether --enable-industrial was given. if test "${enable_industrial+set}" = set; then : enableval=$enable_industrial; industrial=$enableval else industrial="$defaultval" fi # Check whether --enable-mist was given. if test "${enable_mist+set}" = set; then : enableval=$enable_mist; mist=$enableval else mist="$defaultval" fi # Check whether --enable-redmond was given. if test "${enable_redmond+set}" = set; then : enableval=$enable_redmond; redmond=$enableval else redmond="$defaultval" fi # Check whether --enable-glide was given. if test "${enable_glide+set}" = set; then : enableval=$enable_glide; glide=$enableval else glide="$defaultval" fi # Check whether --enable-thinice was given. if test "${enable_thinice+set}" = set; then : enableval=$enable_thinice; thinice=$enableval else thinice="$defaultval" fi # Check whether --enable-lua was given. if test "${enable_lua+set}" = set; then : enableval=$enable_lua; lua=$enableval else lua="no" fi # Check whether --enable-animation was given. if test "${enable_animation+set}" = set; then : enableval=$enable_animation; animation=$enableval else animation="no" fi # Check whether --enable-widget_checks was given. if test "${enable_widget_checks+set}" = set; then : enableval=$enable_widget_checks; widget_checks=$enableval else widget_checks="yes" fi # Check whether --enable-development was given. if test "${enable_development+set}" = set; then : enableval=$enable_development; development=$enableval else development="no" fi # Check whether --enable-paranoia was given. if test "${enable_paranoia+set}" = set; then : enableval=$enable_paranoia; paranoia=$enableval else paranoia="no" fi # Check whether --enable-deprecated was given. if test "${enable_deprecated+set}" = set; then : enableval=$enable_deprecated; deprecated=$enableval else deprecated="no" fi # Check whether --enable-schemas was given. if test "${enable_schemas+set}" = set; then : enableval=$enable_schemas; schemas=$enableval else schemas="yes" fi # Check whether --with-system-lua was given. if test "${with_system_lua+set}" = set; then : withval=$with_system_lua; system_lua=$withval else system_lua="no" fi if test x$system_lua = xyes; then SYSTEM_LUA_TRUE= SYSTEM_LUA_FALSE='#' else SYSTEM_LUA_TRUE='#' SYSTEM_LUA_FALSE= fi BUILD_ENGINES="" BUILD_THEMES="" BUILD_SCHEMAS="" if test $clearlooks = "yes"; then BUILD_ENGINES="$BUILD_ENGINES clearlooks" BUILD_THEMES="$BUILD_THEMES Clearlooks" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS clearlooks.xml" fi fi if test $crux = "yes"; then BUILD_ENGINES="$BUILD_ENGINES crux" BUILD_THEMES="$BUILD_THEMES Crux" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS crux-engine.xml" fi fi if test $hc = "yes"; then BUILD_ENGINES="$BUILD_ENGINES hc" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS hcengine.xml" fi fi if test $industrial = "yes"; then BUILD_ENGINES="$BUILD_ENGINES industrial" BUILD_THEMES="$BUILD_THEMES Industrial" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS industrial.xml" fi fi if test $mist = "yes"; then BUILD_ENGINES="$BUILD_ENGINES mist" BUILD_THEMES="$BUILD_THEMES Mist" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS mist.xml" fi fi if test $redmond = "yes"; then BUILD_ENGINES="$BUILD_ENGINES redmond" BUILD_THEMES="$BUILD_THEMES Redmond" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS redmond95.xml" fi fi if test $glide = "yes"; then BUILD_ENGINES="$BUILD_ENGINES glide" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS glide.xml" fi fi if test $thinice = "yes"; then BUILD_ENGINES="$BUILD_ENGINES thinice" BUILD_THEMES="$BUILD_THEMES ThinIce" if test $schemas = "yes"; then BUILD_SCHEMAS="$BUILD_SCHEMAS thinice.xml" fi fi if test $lua = "yes"; then BUILD_ENGINES="$BUILD_ENGINES lua" fi # Don't forget to update the README when changing this. if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.12.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.12.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0 >= 2.12.0" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0 >= 2.12.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "GTK+-2.12 is required to compile gtk-engines" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "GTK+-2.12 is required to compile gtk-engines" "$LINENO" 5 else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0` if test $system_lua = "yes"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } if test -n "$LUA_CFLAGS"; then pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LUA_CFLAGS=`$PKG_CONFIG --cflags "lua" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LUA_LIBS"; then pkg_cv_LUA_LIBS="$LUA_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LUA_LIBS=`$PKG_CONFIG --libs "lua" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua" 2>&1` else LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 as_fn_error $? "--with-system-lua specified but no system liblua found" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "--with-system-lua specified but no system liblua found" "$LINENO" 5 else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS LUA_LIBS=$pkg_cv_LUA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi if test $animation = "yes"; then cat >>confdefs.h <<_ACEOF #define HAVE_ANIMATION 1 _ACEOF fi if test $widget_checks = "yes"; then cat >>confdefs.h <<_ACEOF #define ENABLE_WIDGET_CHECKS 1 _ACEOF fi DEVELOPMENT_CFLAGS= if test $development = "yes"; then DEVELOPMENT_CFLAGS+=" -DDEVELOPMENT" fi if test $paranoia = "yes"; then DEVELOPMENT_CFLAGS+=" -Wall -Werror -ansi -pedantic" fi if test $deprecated = "yes"; then DEVELOPMENT_CFLAGS+=" -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" fi ac_config_headers="$ac_config_headers engines/support/config.h" ac_config_files="$ac_config_files Makefile test/Makefile engines/Makefile engines/support/Makefile engines/clearlooks/Makefile engines/crux/Makefile engines/hc/Makefile engines/industrial/Makefile engines/mist/Makefile engines/redmond/Makefile engines/glide/Makefile engines/thinice/Makefile engines/lua/Makefile themes/Makefile themes/Clearlooks/Makefile themes/Clearlooks/gtk-2.0/Makefile themes/Crux/Makefile themes/Crux/gtk-2.0/Makefile themes/Industrial/Makefile themes/Industrial/gtk-2.0/Makefile themes/Mist/Makefile themes/Mist/gtk-2.0/Makefile themes/Redmond/Makefile themes/Redmond/gtk-2.0/Makefile themes/ThinIce/Makefile themes/ThinIce/gtk-2.0/Makefile gtk-engines-2.pc gtk-engines.spec po/Makefile.in schema/Makefile schema/clearlooks.xml.in schema/crux-engine.xml.in schema/glide.xml.in schema/hcengine.xml.in schema/industrial.xml.in schema/mist.xml.in schema/redmond95.xml.in schema/thinice.xml.in" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" if test -z "${SYSTEM_LUA_TRUE}" && test -z "${SYSTEM_LUA_FALSE}"; then as_fn_error $? "conditional \"SYSTEM_LUA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by gtk-engines $as_me 2.20.2, which was generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ gtk-engines config.status 2.20.2 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ SHELL \ ECHO \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` ;; esac ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "engines/support/config.h") CONFIG_HEADERS="$CONFIG_HEADERS engines/support/config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "engines/Makefile") CONFIG_FILES="$CONFIG_FILES engines/Makefile" ;; "engines/support/Makefile") CONFIG_FILES="$CONFIG_FILES engines/support/Makefile" ;; "engines/clearlooks/Makefile") CONFIG_FILES="$CONFIG_FILES engines/clearlooks/Makefile" ;; "engines/crux/Makefile") CONFIG_FILES="$CONFIG_FILES engines/crux/Makefile" ;; "engines/hc/Makefile") CONFIG_FILES="$CONFIG_FILES engines/hc/Makefile" ;; "engines/industrial/Makefile") CONFIG_FILES="$CONFIG_FILES engines/industrial/Makefile" ;; "engines/mist/Makefile") CONFIG_FILES="$CONFIG_FILES engines/mist/Makefile" ;; "engines/redmond/Makefile") CONFIG_FILES="$CONFIG_FILES engines/redmond/Makefile" ;; "engines/glide/Makefile") CONFIG_FILES="$CONFIG_FILES engines/glide/Makefile" ;; "engines/thinice/Makefile") CONFIG_FILES="$CONFIG_FILES engines/thinice/Makefile" ;; "engines/lua/Makefile") CONFIG_FILES="$CONFIG_FILES engines/lua/Makefile" ;; "themes/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;; "themes/Clearlooks/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Clearlooks/Makefile" ;; "themes/Clearlooks/gtk-2.0/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Clearlooks/gtk-2.0/Makefile" ;; "themes/Crux/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Crux/Makefile" ;; "themes/Crux/gtk-2.0/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Crux/gtk-2.0/Makefile" ;; "themes/Industrial/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Industrial/Makefile" ;; "themes/Industrial/gtk-2.0/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Industrial/gtk-2.0/Makefile" ;; "themes/Mist/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Mist/Makefile" ;; "themes/Mist/gtk-2.0/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Mist/gtk-2.0/Makefile" ;; "themes/Redmond/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Redmond/Makefile" ;; "themes/Redmond/gtk-2.0/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Redmond/gtk-2.0/Makefile" ;; "themes/ThinIce/Makefile") CONFIG_FILES="$CONFIG_FILES themes/ThinIce/Makefile" ;; "themes/ThinIce/gtk-2.0/Makefile") CONFIG_FILES="$CONFIG_FILES themes/ThinIce/gtk-2.0/Makefile" ;; "gtk-engines-2.pc") CONFIG_FILES="$CONFIG_FILES gtk-engines-2.pc" ;; "gtk-engines.spec") CONFIG_FILES="$CONFIG_FILES gtk-engines.spec" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "schema/Makefile") CONFIG_FILES="$CONFIG_FILES schema/Makefile" ;; "schema/clearlooks.xml.in") CONFIG_FILES="$CONFIG_FILES schema/clearlooks.xml.in" ;; "schema/crux-engine.xml.in") CONFIG_FILES="$CONFIG_FILES schema/crux-engine.xml.in" ;; "schema/glide.xml.in") CONFIG_FILES="$CONFIG_FILES schema/glide.xml.in" ;; "schema/hcengine.xml.in") CONFIG_FILES="$CONFIG_FILES schema/hcengine.xml.in" ;; "schema/industrial.xml.in") CONFIG_FILES="$CONFIG_FILES schema/industrial.xml.in" ;; "schema/mist.xml.in") CONFIG_FILES="$CONFIG_FILES schema/mist.xml.in" ;; "schema/redmond95.xml.in") CONFIG_FILES="$CONFIG_FILES schema/redmond95.xml.in" ;; "schema/thinice.xml.in") CONFIG_FILES="$CONFIG_FILES schema/thinice.xml.in" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool 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 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="" # ### BEGIN LIBTOOL CONFIG # Whether or not to build static libraries. build_old_libs=$enable_static # Assembler program. AS=$AS # DLL creation program. DLLTOOL=$DLLTOOL # Object dumper program. OBJDUMP=$OBJDUMP # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == "file_magic". file_magic_cmd=$lt_file_magic_cmd # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into a binary # during linking. This must work even if \$libdir does not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi echo echo "Special Flags:" echo -n " Development Code - " if test "$development" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Paranoia Flags - " if test "$paranoia" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Disable Deprecated - " if test "$deprecated" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Engine Schemas - " if test "$schemas" = "yes"; then echo "Enabled" else echo "Disabled" fi echo -n " Fallback Widget Checks - " if test "$widget_checks" = "yes"; then echo "Enabled" else echo "Disabled -- Warning this WILL break themes that are not updated." fi echo echo "Engines and Themes:" echo -n " ClearLooks - " if test "$clearlooks" = "yes"; then echo -n "Including" if test $animation = "yes"; then echo " with animation support" else echo " without animation support" fi else echo "Skipping" fi echo -n " Crux - " if test "$crux" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " HC - " if test "$hc" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Industrial - " if test "$industrial" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Mist - " if test "$mist" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Redmond - " if test "$redmond" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Glide - " if test "$glide" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " ThinIce - " if test "$thinice" = "yes"; then echo "Including" else echo "Skipping" fi echo -n " Lua - " if test "$lua" = "yes"; then echo "Including" else echo "Skipping" fi echo "" gtk-engines-2.20.2/AUTHORS0000644000175000017500000000010611445424675012012 00000000000000For all authors of a given engine please see engines//AUTHORS gtk-engines-2.20.2/COPYING0000644000175000017500000006363711445424675012017 00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! gtk-engines-2.20.2/ChangeLog0000644000175000017500000350075611451420652012523 00000000000000# Generated by Makefile. Do not edit. commit 9c3ea43f1c7ac5edc64865bcf3a92d9eda32d96e Author: Benjamin Berg Date: Fri Oct 1 19:59:29 2010 +0200 Update for 2.20.2. NEWS | 17 ++++++++++++++++- configure.ac | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) commit 27d648459882430c35a119bc2af1b47152e8fe3e Author: Benjamin Berg Date: Fri Oct 1 19:58:28 2010 +0200 Remove some debug cruft. engines/clearlooks/src/clearlooks_style.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit e2c8ca4bc80da0e6a013e2930632889fe2b3fbb1 Author: Benjamin Berg Date: Fri Oct 1 19:56:53 2010 +0200 All new suppressions file. test/valgrind-suppressions | 218 ++++++++++++++++++++++++++------------------ 1 files changed, 130 insertions(+), 88 deletions(-) commit 46d50c74ccedb18a648731d8c8d27fa077521f72 Author: Benjamin Berg Date: Fri Oct 1 19:56:40 2010 +0200 Destroy toplevel widget. test/torturetest.c | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) commit 5e80d88862ae8f98d3822dd81f0f328804893db2 Author: Takayuki KUSANO Date: Mon Sep 20 19:02:01 2010 +0900 Updated Japanese translation po/ja.po | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-) commit 03dbb98b2c52f8f391810e3bce8eb1f263584faf Author: Dirgita Date: Sun Sep 5 13:55:56 2010 +0700 Added Indonesian translation Added id to LINGUAS po/LINGUAS | 1 + po/id.po | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 215 insertions(+), 0 deletions(-) commit cbcc19452d33ec11fcca5c465f775da8fb8864f3 Author: Anita Reitere Date: Mon Jun 21 15:07:02 2010 +0300 Added Latvian translation. po/lv.po | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 213 insertions(+), 0 deletions(-) commit cb1a0e735b3905dfc8fbf09e5ab5b53383ce4c8b Author: Peteris Krisjanis Date: Mon Jun 21 15:06:49 2010 +0300 Added Latvian language to list of translations in LINGUAS. po/LINGUAS | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 35a422931ceaa5a21f1f01b1dc6d5853afc1a631 Author: Benjamin Berg Date: Thu Jun 17 15:04:35 2010 +0200 Fix deprecation check in mist. engines/mist/src/mist-style.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 15ba2fc10055a6d7d29cf6f37f6a1cf1e03b1cab Author: Benjamin Berg Date: Sun Jun 6 14:41:02 2010 +0200 Fix typo in #warning. engines/glide/src/glide_gtk2_drawing.c | 4 ++-- engines/redmond/src/redmond_gtk2_drawing.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit bc8e41851f670186c09a71e6525c4aea9766b1b6 Author: Benjamin Berg Date: Sat May 22 12:26:51 2010 +0200 Fix evolution table header workaround for new evo versions. themes/Clearlooks/gtk-2.0/gtkrc | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 2af2c67bcff15061638f1237882c4f66dff1daf6 Author: Thomas Thurman Date: Wed May 12 18:41:25 2010 -0400 Updated Shavian transliteration po/en@shaw.po | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 80 insertions(+), 3 deletions(-) commit dca02d7fd2f626cff37ae6afb11acb84ce635d87 Author: Matej Urbančič Date: Fri Apr 30 19:35:19 2010 +0200 Updated Slovenian translation po/sl.po | 34 ++++++++++++++++++---------------- 1 files changed, 18 insertions(+), 16 deletions(-) commit ee5d780dc2e424bce8a75b21eb6f1b74ea177247 Author: Benjamin Berg Date: Thu Apr 29 17:07:31 2010 +0200 Remove Xfce workaround. (bug #616124) engines/clearlooks/src/clearlooks_style.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit 40dd818b7ca94f1fe36eb68979cb1f34a7572b29 Author: Benjamin Berg Date: Sat Apr 17 14:57:02 2010 +0200 Update for 2.20.1. NEWS | 6 ++++++ configure.ac | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit d7f9bfd429e7963a6917f6b549bb27d9962f4865 Author: Benjamin Berg Date: Thu Apr 8 17:35:42 2010 +0200 Fix broken inset drawing for entries in gummy. engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 5ff630c56a12a85e3f2943c631cf1c3fd2ad27d8 Author: Benjamin Berg Date: Tue Mar 30 00:05:17 2010 +0200 Update for 2.20.0. NEWS | 16 ++++++++++++++++ configure.ac | 2 +- 2 files changed, 17 insertions(+), 1 deletions(-) commit a6011e454e5c4dc0ce7c3d1d4ddb186fd6861fa2 Author: Benjamin Berg Date: Sun Mar 28 22:59:20 2010 +0200 Set image/icon spacing for buttons to a larger value (Hylke Bons) themes/Clearlooks/gtk-2.0/gtkrc | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 1bbc9acd9211cdcf96552f9dd25be13fa87c7fac Author: Jamil Ahmed Date: Sun Mar 28 01:55:16 2010 +0600 Updated Bengali translation po/bn.po | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit 9939cef226744794c2896507181a6650d9ee128d Author: Benjamin Berg Date: Thu Mar 18 21:41:34 2010 +0100 Include liblua in the tarball. fixes #594014. engines/lua/Makefile.am | 116 ++++++++++++++++++++++++----------------------- 1 files changed, 60 insertions(+), 56 deletions(-) commit 4221c5cdd5929cec9ac281e475f26eed7c0a7811 Author: Benjamin Berg Date: Tue Sep 22 11:43:28 2009 +0200 Correct the SYSTEM_LUA conditional check. (patch from bug #594014) configure.ac | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 3f3c4c2bc74fa06a3d35c2c4a0bd73fb608925f0 Author: Xandru Armesto Fernandez Date: Sat Mar 13 08:00:52 2010 +0100 Updated asturian translation po/ast.po | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 209 insertions(+), 0 deletions(-) commit 20ad362b1c45b0592dbb13e331bda24c82bb9490 Author: Xandru Armesto Fernandez Date: Sat Mar 13 08:00:40 2010 +0100 Added asturian language po/LINGUAS | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 8a067e9655fb7497de544aa33b36a4b8cd2d2fbf Author: Friedel Wolff Date: Thu Mar 4 11:29:08 2010 +0100 Add Afrikaans translation po/LINGUAS | 1 + po/af.po | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 214 insertions(+), 0 deletions(-) commit 95d232bad20dd34e90284b163c3ecb1a611e7b7d Author: Fran Diéguez Date: Mon Feb 15 18:04:09 2010 +0100 Updated Galician Translation po/gl.po | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ab252a672265f771206dd5589d5638de4bd83efe Author: Benjamin Berg Date: Mon Jan 11 22:21:24 2010 +0100 Update for 2.19.0. NEWS | 32 ++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 33 insertions(+), 1 deletions(-) commit ce1c738d5ef8081d098cec19ef3de7c1fad7bdab Author: Benjamin Berg Date: Sat Jan 2 16:11:49 2010 +0100 Implement inconsistent button as suggested by Calum (bug #502165) This means that inconsistent buttons will be drawn half in the normal and the other half in the pressed state. engines/clearlooks/src/clearlooks_style.c | 37 +++++++++++++++++++++++++---- 1 files changed, 32 insertions(+), 5 deletions(-) commit 0ab0cc56e47e4bf0bbaf67fcdb771f065858b044 Author: Benjamin Berg Date: Sat Jan 2 14:42:43 2010 +0100 Make the inset calculation consistent, improves bug #525065. engines/clearlooks/src/clearlooks_draw.c | 42 ++++++++++++++++------- engines/clearlooks/src/clearlooks_draw_gummy.c | 41 ++++++++++++++++------- 2 files changed, 58 insertions(+), 25 deletions(-) commit a4dea8271ab2d75e8cde9a32903f0d89e93bb034 Author: Benjamin Berg Date: Sat Jan 2 13:38:09 2010 +0100 Make base[INSENSITIVE] slightly darker. This improves the issue mentioned in bug #500952 a bit, but does not seem quite good enough. themes/Mist/gtk-2.0/gtkrc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 5279c03e21ece7e68383ea7f602b79359bc267b9 Author: Benjamin Berg Date: Wed Dec 30 21:17:21 2009 +0100 Added a lot of new supressions. test/valgrind-suppressions | 98 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 98 insertions(+), 0 deletions(-) commit cfa772bc89f427c731d8c6b6fd88c931a5616b3a Author: Benjamin Berg Date: Wed Dec 30 18:57:52 2009 +0100 Enable building with gtk-engines with *_DISABLE_DEPRECATED. (bug# 572178) Note that some engines will not fully support some widgets if compiled with deprecated symbols disabled. Some applications, especially those that use deprecated widgets, will be drawn with minor rendering glitches. engines/clearlooks/src/animation.c | 9 +++-- engines/clearlooks/src/animation.h | 6 +++ engines/clearlooks/src/clearlooks_rc_style.c | 8 ++-- engines/clearlooks/src/clearlooks_style.c | 9 ++++- engines/clearlooks/src/support.c | 4 ++ engines/clearlooks/src/support.h | 3 ++ engines/glide/src/glide_gtk2_drawing.c | 8 ++++ engines/mist/src/mist-style.c | 12 ++++++ engines/redmond/src/redmond_gtk2_drawing.c | 11 +++++- test/torturetest.c | 48 +++++++++++++++---------- 10 files changed, 90 insertions(+), 28 deletions(-) commit c56100de3c883421be081abef402311b6afafd20 Author: Benjamin Berg Date: Wed Dec 30 18:40:24 2009 +0100 Make it easier to attach gdb if a test failes. test/torture | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) commit 08398d599dc95663793c8f2ebec3a64555b4ddbc Author: Benjamin Berg Date: Wed Dec 30 17:00:36 2009 +0100 Imported new git.mk from pango. git.mk | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) commit 97e5a62b40294fdba4cc76b60cd38fc153202881 Author: Diego Escalante Urrelo Date: Tue Dec 1 00:19:18 2009 -0500 Enable silent build with automake 1.11 configure.ac | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 6436bd25eff23b775443740e5267735733e08be6 Author: Diego Escalante Urrelo Date: Tue Dec 1 00:16:28 2009 -0500 Support automake 1.11 autogen.sh | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) commit cfa013d1917fa487a6f2cde32c2c029d1a3a1abb Author: Thomas Thurman Date: Thu Nov 12 10:51:56 2009 +0000 Shavian translation po/LINGUAS | 1 + po/en@shaw.po | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 146 insertions(+), 0 deletions(-) commit 264c89f01555b35328faa62fa21dc52219c99a8a Author: Andrea Cimitan Date: Sat Oct 31 18:41:57 2009 +0100 Fix a potential endless loop in draw_progressbar_fill engines/clearlooks/src/clearlooks_draw.c | 2 +- engines/clearlooks/src/clearlooks_draw_glossy.c | 2 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- engines/clearlooks/src/clearlooks_draw_inverted.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 477881e050b9ef2f74dd5f3e0bbfde0763bc7949 Author: Lucian Adrian Grijincu Date: Sun Oct 11 18:15:39 2009 +0300 Updated Romanian translation po/ro.po | 65 ++++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 36 insertions(+), 29 deletions(-) commit 077dfecc159f333b4946386d8d2c233b147a1302 Author: Rajesh Ranjan Date: Sat Sep 19 00:21:56 2009 +0530 maithili update, translated by Sangeeta Kumari po/LINGUAS | 1 + po/mai.po | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 210 insertions(+), 0 deletions(-) commit 2d39cc3bc24f8195a25edc7b3df6bbb836657184 Author: Ani Date: Sat Sep 12 23:16:39 2009 +0530 Updaeted Malayalam Translations po/ml.po | 62 ++++++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 38 insertions(+), 24 deletions(-) commit 7da5770ecdbf288cf7999261eb4dd98c07c50cbe Author: Miloš Popović Date: Fri Sep 11 12:46:15 2009 +0000 Updated Serbian translation po/sr.po | 58 ++++++++++++++++++++++++++++++++++--------------------- po/sr@latin.po | 58 ++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 72 insertions(+), 44 deletions(-) commit 28041f6067404b6047cc78a89a89437e93e7e30e Author: Benjamin Berg Date: Mon Sep 7 16:04:11 2009 +0200 Use withval in system-lua check. (#594014, Romain Perier) configure.ac | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 8dfc811a3f1794943fdbbad2e1ccbef14adf8087 Author: Rodrigo L. M. Flores Date: Sun Sep 6 22:53:16 2009 -0300 Updated Brazilian Portuguese mailing list address po/pt_BR.po | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 98d9e8e3f74c205198eb729a40b7a58af37941b1 Author: Khaled Hosny Date: Sat Sep 5 21:51:45 2009 +0200 Updated Arabic translation po/ar.po | 50 +++++++++++++++++++++++++++----------------------- 1 files changed, 27 insertions(+), 23 deletions(-) commit 6f7213e3d9571838ff0ce900fb5023b4f6e9a93e Author: Jamil Ahmed Date: Sat Sep 5 03:08:18 2009 +0700 Added Bengali translation po/LINGUAS | 1 + po/bn.po | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 216 insertions(+), 0 deletions(-) commit f13d8d81b355cb31684d719f7f31f72a4e3c70d2 Author: Ihar Hrachyshka Date: Mon Aug 31 16:09:55 2009 +0300 Added configure option to use system liblua for Lua engine. Signed-off-by: Ihar Hrachyshka configure.ac | 10 ++++ engines/lua/Makefile.am | 118 +++++++++++++++++++++++++---------------------- 2 files changed, 73 insertions(+), 55 deletions(-) commit d7f388d19959aef2bf2bf8de0073e6875bae1847 Author: Alexander Shopov Date: Sat Aug 22 18:35:42 2009 +0300 Updated Bulgarian translation po/bg.po | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) commit b61133a58e84e981671eb147cf424b34550f4e4c Author: Seán de Búrca Date: Mon Aug 10 02:10:58 2009 -0600 Added Irish translation po/LINGUAS | 1 + po/ga.po | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 213 insertions(+), 0 deletions(-) commit aa532d459dc2961000a5e3db1b8211723885a3b8 Author: Maxim V. Dziumanenko Date: Thu Jul 9 21:53:27 2009 +0300 Updated Ukrainian translation po/uk.po | 52 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 33 insertions(+), 19 deletions(-) commit 600f7b060d41d930dc39dda9761a18f866cd219a Author: Rajesh Ranjan Date: Mon Jul 6 14:34:44 2009 +0530 hindi udpate by Rajesh Ranjan po/hi.po | 61 +++++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 37 insertions(+), 24 deletions(-) commit 4b6984927b9df022032769a9c2c85122f9deed85 Author: Runa Bhattacharjee Date: Fri Jun 12 19:25:15 2009 +0530 Updated Bengali India Translations po/bn_IN.po | 51 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 31 insertions(+), 20 deletions(-) commit f016ea555dd4aaf71740007bf46aa4c768faf9b6 Author: Miquel Esplà Date: Mon May 25 14:06:27 2009 +0200 Added Valencian-Catalan translation po/LINGUAS | 1 + po/ca@valencia.po | 214 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 215 insertions(+), 0 deletions(-) commit bc0ad4fb88ac527a7c917e166e119122387f536b Author: Benjamin Berg Date: Mon May 18 22:44:17 2009 +0200 Update for 2.18.2 release. NEWS | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) commit 26f603ca413af6cc4d046b57fa3c4994a6a4acc8 Author: krishnababu k Date: Fri May 15 17:43:42 2009 +0530 Adding new Telegu Translations po/te.po | 54 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 34 insertions(+), 20 deletions(-) commit 7e361fbbf53f6c1e2b23047d9fcf743d91462c25 Author: Benjamin Berg Date: Mon May 4 21:54:44 2009 +0200 Autogenerate the ChangeLog and .gitignore files. ChangeLog | 7714 +-------------------------------- ChangeLog.pre-git | 7712 ++++++++++++++++++++++++++++++++ Makefile.am | 49 +- engines/Makefile.am | 3 + engines/clearlooks/Makefile.am | 3 + engines/crux/Makefile.am | 3 + engines/glide/Makefile.am | 3 + engines/hc/Makefile.am | 3 + engines/industrial/Makefile.am | 3 + engines/lua/Makefile.am | 3 + engines/mist/Makefile.am | 3 + engines/redmond/Makefile.am | 3 + engines/support/Makefile.am | 3 + engines/thinice/Makefile.am | 3 + git.mk | 182 + schema/Makefile.am | 3 + test/Makefile.am | 3 + themes/Clearlooks/Makefile.am | 3 + themes/Clearlooks/gtk-2.0/Makefile.am | 3 + themes/Crux/Makefile.am | 3 + themes/Crux/gtk-2.0/Makefile.am | 3 + themes/Industrial/Makefile.am | 3 + themes/Industrial/gtk-2.0/Makefile.am | 3 + themes/Makefile.am | 3 + themes/Mist/Makefile.am | 3 + themes/Mist/gtk-2.0/Makefile.am | 3 + themes/Redmond/Makefile.am | 3 + themes/Redmond/gtk-2.0/Makefile.am | 3 + themes/ThinIce/Makefile.am | 3 + themes/ThinIce/gtk-2.0/Makefile.am | 3 + 30 files changed, 8021 insertions(+), 7714 deletions(-) commit 236fc09bbcf82eb7a522b6e07442e845cd056a57 Author: Benjamin Berg Date: Sun Apr 26 17:20:05 2009 +0200 Fix mailto links and add category in the gtk-engines.doap file gtk-engines.doap | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit cf4cf12a3c727db3f4b2946be8c27ab8a0fbdbf1 Author: Benjamin Berg Date: Fri Apr 17 17:21:10 2009 +0200 Add a DOAP file to get a description on git.gnome.org. gtk-engines.doap | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) commit adea1acb5ff44807447a100e8b5b62e10a7f9cea Author: Benjamin Berg Date: Mon Apr 13 21:57:14 2009 +0000 There are no failures in the exported test, as the functions do not need 2009-04-13 Benjamin Berg * test/Makefile.am: There are no failures in the exported test, as the functions do not need to be marked as internal with the patch from bug #576787. Fixes bug #578882. svn path=/trunk/; revision=1366 ChangeLog | 7 +++++++ test/Makefile.am | 3 --- 2 files changed, 7 insertions(+), 3 deletions(-) commit 919d76cecd88fefc5f0c427a27267464d1890820 Author: Benjamin Berg Date: Mon Apr 13 18:38:54 2009 +0000 Post release version bump. svn path=/trunk/; revision=1365 configure.ac | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 39bcf930966965730857ac33d642470bc74b141c Author: Benjamin Berg Date: Mon Apr 13 18:33:03 2009 +0000 Corrected the version numbers. 2009-04-13 Benjamin Berg * NEWS: Corrected the version numbers. svn path=/trunk/; revision=1363 ChangeLog | 5 +++++ NEWS | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 262a1e184e5d66e1f9645b7e3bea856d3233e2d6 Author: Benjamin Berg Date: Mon Apr 13 18:28:40 2009 +0000 Update for 2.18.1. 2009-04-13 Benjamin Berg * NEWS: Update for 2.18.1. svn path=/trunk/; revision=1362 ChangeLog | 5 +++++ NEWS | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-) commit 06a4d67187f22ee4051d73dd4a0da6eda8637237 Author: Benjamin Berg Date: Sat Apr 11 19:13:11 2009 +0000 Remove the steppers line, so that there is only one pixel if two steppers 2009-04-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw*.c: (clearlooks_*_draw_scrollbar_stepper): Remove the steppers line, so that there is only one pixel if two steppers are next to each other. svn path=/trunk/; revision=1361 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 20 ++++++++++++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 20 ++++++++++++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 20 ++++++++++++++++++++ engines/clearlooks/src/clearlooks_draw_inverted.c | 20 ++++++++++++++++++++ 5 files changed, 87 insertions(+), 0 deletions(-) commit 3d15bf3dd5307f94ae6240e8a44baa79669812c0 Author: Funda Wang Date: Fri Apr 10 03:00:15 2009 +0000 Updated zh_CN translation. svn path=/trunk/; revision=1360 po/ChangeLog | 4 ++++ po/zh_CN.po | 54 +++++++++++++++++++++++++++++++++--------------------- 2 files changed, 37 insertions(+), 21 deletions(-) commit d87982b3adfcfd7bdfc693a8334c6f560449837e Author: Benjamin Berg Date: Sat Apr 4 13:18:42 2009 +0000 Remove some usage of deprecated definitions. Bug #572178 2009-04-04 Benjamin Berg * engines/glide/src/glide_gtk2_support.c: (glide_gtk2_engine_hack_menu_shell_setup): * engines/hc/src/hc_gtk2_support.c: (hc_gtk2_engine_hack_menu_shell_setup_signals): * engines/redmond/src/redmond_gtk2_misc.c: (redmond_gtk2_engine_hack_menu_shell_setup_signals): Remove some usage of deprecated definitions. Bug #572178 svn path=/trunk/; revision=1359 ChangeLog | 10 ++++++++++ engines/glide/src/glide_gtk2_support.c | 8 ++++---- engines/hc/src/hc_gtk2_support.c | 8 ++++---- engines/redmond/src/redmond_gtk2_misc.c | 8 ++++---- 4 files changed, 22 insertions(+), 12 deletions(-) commit e35c8c4bd322ef43fa942e50a912f1c16f1b9a61 Author: Christian Persch Date: Thu Apr 2 22:20:35 2009 +0000 Also dist the symbols file. Bug ##576787 follow-up. * engines/Makefile.am: Also dist the symbols file. Bug ##576787 follow-up. svn path=/trunk/; revision=1358 ChangeLog | 5 +++++ engines/Makefile.am | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit 36a9cb7a9f6ed887e04896d4375da216f8c0374c Author: Christian Persch Date: Thu Apr 2 18:07:17 2009 +0000 Only export the necessary symbols. Bug #576787. * engines/clearlooks/Makefile.am: * engines/crux/Makefile.am: * engines/engine.symbols: * engines/glide/Makefile.am: * engines/hc/Makefile.am: * engines/industrial/Makefile.am: * engines/lua/Makefile.am: * engines/mist/Makefile.am: * engines/redmond/Makefile.am: * engines/support/Makefile.am: * engines/thinice/Makefile.am: Only export the necessary symbols. Bug #576787. svn path=/trunk/; revision=1357 ChangeLog | 15 +++++++++++++++ engines/clearlooks/Makefile.am | 4 ++-- engines/crux/Makefile.am | 5 ++--- engines/engine.symbols | 4 ++++ engines/glide/Makefile.am | 4 ++-- engines/hc/Makefile.am | 5 ++--- engines/industrial/Makefile.am | 5 ++--- engines/lua/Makefile.am | 7 ++----- engines/mist/Makefile.am | 5 ++--- engines/redmond/Makefile.am | 4 ++-- engines/support/Makefile.am | 1 - engines/thinice/Makefile.am | 5 ++--- 12 files changed, 37 insertions(+), 27 deletions(-) commit 24b241ba01649abad5dbaf47fddf1705d802776c Author: Christian Persch Date: Thu Apr 2 17:50:35 2009 +0000 Fix unresolved symbol error. Bug #576786. 2009-04-02 Christian Persch * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_set_mixed_color): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_gummy.c: Fix unresolved symbol error. Bug #576786. svn path=/trunk/; revision=1356 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 12 ++++++++++++ engines/clearlooks/src/clearlooks_draw.h | 5 +++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 12 ------------ engines/clearlooks/src/clearlooks_draw_gummy.c | 12 ------------ 5 files changed, 26 insertions(+), 24 deletions(-) commit 29996e570b0ab86e6cafea365b2b80ab2f8ed6b9 Author: Shankar Prasad Date: Thu Mar 26 06:53:19 2009 +0000 updated kn.po svn path=/trunk/; revision=1355 po/ChangeLog | 4 ++++ po/kn.po | 24 ++++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) commit 0febfe4558d50127d8a53b0f6c7e9b6446de0f1f Author: Shankar Prasad Date: Wed Mar 25 12:32:25 2009 +0000 added kn.po and updated ChangeLog and LINGUAS svn path=/trunk/; revision=1354 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/kn.po | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 215 insertions(+), 0 deletions(-) commit 3505130c026386362fd90361f543bd888ed4a59f Author: Andrea Cimitan Date: Wed Mar 18 10:55:09 2009 +0000 Fixed the focus inner shadow in draw_entry. Fixed the focus_color in the 2009-03-18 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_entry): * engines/clearlooks/src/clearlooks_draw_gummy.c (clearlooks_gummy_draw_entry): * engines/clearlooks/src/clearlooks_style.c (clearlooks_style_draw_box): * themes/Clearlooks/gtk-2.0/gtkrc: Fixed the focus inner shadow in draw_entry. Fixed the focus_color in the gtkrc, needs to be backported in gnome-themes. svn path=/trunk/; revision=1353 ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 ++++-- engines/clearlooks/src/clearlooks_draw_gummy.c | 6 ++++-- engines/clearlooks/src/clearlooks_style.c | 1 - themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) commit fb3a034a5882331843d1c84ea692bc6e134897d7 Author: Djihed Afifi Date: Wed Mar 18 09:22:00 2009 +0000 Updated Arabic translation svn path=/trunk/; revision=1352 po/ChangeLog | 4 ++++ po/ar.po | 47 +++++++++++++++++++++++++++++------------------ 2 files changed, 33 insertions(+), 18 deletions(-) commit 3279b226c28458950ea740f6e0ec190d76f02476 Author: Amanpreet Singh Alam Date: Tue Mar 17 01:18:46 2009 +0000 updating for GNOME Punjabi Translation by A S Alam svn path=/trunk/; revision=1351 po/pa.po | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 80 insertions(+), 19 deletions(-) commit ceac7222c8e5e276b91339721059091a1d7fcb77 Author: Benjamin Berg Date: Mon Mar 16 20:08:43 2009 +0000 Post release version bump. 2009-03-16 Benjamin Berg * configure.ac: Post release version bump. svn path=/trunk/; revision=1350 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 0fd1036574614055e14e6f9cd9499c769d6c6dd0 Author: Benjamin Berg Date: Mon Mar 16 19:55:14 2009 +0000 Update for 2.18.0. 2009-03-16 Benjamin Berg * NEWS: * configure.ac: Update for 2.18.0. svn path=/trunk/; revision=1348 ChangeLog | 6 ++++++ NEWS | 20 ++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 27 insertions(+), 1 deletions(-) commit d4c2379300442c28bd244ae43d245a8afb4ec9e3 Author: Benjamin Berg Date: Mon Mar 16 19:50:05 2009 +0000 Also test the new "entry_progress" detail string. 2009-03-16 Benjamin Berg * test/torturetest.c: Also test the new "entry_progress" detail string. svn path=/trunk/; revision=1347 ChangeLog | 5 +++++ test/torturetest.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 6676dbf08fdf3f29ad638151efdcd3cfc97e3004 Author: Ignacio Casal Quinteiro Date: Mon Mar 16 12:20:16 2009 +0000 Updated Galician translation by Suso Baleato. svn path=/trunk/; revision=1346 po/ChangeLog | 4 +++ po/gl.po | 81 ++++++++++++++++++++++++++++++++++----------------------- 2 files changed, 52 insertions(+), 33 deletions(-) commit f354e1181716928f2a0d1d6dedf5b2adc591541f Author: Amitakhya Phukan Date: Mon Mar 16 06:55:50 2009 +0000 Updated assamese translations svn path=/trunk/; revision=1345 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/as.po | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 233 insertions(+), 0 deletions(-) commit ab0c096dca107e55e3d1a84a5014bf5f587e98f2 Author: Kenneth Nielsen Date: Sat Mar 14 03:58:37 2009 +0000 Updated Danish translation svn path=/trunk/; revision=1344 po/ChangeLog | 4 ++++ po/da.po | 44 ++++++++++++++++++++++++++++---------------- 2 files changed, 32 insertions(+), 16 deletions(-) commit 79aa8b92bd924da718bc85742c387f5155098416 Author: Kostas Papadimas Date: Fri Mar 13 17:08:58 2009 +0000 Updated Greek Translation by Jennie Petoumenou svn path=/trunk/; revision=1343 po/ChangeLog | 4 ++++ po/el.po | 51 +++++++++++++++++++++++++++++++++------------------ 2 files changed, 37 insertions(+), 18 deletions(-) commit 4b7c8cabe44efed39ce266ba082ec8515ba853bb Author: Sandeep Shedmake Date: Fri Mar 13 13:23:18 2009 +0000 Updated Marathi Translations svn path=/trunk/; revision=1342 po/ChangeLog | 4 ++++ po/mr.po | 47 +++++++++++++++++++++++++++++------------------ 2 files changed, 33 insertions(+), 18 deletions(-) commit cb95ce1211692a1b100aaa6173fa938fb7ae7ca0 Author: Nickolay V. Shmyrev Date: Thu Mar 12 20:52:18 2009 +0000 Updated Russian translation. 2009-03-12 Nickolay V. Shmyrev * ru.po: Updated Russian translation. svn path=/trunk/; revision=1341 po/ru.po | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) commit 1e1466bd6219075b2ecebfcffb2a90ca5e9312f0 Author: Nickolay V. Shmyrev Date: Thu Mar 12 20:51:17 2009 +0000 Updated Russian translation. 2009-03-12 Nickolay V. Shmyrev * ru.po: Updated Russian translation. svn path=/trunk/; revision=1340 po/ru.po | 40 +++++++++++++++++++++++++--------------- 1 files changed, 25 insertions(+), 15 deletions(-) commit 729b672d4275aa77133bf8cec044666d75fa68f3 Author: Andrea Cimitan Date: Tue Mar 10 18:53:18 2009 +0000 my email was broken in the changelog svn path=/trunk/; revision=1339 ChangeLog | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 426d3c4e88a94ab6581d069d863cafd72cd714e1 Author: Andrea Cimitan Date: Tue Mar 10 18:52:15 2009 +0000 2009-03-10 Andrea Cimitan Date: Tue Mar 10 18:48:44 2009 +0000 2009-03-10 Andrea Cimitan Date: Tue Mar 10 13:20:44 2009 +0000 Updated Gujarati Translations. svn path=/trunk/; revision=1336 po/ChangeLog | 4 ++++ po/gu.po | 50 ++++++++++++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 20 deletions(-) commit 1efb3af7bd76c9fcaca75e4b75abe76199803687 Author: Felix I Date: Tue Mar 10 12:03:14 2009 +0000 tamil translation updated svn path=/trunk/; revision=1335 po/ChangeLog | 4 ++++ po/ta.po | 45 ++++++++++++++++++++++++++++----------------- 2 files changed, 32 insertions(+), 17 deletions(-) commit 3e9348ceacd16de48641b21851e21e547cc8a963 Author: Hendrik Richter Date: Tue Mar 10 09:37:54 2009 +0000 Updated German translation. 2009-03-10 Hendrik Richter * de.po: Updated German translation. svn path=/trunk/; revision=1334 po/ChangeLog | 4 ++++ po/de.po | 53 ++++++++++++++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 21 deletions(-) commit bd68527779b0927365ce8630370a3149c264a975 Author: Yair Hershkovitz Date: Sun Mar 8 21:33:10 2009 +0000 updated hebrew translation svn path=/trunk/; revision=1333 po/ChangeLog | 4 ++++ po/he.po | 49 +++++++++++++++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 18 deletions(-) commit 3cff11fd42c0fc0e310b8da3265610e8f27f41ee Author: Benjamin Berg Date: Sun Mar 8 13:50:43 2009 +0000 Fix the radius of the clearlooks entry progress drawing and do the 2009-03-08 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry_progress): * themes/Clearlooks/gtk-2.0/gtkrc: Fix the radius of the clearlooks entry progress drawing and do the necessary changes in the theme. svn path=/trunk/; revision=1332 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 4 ++-- themes/Clearlooks/gtk-2.0/gtkrc | 12 +++++++++++- 3 files changed, 21 insertions(+), 3 deletions(-) commit ac1c4cd95a70377460d340728fc2bb33b6d8c3f2 Author: Gintautas Miliauskas Date: Sat Mar 7 23:26:52 2009 +0000 Updated Lithuanian translation. 2009-03-08 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. svn path=/trunk/; revision=1331 po/ChangeLog | 4 ++++ po/lt.po | 44 ++++++++++++++++++++++++++++---------------- 2 files changed, 32 insertions(+), 16 deletions(-) commit d8e44f4f99bf7ec7c1101a61981d22086521f7ee Author: Benjamin Berg Date: Fri Mar 6 17:05:48 2009 +0000 Support for entry progress drawing. 2009-03-06 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry_progress), (clearlooks_register_style_classic): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): * engines/clearlooks/src/clearlooks_types.h: Support for entry progress drawing. svn path=/trunk/; revision=1330 ChangeLog | 10 +++ engines/clearlooks/src/clearlooks_draw.c | 71 ++++++++++++++++++- engines/clearlooks/src/clearlooks_style.c | 111 +++++++++++++++++++++++++++++ engines/clearlooks/src/clearlooks_types.h | 18 +++++ 4 files changed, 209 insertions(+), 1 deletions(-) commit 633632d3b43134fc80784fe61cdabd1d291898c8 Author: Manoj Kumar Giri Date: Thu Mar 5 07:42:10 2009 +0000 Added entries for Oriya language Translation updation. svn path=/trunk/; revision=1329 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 6c2d32d9eee53040f3dfcd3afd37d6a020c27b61 Author: Manoj Kumar Giri Date: Thu Mar 5 07:41:08 2009 +0000 Updated Oriya Translation. svn path=/trunk/; revision=1328 po/or.po | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 79 insertions(+), 17 deletions(-) commit cedb42c3ca4ea2928c73a07698e3889eb77d3a0b Author: Benjamin Berg Date: Mon Mar 2 22:28:09 2009 +0000 Postrelease version bump. 2009-03-02 Benjamin Berg * configure.ac: Postrelease version bump. svn path=/trunk/; revision=1327 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit e252e457bc31d8b51f8be9cf087ec5fece1a4502 Author: Benjamin Berg Date: Mon Mar 2 22:17:47 2009 +0000 Update for 2.17.4 release. 2009-03-02 Benjamin Berg * NEWS: Update for 2.17.4 release. svn path=/trunk/; revision=1325 ChangeLog | 5 +++++ NEWS | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-) commit d3fa1b1e8ed444b94ed3d749cbe7d3efa899bcf2 Author: Benjamin Berg Date: Mon Mar 2 21:17:31 2009 +0000 Fix LINUGAS file. 2009-03-02 Benjamin Berg * LINGUAS: Fix LINUGAS file. svn path=/trunk/; revision=1324 po/ChangeLog | 5 +++++ po/LINGUAS | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 10a9eafa7e2668620a45cc06026ff4eee7be40dc Author: miloc Date: Mon Mar 2 20:01:14 2009 +0000 Updated Italian translation svn path=/trunk/; revision=1323 po/ChangeLog | 4 ++++ po/it.po | 57 +++++++++++++++++++++++++++++++++++---------------------- 2 files changed, 39 insertions(+), 22 deletions(-) commit 339cae2e9646dd531ae6eba3201ce20117e8cd22 Author: Benjamin Berg Date: Mon Mar 2 19:54:52 2009 +0000 Some improvements for the progressbar in entries. Things could certainly 2009-03-02 Benjamin Berg * engines/crux/src/crux-draw.c: (paint_progress_bar), (draw_box): * engines/thinice/src/thinice_theme_draw.c: (thinice_style_draw_box): * themes/Crux/gtk-2.0/gtkrc: * themes/Industrial/gtk-2.0/gtkrc: * themes/Mist/gtk-2.0/gtkrc: * themes/Redmond/gtk-2.0/gtkrc: * themes/ThinIce/gtk-2.0/gtkrc: Some improvements for the progressbar in entries. Things could certainly be better, but at least this should make it more usable. svn path=/trunk/; revision=1322 ChangeLog | 13 +++++++++++++ engines/crux/src/crux-draw.c | 17 ++++++++++++----- engines/thinice/src/thinice_theme_draw.c | 4 ++++ themes/Crux/gtk-2.0/gtkrc | 3 +++ themes/Industrial/gtk-2.0/gtkrc | 14 +++++++++++++- themes/Mist/gtk-2.0/gtkrc | 10 +++++++++- themes/Redmond/gtk-2.0/gtkrc | 8 ++++++++ themes/ThinIce/gtk-2.0/gtkrc | 7 +++++++ 8 files changed, 69 insertions(+), 7 deletions(-) commit 67b52dd61837dcc667900977b8b9ae6856c374e9 Author: Claude Paroz Date: Sat Feb 28 18:50:17 2009 +0000 Updated French translation. 2009-02-28 Claude Paroz * fr.po: Updated French translation. svn path=/trunk/; revision=1321 po/ChangeLog | 4 ++++ po/fr.po | 48 ++++++++++++++++++++++++++++++------------------ 2 files changed, 34 insertions(+), 18 deletions(-) commit cfee787c02b443df758ece658f6769897451f28f Author: Duarte Loreto Date: Wed Feb 25 01:27:06 2009 +0000 Updated Portuguese translation. 2009-02-25 Duarte Loreto * pt.po: Updated Portuguese translation. svn path=/trunk/; revision=1320 po/ChangeLog | 4 ++++ po/pt.po | 50 +++++++++++++++++++++++++++++++------------------- 2 files changed, 35 insertions(+), 19 deletions(-) commit 36242e7726d741cc779ed1d79aa763aff1492fcd Author: Philip Withnall Date: Mon Feb 23 19:45:33 2009 +0000 Updated British English translation. 2009-02-23 Philip Withnall * en_GB.po: Updated British English translation. svn path=/trunk/; revision=1319 po/ChangeLog | 4 ++++ po/en_GB.po | 42 +++++++++++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 15 deletions(-) commit f1a32529a09cc935fb87c054f684a1f24064c7fb Author: Baris Cicek Date: Sun Feb 22 17:30:51 2009 +0000 Updated Turkish translation svn path=/trunk/; revision=1318 po/ChangeLog | 4 ++++ po/tr.po | 53 ++++++++++++++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 21 deletions(-) commit 7e7a69e8f5c3f9e4cd8597ab4eb0b44a13ffe266 Author: Jani Monoses Date: Tue Feb 17 21:35:02 2009 +0000 Added Romanian translation from Adi Roiban. svn path=/trunk/; revision=1317 po/ChangeLog | 6 ++ po/LINGUAS | 3 +- po/ro.po | 204 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 212 insertions(+), 1 deletions(-) commit b984d9e1e278fc06f18c7b7bd8bf0eb9b18f26ee Author: Benjamin Berg Date: Tue Feb 17 00:09:18 2009 +0000 Post release bump to 2.17.4. 2009-02-17 Benjamin Berg * configure.ac: Post release bump to 2.17.4. svn path=/trunk/; revision=1316 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 8a13782ba3b171592050d76cc6e6ddbfa99bf0c5 Author: Benjamin Berg Date: Tue Feb 17 00:00:34 2009 +0000 Fix distcheck for 2.17.3. 2009-02-16 Benjamin Berg * Makefile.am: Fix distcheck for 2.17.3. svn path=/trunk/; revision=1314 ChangeLog | 5 +++++ Makefile.am | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) commit 76114f959d05913d9c178f2e0d8496d581c8e7b3 Author: Benjamin Berg Date: Mon Feb 16 21:27:02 2009 +0000 Update for 2.17.3 release. 2009-02-16 Benjamin Berg * NEWS: Update for 2.17.3 release. svn path=/trunk/; revision=1313 ChangeLog | 5 +++++ NEWS | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 0 deletions(-) commit 122c22091520e73f63ffec09b286552942bde028 Author: Wouter Bolsterlee Date: Mon Feb 16 12:00:47 2009 +0000 Updated Dutch translation by Wouter Bolsterlee. 2009-02-16 Wouter Bolsterlee * nl.po: Updated Dutch translation by Wouter Bolsterlee. svn path=/trunk/; revision=1312 po/ChangeLog | 4 ++++ po/nl.po | 48 +++++++++++++++++++++++++++++++----------------- 2 files changed, 35 insertions(+), 17 deletions(-) commit 1f821d768aeb200fa38d6cbc6bf6c2814f26afb1 Author: Petr Kovar Date: Mon Feb 16 01:46:28 2009 +0000 Updated Czech translation by Lucas Lommer. 2009-02-16 Petr Kovar * cs.po: Updated Czech translation by Lucas Lommer. svn path=/trunk/; revision=1311 po/ChangeLog | 4 ++++ po/cs.po | 50 +++++++++++++++++++++++++++++++------------------- 2 files changed, 35 insertions(+), 19 deletions(-) commit bed3af98f975859b6271808654061c21207f3316 Author: Tomasz Dominikowski Date: Sun Feb 15 18:49:33 2009 +0000 Updated Polish translation 2009-02-15 Tomasz Dominikowski * pl.po: Updated Polish translation svn path=/trunk/; revision=1310 po/ChangeLog | 4 +++ po/pl.po | 64 ++++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 44 insertions(+), 24 deletions(-) commit af27af4a972a2eec5744f00fd7014cc7b04f21f0 Author: Benjamin Berg Date: Sun Feb 15 16:03:56 2009 +0000 Draw a "label" focus for expanders. (bug #571835, Till Berger) 2009-02-15 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): Draw a "label" focus for expanders. (bug #571835, Till Berger) svn path=/trunk/; revision=1309 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 5dd253815dfb808602dacb7aa4c368f97ba179bc Author: Gabor Kelemen Date: Sat Feb 14 02:22:11 2009 +0000 Translation updated. 2009-02-14 Gabor Kelemen * hu.po: Translation updated. svn path=/trunk/; revision=1308 po/ChangeLog | 4 ++++ po/hu.po | 46 ++++++++++++++++++++++++++++------------------ 2 files changed, 32 insertions(+), 18 deletions(-) commit c2f0aa4ccc31892d2664bbdf53325bd8eb308d60 Author: Inaki Larranaga Murgoitio Date: Thu Feb 12 17:46:33 2009 +0000 Updated Basque translation. 2009-02-12 Inaki Larranaga Murgoitio * eu.po: Updated Basque translation. svn path=/trunk/; revision=1307 po/ChangeLog | 4 ++++ po/eu.po | 48 ++++++++++++++++++++++++++++++------------------ 2 files changed, 34 insertions(+), 18 deletions(-) commit 161ca796e0899089282c2822fa816c3efed134f3 Author: Gil Forcada Codinachs Date: Thu Feb 12 17:27:38 2009 +0000 Updated Catalan translation svn path=/trunk/; revision=1306 po/ChangeLog | 4 ++++ po/ca.po | 44 ++++++++++++++++++++++++++++---------------- 2 files changed, 32 insertions(+), 16 deletions(-) commit 02561cd9e6fd8237250f0bfd6cbddc8e5aa6cd38 Author: Benjamin Berg Date: Wed Feb 11 15:24:46 2009 +0000 Remove Andrew and add Andrea. Also removed some old entries. 2009-02-11 Benjamin Berg * MAINTAINERS: Remove Andrew and add Andrea. Also removed some old entries. svn path=/trunk/; revision=1305 ChangeLog | 5 +++++ MAINTAINERS | 12 +++--------- 2 files changed, 8 insertions(+), 9 deletions(-) commit 9635f6db05746d29f6971f0bd9b562f37092d1c4 Author: Benjamin Berg Date: Wed Feb 11 15:05:18 2009 +0000 Move gtk-engines completely to LGPL-2.1 or any later version. To my 2009-02-11 Benjamin Berg Move gtk-engines completely to LGPL-2.1 or any later version. To my knowledge everyone has given their permission to do this change. svn path=/trunk/; revision=1304 COPYING | 522 ++++++++++++++++++++- COPYING.GPL | 340 -------------- COPYING.LGPL | 502 -------------------- ChangeLog | 5 + engines/clearlooks/CREDITS | 3 - engines/clearlooks/Makefile.am | 21 + engines/clearlooks/src/animation.c | 29 +- engines/clearlooks/src/animation.h | 23 +- engines/clearlooks/src/clearlooks_draw.c | 28 +- engines/clearlooks/src/clearlooks_draw.h | 23 + engines/clearlooks/src/clearlooks_draw_glossy.c | 27 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 26 +- engines/clearlooks/src/clearlooks_draw_inverted.c | 25 +- engines/clearlooks/src/clearlooks_rc_style.c | 32 +- engines/clearlooks/src/clearlooks_rc_style.h | 30 +- engines/clearlooks/src/clearlooks_style.c | 26 +- engines/clearlooks/src/clearlooks_style.h | 31 +- engines/clearlooks/src/clearlooks_theme_main.c | 23 + engines/clearlooks/src/clearlooks_types.h | 23 + engines/clearlooks/src/support.c | 24 +- engines/clearlooks/src/support.h | 23 + engines/glide/AUTHORS | 2 +- engines/glide/Makefile.am | 20 + engines/glide/src/glide_gtk2_drawing.c | 26 +- engines/glide/src/glide_gtk2_drawing.h | 25 +- engines/glide/src/glide_gtk2_engine.c | 27 +- engines/glide/src/glide_gtk2_engine.h | 25 +- engines/glide/src/glide_gtk2_support.c | 25 +- engines/glide/src/glide_gtk2_support.h | 25 +- engines/hc/Makefile.am | 21 + engines/hc/src/hc-style.c | 34 +- engines/hc/src/hc_gtk2_drawing.h | 25 +- engines/hc/src/hc_gtk2_engine.c | 26 +- engines/hc/src/hc_gtk2_engine.h | 26 +- engines/hc/src/hc_gtk2_support.c | 26 +- engines/hc/src/hc_gtk2_support.h | 26 +- engines/industrial/AUTHORS | 2 +- engines/industrial/Makefile.am | 22 + engines/industrial/src/industrial_rc_style.c | 24 +- engines/industrial/src/industrial_rc_style.h | 26 +- engines/industrial/src/industrial_style.c | 48 ++- engines/industrial/src/industrial_style.h | 32 +- engines/industrial/src/industrial_theme_main.c | 30 ++ engines/industrial/src/parse_rc_style.h | 29 ++ engines/lua/Makefile.am | 21 + engines/lua/src/draw_lib.c | 22 + engines/lua/src/draw_lib.h | 23 +- engines/lua/src/draw_utils.c | 22 + engines/lua/src/draw_utils.h | 23 +- engines/lua/src/lua_rc_style.c | 22 + engines/lua/src/lua_rc_style.h | 22 + engines/lua/src/lua_style.c | 22 + engines/lua/src/lua_style.h | 22 + engines/lua/src/lua_utils.c | 24 +- engines/lua/src/lua_utils.h | 22 + engines/lua/src/main.c | 22 + engines/lua/src/misc_utils.c | 22 + engines/lua/src/misc_utils.h | 22 + engines/redmond/Makefile.am | 22 + engines/redmond/src/redmond_gtk2_drawing.c | 47 +- engines/redmond/src/redmond_gtk2_drawing.h | 26 +- engines/redmond/src/redmond_gtk2_engine.c | 25 +- engines/redmond/src/redmond_gtk2_engine.h | 24 +- engines/redmond/src/redmond_gtk2_misc.c | 28 +- engines/redmond/src/redmond_gtk2_misc.h | 27 +- engines/support/cairo-support.c | 31 ++ engines/support/cairo-support.h | 31 ++- engines/support/ge-support.h | 25 + engines/support/general-support.h | 27 + engines/support/widget-information.c | 28 ++ engines/support/widget-information.h | 29 ++ test/Makefile.am | 20 + test/exported | 20 + test/runinx | 20 + test/torture | 20 + test/torturetest.c | 21 +- 76 files changed, 1861 insertions(+), 1279 deletions(-) commit 990f81f90883f59368dc7e57cea43a665e1ed6ec Author: Alexander Shopov Date: Tue Feb 10 05:33:27 2009 +0000 Updated Bulgarian translation by Alexander Shopov 2009-02-10 Alexander Shopov * bg.po: Updated Bulgarian translation by Alexander Shopov svn path=/trunk/; revision=1303 po/ChangeLog | 5 +++++ po/bg.po | 48 ++++++++++++++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 18 deletions(-) commit 0249963dfc2ada3399d86461dc200bddf3faf162 Author: Chao-Hsiung Liao Date: Sun Feb 8 23:40:18 2009 +0000 2.17.3 svn path=/trunk/; revision=1302 po/ChangeLog | 5 +++++ po/zh_HK.po | 56 +++++++++++++++++++++++++++++++++----------------------- po/zh_TW.po | 58 ++++++++++++++++++++++++++++++++++------------------------ 3 files changed, 72 insertions(+), 47 deletions(-) commit c6b90d9ee2601053aa934da0cc5bc699955697fd Author: Takeshi AIHANA Date: Sun Feb 8 11:31:17 2009 +0000 Updated Japanese translation. 2009-02-08 Takeshi AIHANA * ja.po: Updated Japanese translation. svn path=/trunk/; revision=1301 po/ChangeLog | 4 ++++ po/ja.po | 51 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 36 insertions(+), 19 deletions(-) commit 518d8c1b0dc6844007afbde44989af1a009e93ee Author: Theppitak Karoonboonyanan Date: Fri Feb 6 14:56:42 2009 +0000 Updated Thai translation. 2009-02-06 Theppitak Karoonboonyanan * th.po: Updated Thai translation. svn path=/trunk/; revision=1300 po/ChangeLog | 4 ++++ po/th.po | 48 ++++++++++++++++++++++++++++++------------------ 2 files changed, 34 insertions(+), 18 deletions(-) commit e703dd4187a5c6722ed20fbd22f54c3551a830c7 Author: Clytie Siddall Date: Fri Feb 6 13:29:45 2009 +0000 Updated Vietnamese translation svn path=/trunk/; revision=1299 po/ChangeLog | 4 ++++ po/vi.po | 58 +++++++++++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 25 deletions(-) commit e0a6d6ea4ea068f61f40e69889d082dd95a4d318 Author: Changwoo Ryu Date: Wed Jan 28 16:34:50 2009 +0000 Updated Korean translation svn path=/trunk/; revision=1298 po/ChangeLog | 4 ++++ po/ko.po | 44 +++++++++++++++++++++++++++----------------- 2 files changed, 31 insertions(+), 17 deletions(-) commit 7d4a1eb1e4c1d8388481c64dcc3044fb2aa3db25 Author: Ilkka Tuohela Date: Tue Jan 27 14:56:06 2009 +0000 Updated Finnish translation svn path=/trunk/; revision=1297 po/ChangeLog | 4 ++++ po/fi.po | 49 +++++++++++++++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 18 deletions(-) commit 880ebc0e830fd88f6dc44aed1e477ca841b9c99e Author: Jonh Wendell Date: Mon Jan 26 14:19:40 2009 +0000 Updated Brazilian Portuguese translation by Krix Apolinário. 2009-01-26 Jonh Wendell * pt_BR: Updated Brazilian Portuguese translation by Krix Apolinário. svn path=/trunk/; revision=1296 po/ChangeLog | 4 ++++ po/pt_BR.po | 46 +++++++++++++++++++++++++++++----------------- 2 files changed, 33 insertions(+), 17 deletions(-) commit 1bd4a9622871c63faaf778247fe5bf17d9b1be84 Author: Kjartan Maraas Date: Mon Jan 5 14:48:29 2009 +0000 Updated Norwegian bokmål translation. 2009-01-05 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. svn path=/trunk/; revision=1295 po/ChangeLog | 4 ++++ po/nb.po | 42 ++++++++++++++++++++++++++---------------- 2 files changed, 30 insertions(+), 16 deletions(-) commit 6d0b12060e16bf4b0f713aea791e04389f657b40 Author: Matej Urbančič Date: Wed Dec 17 19:04:44 2008 +0000 Updated Slovenian translation svn path=/trunk/; revision=1294 po/sl.po | 43 +++++++++++++++++++++++++------------------ 1 files changed, 25 insertions(+), 18 deletions(-) commit c45bc31996ed2783d50181eda4108c51f4bdf28e Author: Benjamin Berg Date: Sun Dec 14 13:58:54 2008 +0000 Move everything to one header includes. Bug #563787, Patch by Luis Menia 2008-12-14 Benjamin Berg * engines/*.h: * engines/*.c: Move everything to one header includes. Bug #563787, Patch by Luis Menia svn path=/trunk/; revision=1293 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_rc_style.h | 2 +- engines/clearlooks/src/clearlooks_style.h | 2 +- engines/industrial/src/industrial_rc_style.h | 2 +- engines/industrial/src/industrial_style.h | 2 +- engines/mist/src/mist-rc-style.h | 2 +- engines/mist/src/mist-style.h | 2 +- engines/support/widget-information.h | 2 +- engines/thinice/src/thinice_misc.c | 2 +- engines/thinice/src/thinice_rc_style.h | 2 +- engines/thinice/src/thinice_style.h | 2 +- engines/thinice/src/thinice_theme_draw.c | 2 +- 12 files changed, 18 insertions(+), 11 deletions(-) commit 95e6fbf18e15b966b46eb59409d8146f85d1c684 Author: Benjamin Berg Date: Sun Dec 7 13:48:05 2008 +0000 Post release bump to 2.17.3. 2008-12-07 Benjamin Berg * configure.ac: Post release bump to 2.17.3. svn path=/trunk/; revision=1292 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 337bf5fe88383724c4ca105622f12db1dfe1508d Author: Benjamin Berg Date: Sun Dec 7 13:43:23 2008 +0000 2.17.2 release (for the build fix) 2008-12-07 Benjamin Berg * NEWS: 2.17.2 release (for the build fix) svn path=/trunk/; revision=1290 ChangeLog | 5 +++++ NEWS | 6 ++++++ 2 files changed, 11 insertions(+), 0 deletions(-) commit ff751c14f0060b0de93ee2fef11aadb38f1b8bd4 Author: Benjamin Berg Date: Sun Dec 7 13:32:05 2008 +0000 Add industrial_style_class_finalize. Bug #563256. 2008-12-07 Benjamin Berg * engines/industrial/src/industrial_style.c: (industrial_style_class_finalize): Add industrial_style_class_finalize. Bug #563256. svn path=/trunk/; revision=1289 ChangeLog | 6 ++++++ engines/industrial/src/industrial_style.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletions(-) commit 72b506790799d42faa3cad0c6aa25ec8a15dd1ed Author: Benjamin Berg Date: Mon Dec 1 22:09:15 2008 +0000 Post release bumb to 2.17.2. 2008-12-01 Benjamin Berg * configure.ac: Post release bumb to 2.17.2. svn path=/trunk/; revision=1288 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 3012282c0ecc01f1b281f8cb894b4e75520924c4 Author: Benjamin Berg Date: Mon Dec 1 22:07:22 2008 +0000 2.17.1 release. 2008-12-01 Benjamin Berg * NEWS: 2.17.1 release. svn path=/trunk/; revision=1286 ChangeLog | 5 +++++ NEWS | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) commit 6ebf44a86788a633fff095ca46d268901fa42463 Author: Daniel Nylander Date: Mon Dec 1 21:54:28 2008 +0000 sv.po: Updated Swedish translation svn path=/trunk/; revision=1285 po/ChangeLog | 4 ++++ po/sv.po | 40 ++++++++++++++++++++++++---------------- 2 files changed, 28 insertions(+), 16 deletions(-) commit 615e1c0cff41988ad8ce3ffcd742be4d970d92d7 Author: Benjamin Berg Date: Sun Nov 30 20:26:01 2008 +0000 Use G_DEFINE_DYNAMIC_TYPE everywhere. Bug #549830. 2008-11-30 Benjamin Berg * engines/*: Use G_DEFINE_DYNAMIC_TYPE everywhere. Bug #549830. svn path=/trunk/; revision=1284 ChangeLog | 5 + engines/crux/src/crux-main.c | 4 +- engines/crux/src/crux-rc-style.c | 42 +++++------ engines/crux/src/crux-rc-style.h | 8 +- engines/crux/src/crux-style.c | 35 +++----- engines/crux/src/crux-style.h | 5 +- engines/glide/src/glide_gtk2_drawing.c | 6 ++ engines/glide/src/glide_gtk2_engine.c | 63 +++++---------- engines/glide/src/glide_gtk2_engine.h | 13 ++- engines/hc/src/hc-style.c | 6 ++ engines/hc/src/hc_gtk2_engine.c | 59 +++------------ engines/hc/src/hc_gtk2_engine.h | 12 ++- engines/industrial/Makefile.am | 1 - engines/industrial/src/industrial_rc_style.c | 34 +++------ engines/industrial/src/industrial_rc_style.h | 8 +- engines/industrial/src/industrial_style.c | 74 +++++++++++++++++- engines/industrial/src/industrial_style.h | 8 +- .../src/industrial_style_versioned_code.h | 81 -------------------- engines/industrial/src/industrial_theme_main.c | 5 +- engines/lua/src/lua_rc_style.c | 41 +++------- engines/lua/src/lua_rc_style.h | 8 +- engines/lua/src/lua_style.c | 55 +++++--------- engines/lua/src/lua_style.h | 8 +- engines/lua/src/main.c | 4 +- engines/mist/src/mist-rc-style.c | 36 +++------ engines/mist/src/mist-rc-style.h | 8 +- engines/mist/src/mist-style.c | 40 +++------- engines/mist/src/mist-style.h | 7 +- engines/mist/src/mist.c | 4 +- engines/redmond/src/redmond_gtk2_engine.c | 69 ++++++----------- engines/redmond/src/redmond_gtk2_engine.h | 13 ++- engines/thinice/src/thinice_main.c | 4 +- engines/thinice/src/thinice_rc_style.c | 38 +++------- engines/thinice/src/thinice_rc_style.h | 7 +- engines/thinice/src/thinice_style.h | 7 +- engines/thinice/src/thinice_theme_draw.c | 41 +++------- 36 files changed, 327 insertions(+), 532 deletions(-) commit d9f18f321cef34385338f5e8547214308b54ed09 Author: Benjamin Berg Date: Sun Nov 30 16:19:33 2008 +0000 Fix inconsistent radio button drawing. 2008-11-30 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_radiobutton): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_radiobutton): Fix inconsistent radio button drawing. svn path=/trunk/; revision=1283 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 8 +++++--- engines/clearlooks/src/clearlooks_draw_gummy.c | 8 +++++--- 3 files changed, 18 insertions(+), 6 deletions(-) commit f2e04be137e935119e6af2fe14d299820cffff26 Author: Paolo Borelli Date: Sun Nov 30 13:24:04 2008 +0000 Make sure cairo_destroy is called when detail is buttondefault. Reviewed 2008-11-30 Paolo Borelli * engines/clearlooks/src/clearlooks_style.c (clearlooks_style_draw_box): Make sure cairo_destroy is called when detail is buttondefault. Reviewed by Andrea Cimitan. svn path=/trunk/; revision=1282 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) commit 5bb09938b7f66b3d687e71ccf787778889afb1ec Author: Benjamin Berg Date: Fri Nov 28 21:29:30 2008 +0000 Remove the usage of deprecated glib symbols. Bug #560443, patch by Travis 2008-11-28 Benjamin Berg * engines/industrial/src/parse_rc_style.h: Remove the usage of deprecated glib symbols. Bug #560443, patch by Travis Veralrud svn path=/trunk/; revision=1281 ChangeLog | 6 ++++++ engines/industrial/src/parse_rc_style.h | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) commit f2895d718051461836d4f373a93459bda8a5ff6a Author: Benjamin Berg Date: Fri Nov 28 21:24:47 2008 +0000 Change the oder of the -I flags, so the locale ones are in front of the 2008-11-28 Benjamin Berg * engines/*/Makefile.am: Change the oder of the -I flags, so the locale ones are in front of the global flags. Bug #560042. svn path=/trunk/; revision=1279 ChangeLog | 6 ++++++ engines/clearlooks/Makefile.am | 4 ++-- engines/crux/Makefile.am | 4 ++-- engines/glide/Makefile.am | 4 ++-- engines/hc/Makefile.am | 4 ++-- engines/industrial/Makefile.am | 4 ++-- engines/lua/Makefile.am | 2 +- engines/mist/Makefile.am | 4 ++-- engines/redmond/Makefile.am | 5 +++-- engines/thinice/Makefile.am | 4 ++-- 10 files changed, 24 insertions(+), 17 deletions(-) commit f4ace8818547167faae96d7a07adbb7e9041cdd3 Author: Jorge Gonzalez Gonzalez Date: Sat Nov 8 14:51:53 2008 +0000 Updated Spanish translation svn path=/trunk/; revision=1278 po/ChangeLog | 4 ++++ po/es.po | 45 ++++++++++++++++++++++++++++----------------- 2 files changed, 32 insertions(+), 17 deletions(-) commit a7317e21457902847d3431282030487f382285cc Author: Benjamin Berg Date: Mon Nov 3 21:21:33 2008 +0000 Postrelease bump to 2.17.1. 2008-11-03 Benjamin Berg * configure.ac: Postrelease bump to 2.17.1. svn path=/trunk/; revision=1277 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit a4bb7ed98946fde96987e04d01d1e31f4d47fe00 Author: Benjamin Berg Date: Mon Nov 3 21:20:06 2008 +0000 Update new file for 2.17.0. 2008-11-03 Benjamin Berg * NEWS: Update new file for 2.17.0. svn path=/trunk/; revision=1275 ChangeLog | 5 +++++ NEWS | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 0 deletions(-) commit 0a3c522b1cb0a15ce139023fecfc3b56b5ab5a80 Author: Benjamin Berg Date: Mon Nov 3 20:50:56 2008 +0000 Do not draw default indicator, if the button is disabled. 2008-11-03 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_button): Do not draw default indicator, if the button is disabled. svn path=/trunk/; revision=1274 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 6a4e2424093bc2ec0a83b9a2af1ef834bcc2dfc6 Author: Benjamin Berg Date: Mon Nov 3 20:09:19 2008 +0000 Fix the bg color of GtkViewport and GtkScrolledWindow in notebooks. 2008-11-03 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Fix the bg color of GtkViewport and GtkScrolledWindow in notebooks. svn path=/trunk/; revision=1273 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit b72fc077cb841f7d86a4c8fce21ca459529278d2 Author: Benjamin Berg Date: Sat Oct 18 10:41:39 2008 +0000 Make mist_style_draw_focus static. 2008-10-18 Benjamin Berg * engines/mist/src/mist-style.c: Make mist_style_draw_focus static. svn path=/trunk/; revision=1267 ChangeLog | 5 +++++ engines/mist/src/mist-style.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit d650565a5642b192de9377b97249672266dfea11 Author: Andrea Cimitan Date: Sat Oct 11 12:46:14 2008 +0000 Let's return when detail is buttondefault, should fix #555890. 2008-10-11 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c (clearlooks_style_draw_box): Let's return when detail is buttondefault, should fix #555890. svn path=/trunk/; revision=1266 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 1 - engines/clearlooks/src/clearlooks_style.c | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletions(-) commit 3a3e5dda45d68a8d5722119fd537ee42334c3a39 Author: Benjamin Berg Date: Tue Oct 7 18:53:17 2008 +0000 Added a disable_focus option for documentation purpose. 2008-10-07 Benjamin Berg * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (clearlooks_style_init_from_rc), (clearlooks_style_draw_focus), (clearlooks_style_copy): * engines/clearlooks/src/clearlooks_style.h: * schema/clearlooks.xml.in.in: Added a disable_focus option for documentation purpose. svn path=/trunk/; revision=1265 ChangeLog | 14 ++++++++++++++ engines/clearlooks/src/clearlooks_rc_style.c | 9 +++++++++ engines/clearlooks/src/clearlooks_rc_style.h | 4 +++- engines/clearlooks/src/clearlooks_style.c | 8 +++++++- engines/clearlooks/src/clearlooks_style.h | 1 + schema/clearlooks.xml.in.in | 5 +++++ 6 files changed, 39 insertions(+), 2 deletions(-) commit ca5f5700ebaff03b107e996acf0fe9d3c817e9f6 Author: Thomas Wood Date: Mon Oct 6 10:16:28 2008 +0000 Style the focus indicator in Mist 2008-10-06 Thomas Wood * engines/mist/src/mist-style.c: (mist_style_draw_focus), (mist_style_class_init): Style the focus indicator in Mist svn path=/trunk/; revision=1264 ChangeLog | 5 +++++ engines/mist/src/mist-style.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 0 deletions(-) commit d612815d550d20b439d3b4df4c535bbfa4b72109 Author: Benjamin Berg Date: Sat Sep 27 12:25:09 2008 +0000 Version bump to 2.17.0. 2008-09-27 Benjamin Berg * configure.ac: Version bump to 2.17.0. svn path=/trunk/; revision=1263 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 4d6ce5495a0b2cd31d20520a789031c7d9adc07b Author: Benjamin Berg Date: Sat Sep 27 12:02:19 2008 +0000 Add the new icon view detail strings to the torture tester. 2008-09-27 Benjamin Berg * test/torturetest.c: Add the new icon view detail strings to the torture tester. svn path=/trunk/; revision=1262 ChangeLog | 5 +++++ test/torturetest.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit 3e2564251659098c664c539f7cf141b61c0bf7f8 Author: Denis Washington Date: Sat Sep 27 08:18:47 2008 +0000 Customize drawing of the selection rectangles around GtkIconView items 2008-09-27 Denis Washington * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_gummy.c: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_types.h: Customize drawing of the selection rectangles around GtkIconView items introduced in GTK+ trunk. (Bug #553575) svn path=/trunk/; revision=1261 ChangeLog | 11 ++++++ engines/clearlooks/src/clearlooks_draw.c | 38 +++++++++++++++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 21 ++++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 23 ++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 23 ++++++++++++++ engines/clearlooks/src/clearlooks_types.h | 6 +++ 6 files changed, 122 insertions(+), 0 deletions(-) commit 1a68e84aa349e288729bf5272dd98f80b7eab7bd Author: Benjamin Berg Date: Mon Sep 22 18:48:03 2008 +0000 Update for 2.16.0. 2008-09-22 Benjamin Berg * NEWS: * configure.ac: Update for 2.16.0. svn path=/trunk/; revision=1258 ChangeLog | 6 ++++++ NEWS | 16 ++++++++++++++++ configure.ac | 2 +- 3 files changed, 23 insertions(+), 1 deletions(-) commit 4379926e30b166c0e167ce2de7181ccffcd8cebc Author: Laurent Dhima Date: Sat Sep 20 17:33:42 2008 +0000 Updated Translation svn path=/trunk/; revision=1257 po/ChangeLog | 4 ++ po/sq.po | 92 ++++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 75 insertions(+), 21 deletions(-) commit 2fe412c40cd75b1159103a0e5b4418234f0fdb25 Author: Goran Rakic Date: Sat Sep 20 01:57:08 2008 +0000 Updated Serbian translation svn path=/trunk/; revision=1256 po/ChangeLog | 4 +++ po/sr.po | 70 ++++++++++++++++++++++++++++++++++++++++++++++++-------- po/sr@latin.po | 70 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 124 insertions(+), 20 deletions(-) commit 228b3c8732fb2c90fe5f03454d0b7bb2dfb3894c Author: Djihed Afifi Date: Thu Sep 18 02:04:49 2008 +0000 Updated Arabic Translation by Djihed Afifi. * Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1255 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit e219ec0d3747d77618541ac3046b59389ef746ac Author: Felix I Date: Wed Sep 17 12:06:31 2008 +0000 Tamil translation updated svn path=/trunk/; revision=1254 po/ChangeLog | 4 +++ po/ta.po | 78 +++++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 68 insertions(+), 14 deletions(-) commit f681a4d30f7a6f82c736e5b4c61ec9260f6d7af0 Author: Priit Laes Date: Tue Sep 16 12:46:52 2008 +0000 Translation updated by Ivar Smolin 2008-09-16 Priit Laes * et.po: Translation updated by Ivar Smolin svn path=/trunk/; revision=1253 po/ChangeLog | 4 ++++ po/et.po | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) commit 7cfcd669e9550e6d03d1039aa18e0a8c411d3261 Author: Djihed Afifi Date: Mon Sep 15 09:41:52 2008 +0000 Updated Arabic Translation by Djihed Afifi. * Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1252 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit c81479062c8190b3d23c723ca684f4384dfdc06e Author: Benjamin Berg Date: Fri Sep 5 13:15:24 2008 +0000 Made the horizontal line in the spinbutton smaller. 2008-09-05 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_spinbutton): Made the horizontal line in the spinbutton smaller. svn path=/trunk/; revision=1251 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) commit 72cd453ad4b53958b40ec3c938eec0deb3029a6c Author: Benjamin Berg Date: Mon Sep 1 23:57:35 2008 +0000 Postrelease version bump to 2.15.5. 2008-09-02 Benjamin Berg * configure.ac: Postrelease version bump to 2.15.5. svn path=/trunk/; revision=1250 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 703137955e27f087391b9460a7a1f848753c7272 Author: Benjamin Berg Date: Mon Sep 1 23:38:49 2008 +0000 Update for 2.15.4. 2008-09-02 Benjamin Berg * NEWS: Update for 2.15.4. svn path=/trunk/; revision=1248 ChangeLog | 5 +++++ NEWS | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 0 deletions(-) commit a88038438bc87179d68911b832e03176d4a14c55 Author: Benjamin Berg Date: Mon Sep 1 15:03:17 2008 +0000 Use the G_DEFINE_DYNAMIC_TYPE macro provided by GLib. Bug #549830 Patch by 2008-09-01 Benjamin Berg * engines/clearlooks/src/clearlooks_rc_style.c: * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_theme_main.c: Use the G_DEFINE_DYNAMIC_TYPE macro provided by GLib. Bug #549830 Patch by Christian Dywan. svn path=/trunk/; revision=1247 ChangeLog | 10 +++ engines/clearlooks/src/clearlooks_rc_style.c | 43 +++-------- engines/clearlooks/src/clearlooks_rc_style.h | 12 ++- engines/clearlooks/src/clearlooks_style.c | 90 ++++++++++-------------- engines/clearlooks/src/clearlooks_style.h | 7 +- engines/clearlooks/src/clearlooks_theme_main.c | 4 +- 6 files changed, 71 insertions(+), 95 deletions(-) commit 1ef5b42bd5456f4a8339c883044bcc08b5b26ad8 Author: Praveen Arimbrathodiyil Date: Mon Sep 1 02:21:48 2008 +0000 Malayalam translation updated by Harivishnu svn path=/trunk/; revision=1246 po/ChangeLog | 4 ++ po/ml.po | 111 +++++++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 84 insertions(+), 31 deletions(-) commit 290b7e85d47ebf82bfdd13f1323a65d4bfff6836 Author: Sunil Mohan Adapa Date: Sat Aug 30 11:17:51 2008 +0000 Added Telugu (te). Fixed incorrect order for sq and sr. Added Telugu 2008-08-30 Sunil Mohan Adapa * LINGUAS: Added Telugu (te). Fixed incorrect order for sq and sr. * te.po: Added Telugu translation done by Krishna Babu K . svn path=/trunk/; revision=1245 po/ChangeLog | 5 ++ po/LINGUAS | 3 +- po/te.po | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 206 insertions(+), 1 deletions(-) commit 188913c45eadeaac63371dece2f5d3b870ce280f Author: Goran Rakic Date: Mon Aug 25 14:55:09 2008 +0000 Conversion from sr@Latn to sr@latin svn path=/trunk/; revision=1244 po/ChangeLog | 5 ++ po/LINGUAS | 2 +- po/sr@Latn.po | 149 -------------------------------------------------------- po/sr@latin.po | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 155 insertions(+), 150 deletions(-) commit 4863c578cbe507f3f55ebf093f6e3f28bc616915 Author: Andrea Cimitan Date: Wed Aug 20 15:44:03 2008 +0000 Inreased menuitem separator spacing from 5 to 7 2008-08-20 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Inreased menuitem separator spacing from 5 to 7 svn path=/trunk/; revision=1243 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 1b00257e5390783800240b05a53786b7a31c14aa Author: Benjamin Berg Date: Wed Aug 20 15:39:23 2008 +0000 Fix the separator height, which was broken by the last commit. 2008-08-20 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Fix the separator height, which was broken by the last commit. svn path=/trunk/; revision=1242 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 6ea3f37a5245080729ceaa9f84bb738d96f6e0da Author: Benjamin Berg Date: Tue Aug 19 18:10:26 2008 +0000 Rework the gtkrcs so that all clearlooks based gtkrcs match better. 2008-08-19 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Rework the gtkrcs so that all clearlooks based gtkrcs match better. svn path=/trunk/; revision=1241 ChangeLog | 5 + themes/Clearlooks/gtk-2.0/gtkrc | 569 +++++++++++++++++++-------------------- 2 files changed, 280 insertions(+), 294 deletions(-) commit 8b4d1a63a844c7ac250efc99046789c1251802a3 Author: Benjamin Berg Date: Mon Aug 18 22:02:18 2008 +0000 Remove useless AM_PROG_CC_STDC. Thanks for Werner Pantke. 2008-08-19 Benjamin Berg * configure.ac: Remove useless AM_PROG_CC_STDC. Thanks for Werner Pantke. svn path=/trunk/; revision=1240 ChangeLog | 5 +++++ configure.ac | 1 - 2 files changed, 5 insertions(+), 1 deletions(-) commit e9cc54a3f1c156ad81333b1a62a55102b330e69e Author: Benjamin Berg Date: Mon Aug 18 19:43:01 2008 +0000 Increase version to 2.15.4. 2008-08-18 Benjamin Berg * configure.ac: Increase version to 2.15.4. svn path=/trunk/; revision=1239 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit ce80e0ffd78c457d1f6dcb336ec9bda9e0523bc3 Author: Benjamin Berg Date: Mon Aug 18 19:36:09 2008 +0000 Update for 2.15.3 release. 2008-08-18 Benjamin Berg * NEWS: Update for 2.15.3 release. svn path=/trunk/; revision=1237 ChangeLog | 5 +++++ NEWS | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 0 deletions(-) commit 1420e6092687854f784d42f9f2641a35fe7193ca Author: Benjamin Berg Date: Thu Aug 14 22:53:45 2008 +0000 Prerelease version bump to 2.15.3. 2008-08-15 Benjamin Berg * configure.ac: Prerelease version bump to 2.15.3. svn path=/trunk/; revision=1236 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit de4c090afc8c80e5e516c1cf1be37dea18c4bd39 Author: Benjamin Berg Date: Thu Aug 14 22:44:20 2008 +0000 Add gecko's entry workaround style property to the gtkrcs. 2008-08-15 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: * themes/Industrial/gtk-2.0/gtkrc: Add gecko's entry workaround style property to the gtkrcs. svn path=/trunk/; revision=1235 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 5 +++++ themes/Industrial/gtk-2.0/gtkrc | 5 +++++ 3 files changed, 16 insertions(+), 0 deletions(-) commit 68befa4ff51107adccae14b451415cdb85cc60df Author: Benjamin Berg Date: Thu Aug 14 22:40:21 2008 +0000 Fill in the entries background. However, only fill it if the 2008-08-15 Benjamin Berg * engines/industrial/src/industrial_style.c: (real_draw_box): Fill in the entries background. However, only fill it if the transparent-bg-hint has not been set. svn path=/trunk/; revision=1234 ChangeLog | 6 +++++ engines/industrial/src/industrial_style.c | 32 +++++++++++++++++++++++++--- 2 files changed, 34 insertions(+), 4 deletions(-) commit c106aa08353ff08c9046b459da1e9eeb72ecbcf1 Author: Benjamin Berg Date: Thu Aug 14 22:18:44 2008 +0000 Fix the check to also fill the background if the widget is NULL. 2008-08-15 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow), (clearlooks_style_draw_box): Fix the check to also fill the background if the widget is NULL. svn path=/trunk/; revision=1233 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 2a1afa23bd4a3805a9ba2260d6b23d7d9f088ea7 Author: Benjamin Berg Date: Thu Aug 14 22:03:42 2008 +0000 Prevent negative width/height from destroying the patterns for later 2008-08-15 Benjamin Berg * engines/support/cairo-support.c: (ge_cairo_pattern_fill): Prevent negative width/height from destroying the patterns for later drawing operations. svn path=/trunk/; revision=1232 ChangeLog | 6 ++++++ engines/support/cairo-support.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) commit c3e7ae30ad2466f403cdc8fb69b58e134e0cc3c7 Author: Benjamin Berg Date: Thu Aug 14 21:52:40 2008 +0000 Add support for the "transparent-bg-hint" for entries and progress bars. 2008-08-14 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_gummy.c: * engines/clearlooks/src/clearlooks_style.c: Add support for the "transparent-bg-hint" for entries and progress bars. svn path=/trunk/; revision=1231 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 14 +------------- engines/clearlooks/src/clearlooks_draw_glossy.c | 6 ------ engines/clearlooks/src/clearlooks_draw_gummy.c | 14 +------------- engines/clearlooks/src/clearlooks_style.c | 21 +++++++++++++++++++++ 5 files changed, 32 insertions(+), 32 deletions(-) commit b9b9a4d02a9ee1bdd5a55450eadb7458295518c4 Author: David Zeuthen Date: Sun Aug 10 20:18:04 2008 +0000 Avoid hardcoding the radio button size (#547024) 2008-08-10 David Zeuthen * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_radiobutton): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_radiobutton): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_radiobutton): Avoid hardcoding the radio button size (#547024) svn path=/trunk/; revision=1230 ChangeLog | 10 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 27 ++++++++++++++-------- engines/clearlooks/src/clearlooks_draw_glossy.c | 27 ++++++++++++++-------- engines/clearlooks/src/clearlooks_draw_gummy.c | 27 ++++++++++++++-------- 4 files changed, 61 insertions(+), 30 deletions(-) commit ea24c75f1029eaeddac528b95afd687f12d15fcc Author: Djihed Afifi Date: Wed Aug 6 08:31:48 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1229 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit d56ec60baff74e880331d8f737644d089c1d313b Author: Sweta Kothari Date: Wed Aug 6 06:20:58 2008 +0000 Committed Translation by Sweta Kothari svn path=/trunk/; revision=1228 po/ChangeLog | 4 +++ po/gu.po | 86 +++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 72 insertions(+), 18 deletions(-) commit 7379438d272b9129284225a13e756eab536d5ec5 Author: Benjamin Berg Date: Mon Aug 4 21:39:47 2008 +0000 Update for 2.15.2 release. 2008-08-04 Benjamin Berg * NEWS: * configure.ac: Update for 2.15.2 release. svn path=/trunk/; revision=1227 ChangeLog | 6 ++++++ NEWS | 25 +++++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 32 insertions(+), 1 deletions(-) commit 54551b36c3297d814c1edee8dccd9b134b2ec28e Author: Benjamin Berg Date: Mon Aug 4 21:37:44 2008 +0000 Removed the smooth engine from the README. 2008-08-04 Benjamin Berg * README: Removed the smooth engine from the README. svn path=/trunk/; revision=1226 ChangeLog | 5 +++++ README | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) commit 48c149400d4aa9a4c8f67822e17bb42852e53249 Author: Benjamin Berg Date: Mon Aug 4 15:50:45 2008 +0000 Include stdio.h. (bug #543608, Rodrigo Moya) 2008-08-04 Benjamin Berg * engines/industrial/src/industrial_style.c: Include stdio.h. (bug #543608, Rodrigo Moya) svn path=/trunk/; revision=1225 ChangeLog | 5 +++++ engines/industrial/src/industrial_style.c | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) commit fae71a9e6dec9bf57d6ec93f67dd418553d16a73 Author: Benjamin Berg Date: Mon Aug 4 15:44:55 2008 +0000 Removes unnecessary CairoColor cast to fix build on solaris. (bug #535456, 2008-08-04 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow): Removes unnecessary CairoColor cast to fix build on solaris. (bug #535456, patch by Damien Carbery) svn path=/trunk/; revision=1224 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) commit 116c84b864a266471776f3fa36e12aaf547b0517 Author: Benjamin Berg Date: Mon Aug 4 15:40:38 2008 +0000 Remove dead code found by coverity (bug #501734, Kjartan Maraas) 2008-08-04 Benjamin Berg * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_option): Remove dead code found by coverity (bug #501734, Kjartan Maraas) svn path=/trunk/; revision=1223 ChangeLog | 5 +++ engines/glide/src/glide_gtk2_drawing.c | 46 -------------------------------- 2 files changed, 5 insertions(+), 46 deletions(-) commit 19e36ac52b7c761bb84e96324c11d6f51f5807bf Author: Djihed Afifi Date: Tue Jul 29 01:33:17 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1222 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 1ae140c29bdeda1d371652bb9c77b63ce5421293 Author: Gil Forcada Codinachs Date: Fri Jul 25 16:38:13 2008 +0000 Fixed, now damned-lies can generate stats from gnome-utils svn path=/trunk/; revision=1221 po/ChangeLog | 4 ++++ po/POTFILES.in | 1 - 2 files changed, 4 insertions(+), 1 deletions(-) commit 1e125753823000c90b5fc9030ad984f2bd24ac83 Author: Benjamin Berg Date: Thu Jul 24 22:33:10 2008 +0000 Forgot to remove the schema. 2008-07-25 Benjamin Berg * schema/Makefile.am: * schema/smooth.xml.in.in: Forgot to remove the schema. svn path=/trunk/; revision=1220 ChangeLog | 6 ++++++ schema/Makefile.am | 1 - schema/smooth.xml.in.in | 15 --------------- 3 files changed, 6 insertions(+), 16 deletions(-) commit 42208afd231ab686a7d092118efc41dc09c710c0 Author: Benjamin Berg Date: Thu Jul 24 22:30:12 2008 +0000 Removed the smooth engine from gtk-engines. 2008-07-25 Benjamin Berg * COPYING: * configure.ac: * engines/Makefile.am: * engines/smooth/*: * test/Makefile.am: * test/gtkrcs/smooth: Removed the smooth engine from gtk-engines. svn path=/trunk/; revision=1219 COPYING | 1 - ChangeLog | 10 + configure.ac | 17 - engines/Makefile.am | 2 +- engines/smooth/AUTHORS | 49 - engines/smooth/Makefile.am | 70 - .../src/engine/shared/gtk/smooth_gtk_drawing.c | 718 ---- .../src/engine/shared/gtk/smooth_gtk_drawing.h | 103 - .../smooth/src/engine/shared/gtk/smooth_gtk_misc.c | 294 -- .../smooth/src/engine/shared/gtk/smooth_gtk_misc.h | 39 - .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 2492 -------------- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 506 --- engines/smooth/src/engine/smooth_gtk2_drawing.c | 3426 -------------------- engines/smooth/src/engine/smooth_gtk2_drawing.h | 266 -- engines/smooth/src/engine/smooth_gtk2_engine.c | 351 -- engines/smooth/src/engine/smooth_gtk2_engine.h | 80 - engines/smooth/src/engine/smooth_gtk2_misc.c | 368 --- engines/smooth/src/engine/smooth_gtk2_misc.h | 94 - engines/smooth/src/engine/smooth_gtk2_rc.c | 441 --- engines/smooth/src/engine/smooth_gtk2_rc.h | 105 - .../abstract/abstract_drawing_interface.c | 737 ----- .../abstract/abstract_drawing_interface.h | 29 - .../interfaces/abstract/abstract_type_defines.h | 143 - .../abstract/src/abstract_gradient_routines.c | 182 -- .../abstract/src/abstract_gradient_routines.h | 29 - .../abstract/src/abstract_tile_routines.c | 258 -- .../abstract/src/abstract_tile_routines.h | 29 - engines/smooth/src/interfaces/drawing_interface.c | 1359 -------- engines/smooth/src/interfaces/drawing_interface.h | 814 ----- .../src/interfaces/gdk2/gdk2_drawing_interface.c | 1387 -------- .../src/interfaces/gdk2/gdk2_drawing_interface.h | 43 - .../gdk2/gdk2_private_drawing_interface.h | 34 - .../smooth/src/interfaces/gdk2/gdk2_type_defines.h | 62 - .../interfaces/gdk2/src/gdk2_gradient_routines.c | 421 --- .../interfaces/gdk2/src/gdk2_gradient_routines.h | 31 - .../interfaces/shared/gdk/gdk_drawing_interface.c | 1321 -------- .../interfaces/shared/gdk/gdk_drawing_interface.h | 54 - .../shared/gdk/gdk_private_drawing_interface.h | 183 -- .../src/interfaces/shared/gdk/gdk_type_defines.h | 96 - engines/smooth/src/utils/calc_colors.c | 327 -- engines/smooth/src/utils/calc_colors.h | 36 - engines/smooth/src/utils/draw_arrows.c | 736 ----- engines/smooth/src/utils/draw_arrows.h | 118 - engines/smooth/src/utils/draw_border.c | 1111 ------- engines/smooth/src/utils/draw_border.h | 146 - engines/smooth/src/utils/draw_checkmark.c | 290 -- engines/smooth/src/utils/draw_checkmark.h | 71 - engines/smooth/src/utils/draw_fill.c | 90 - engines/smooth/src/utils/draw_fill.h | 61 - engines/smooth/src/utils/draw_grips.c | 350 -- engines/smooth/src/utils/draw_grips.h | 123 - engines/smooth/src/utils/smooth_parts.h | 38 - test/Makefile.am | 5 +- test/gtkrcs/smooth | 10 - 54 files changed, 12 insertions(+), 20144 deletions(-) commit bbdedc41a2162b1cd1b36e7132cc66dba4c9353c Author: Benjamin Berg Date: Tue Jul 15 19:07:18 2008 +0000 Move the progress bar match in the style. This fixes the network-manager 2008-07-15 Benjamin Berg * themes/Industrial/gtk-2.0/gtkrc: Move the progress bar match in the style. This fixes the network-manager applet. svn path=/trunk/; revision=1218 ChangeLog | 6 ++++++ themes/Industrial/gtk-2.0/gtkrc | 3 ++- 2 files changed, 8 insertions(+), 1 deletions(-) commit 9620ccf7242471642b7896c963a90f14f4c5e706 Author: Benjamin Berg Date: Tue Jul 15 19:05:52 2008 +0000 Fill the gap in notebook correctly (bug #542625). 2008-07-15 Benjamin Berg * engines/industrial/src/industrial_style.c: (real_draw_box_gap): Fill the gap in notebook correctly (bug #542625). svn path=/trunk/; revision=1217 ChangeLog | 5 +++++ engines/industrial/src/industrial_style.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletions(-) commit f18ec0e4ac9e0b00c2f4c6a05eab573a0b9f3c78 Author: Benjamin Berg Date: Mon Jun 16 18:48:44 2008 +0000 Change the header button position enum to be a bitfield. (Bug #511958, 2008-06-16 Benjamin Berg * engines/clearlooks/src/clearlooks_draw*.c: (*_draw_list_view_header): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): * engines/clearlooks/src/clearlooks_types.h: Change the header button position enum to be a bitfield. (Bug #511958, Marcus Brinkmann) svn path=/trunk/; revision=1213 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 +++--- engines/clearlooks/src/clearlooks_draw_glossy.c | 6 +++--- engines/clearlooks/src/clearlooks_draw_gummy.c | 6 +++--- engines/clearlooks/src/clearlooks_draw_inverted.c | 6 +++--- engines/clearlooks/src/clearlooks_style.c | 11 +++++------ engines/clearlooks/src/clearlooks_types.h | 5 ++--- 7 files changed, 29 insertions(+), 21 deletions(-) commit abb80134b0847ce102a7b04d3004575d456433bc Author: Djihed Afifi Date: Wed Jun 11 21:39:52 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1212 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 96327e2fd35d7e5430c6ad227443e08ce04362c4 Author: Benjamin Berg Date: Fri Jun 6 15:41:11 2008 +0000 Draw only half around the corners. 2008-06-06 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_highlight_and_shade): Draw only half around the corners. svn path=/trunk/; revision=1211 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) commit b98272b9c0d85af95a3447aae182c87ba737f2c2 Author: Clytie Siddall Date: Sat May 31 13:56:43 2008 +0000 Updated Vietnamese translation svn path=/trunk/; revision=1209 po/ChangeLog | 4 ++++ po/vi.po | 47 ++++++++++++++++++++++++++++++----------------- 2 files changed, 34 insertions(+), 17 deletions(-) commit 8e8a601924091b049b1fd8a0d09d816659792266 Author: Andrea Cimitan Date: Thu May 29 16:12:25 2008 +0000 Changes menuitem separator height from 5 to 7 2008-05-29 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c (clearlooks_style_draw_shadow): * themes/Clearlooks/gtk-2.0/gtkrc: Changes menuitem separator height from 5 to 7 svn path=/trunk/; revision=1208 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- engines/smooth/src/engine/smooth_gtk2_rc.c | 4 ++-- themes/Clearlooks/gtk-2.0/gtkrc | 3 ++- 4 files changed, 13 insertions(+), 4 deletions(-) commit a2cb4f69c45ceaf537f38bffca48bb093ad98319 Author: Djihed Afifi Date: Thu May 22 22:58:50 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1205 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit c6b7931a8989ff36529166aabb59395422ba275b Author: Djihed Afifi Date: Mon May 19 01:12:50 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1204 po/ChangeLog | 4 ++++ po/ar.po | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) commit e6f46b0d2c228416dd8ee9142bc4c14086b2731f Author: Benjamin Berg Date: Mon May 12 20:55:55 2008 +0000 2.15.1 release. 2008-05-12 Benjamin Berg * NEWS: * configure.ac: 2.15.1 release. svn path=/trunk/; revision=1202 ChangeLog | 6 ++++++ NEWS | 17 +++++++++++++++++ configure.ac | 2 +- 3 files changed, 24 insertions(+), 1 deletions(-) commit 40c690258577f55787bcac7af994b45e252ec266 Author: Alexander Shopov Date: Mon May 12 18:18:15 2008 +0000 Updated Bulgarian translation by Yavor Doganov 2008-05-12 Alexander Shopov * bg.po: Updated Bulgarian translation by Yavor Doganov svn path=/trunk/; revision=1200 po/ChangeLog | 5 +++ po/bg.po | 86 ++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 74 insertions(+), 17 deletions(-) commit 1308068cb076a853856e398d9af64ccb4504fc3a Author: Andrea Cimitan Date: Mon May 12 09:53:24 2008 +0000 Fixed tab stripe and different shadings from the original clearlooks. I 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_button), (clearlooks_draw_tab), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider), (clearlooks_register_style_classic): Fixed tab stripe and different shadings from the original clearlooks. I think maybe they look better (smoother). svn path=/trunk/; revision=1199 ChangeLog | 10 +++ engines/clearlooks/src/clearlooks_draw.c | 116 +++++++++++++++--------------- 2 files changed, 69 insertions(+), 57 deletions(-) commit b38bb06efaf5369c9ed426cb28cd16f77990b06b Author: Andrea Cimitan Date: Mon May 12 01:49:19 2008 +0000 Removed top & bottom borders. 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_selected_cell): Removed top & bottom borders. svn path=/trunk/; revision=1198 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 11 ----------- 2 files changed, 6 insertions(+), 11 deletions(-) commit c257b8b619568f4785342d2d1c473715309e33c1 Author: Andrea Cimitan Date: Mon May 12 01:46:38 2008 +0000 Changed look of default, get rid of the ugly rectangle. Maybe I should add 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_button): Changed look of default, get rid of the ugly rectangle. Maybe I should add a little shadow. * engines/clearlooks/src/clearlooks_style.c (clearlooks_style_draw_shadow): Changed border for scrolled_window svn path=/trunk/; revision=1197 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_draw.c | 11 +++-------- engines/clearlooks/src/clearlooks_style.c | 10 ++++++++-- 3 files changed, 22 insertions(+), 10 deletions(-) commit f9ddace009b71311ec1b7994ceb6d76d760c8c7e Author: Andrea Cimitan Date: Mon May 12 01:22:25 2008 +0000 This one compiles :) 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_slider): This one compiles :) svn path=/trunk/; revision=1196 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) commit 8053038a63000067ce05128393fbeb1cd21b59c3 Author: Andrea Cimitan Date: Mon May 12 01:19:24 2008 +0000 Use some constants 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_button), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider): Use some constants svn path=/trunk/; revision=1195 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 30 ++++++++++++++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) commit 7f335bf058e91f5ca8e17d36c7987239a37ac981 Author: Andrea Cimitan Date: Mon May 12 01:10:54 2008 +0000 Better scale trough. 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_scale_trough), (clearlooks_draw_slider), (clearlooks_draw_progressbar_fill): Better scale trough. svn path=/trunk/; revision=1194 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 26 +++++++++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) commit 42486ec5136cacf98f9b0548f5d18d75178b4ed9 Author: Andrea Cimitan Date: Mon May 12 00:16:19 2008 +0000 Old looking scrollbar sliders & steppers. 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_spinbutton), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider): Old looking scrollbar sliders & steppers. svn path=/trunk/; revision=1193 ChangeLog | 7 ++++ engines/clearlooks/src/clearlooks_draw.c | 49 +++++++++++++++-------------- 2 files changed, 32 insertions(+), 24 deletions(-) commit 7262eb80cbb58671149a8d40455f36ec07c736ea Author: Andrea Cimitan Date: Sun May 11 22:48:06 2008 +0000 Old looking scrolled window. 2008-05-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_list_view_header): * engines/clearlooks/src/clearlooks_style.c (clearlooks_style_draw_shadow): Old looking scrolled window. svn path=/trunk/; revision=1192 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 19 ++++--------------- engines/clearlooks/src/clearlooks_style.c | 2 +- 3 files changed, 13 insertions(+), 16 deletions(-) commit 2f92f8534813c1de1538bafc295f8e2f4c52ba77 Author: Andrea Cimitan Date: Sun May 11 21:36:35 2008 +0000 First implementation of the old scrollbar, it is breaking Inverted and 2008-05-11 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_scale_trough), (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill): First implementation of the old scrollbar, it is breaking Inverted and maybe Glossy (maybe Gummy? :) ) svn path=/trunk/; revision=1191 ChangeLog | 9 +++ engines/clearlooks/src/clearlooks_draw.c | 110 ++++++++++++------------------ 2 files changed, 52 insertions(+), 67 deletions(-) commit 46a9dc3413461ec8a2b65732f405fabb38b2c326 Author: Benjamin Berg Date: Sun May 11 21:13:25 2008 +0000 Fix button inset. 2008-05-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Fix button inset. svn path=/trunk/; revision=1190 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit feb9e1faeeffae12f5ef84268c517bee0585ad25 Author: Benjamin Berg Date: Sun May 11 21:07:21 2008 +0000 The inset was broken (ie. invisible). 2008-05-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_checkbox): The inset was broken (ie. invisible). svn path=/trunk/; revision=1189 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 6fde13e9be0d52403b0cd41e77f6ea91ab8e3392 Author: Andrea Cimitan Date: Sun May 11 21:05:22 2008 +0000 Fixes the right shadow. 2008-05-11 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c (clearlooks_draw_button): Fixes the right shadow. svn path=/trunk/; revision=1188 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 19 +++++-------------- 2 files changed, 11 insertions(+), 14 deletions(-) commit 542254257c2c86ad507f313de1c6a8e5e08c917e Author: Benjamin Berg Date: Sun May 11 21:01:54 2008 +0000 Remove bogus debug code. 2008-05-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button): Remove bogus debug code. svn path=/trunk/; revision=1187 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 1 - 2 files changed, 6 insertions(+), 1 deletions(-) commit 07a806d477f4043cd9968df0da3ca2c29add7533 Author: Benjamin Berg Date: Sun May 11 20:59:51 2008 +0000 More visual fixes. 2008-05-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_gummy.c: * engines/clearlooks/src/clearlooks_draw_inverted.c: More visual fixes. svn path=/trunk/; revision=1186 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 ++++-- engines/clearlooks/src/clearlooks_draw_glossy.c | 2 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 9 +++++---- engines/clearlooks/src/clearlooks_draw_inverted.c | 6 +++--- 5 files changed, 21 insertions(+), 10 deletions(-) commit dc21b6e577a277509bdae7aa83204c12bf07dbdc Author: Benjamin Berg Date: Sun May 11 20:31:34 2008 +0000 Fix some bugs I introduced earlier. (This is not 100% everywhere, but 2008-05-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_scale_draw_gradient), (clearlooks_draw_slider): Fix some bugs I introduced earlier. (This is not 100% everywhere, but should be close enough.) svn path=/trunk/; revision=1185 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 18 +++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) commit cd20201c5be852f92ab3648463b924bb20b38bbd Author: Andrea Cimitan Date: Sun May 11 12:38:09 2008 +0000 More work to make Classic look as the old non-cairo version. 2008-05-11 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_highlight_and_shade), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_spinbutton_down), (clearlooks_draw_scale_trough), (clearlooks_draw_frame), (clearlooks_draw_separator), (clearlooks_draw_list_view_header), (clearlooks_draw_toolbar): More work to make Classic look as the old non-cairo version. svn path=/trunk/; revision=1184 ChangeLog | 10 ++++ engines/clearlooks/src/clearlooks_draw.c | 70 +++++++++++++++++------------- 2 files changed, 50 insertions(+), 30 deletions(-) commit af4023ee163833abfca54e075c3ba1111238e4b1 Author: Benjamin Berg Date: Sat May 10 20:03:38 2008 +0000 Code cleanups, and fixes (and 0.5 translation stuff) 2008-05-10 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_button), (clearlooks_inverted_draw_slider), (clearlooks_inverted_draw_scrollbar_stepper), (clearlooks_register_style_inverted): Code cleanups, and fixes (and 0.5 translation stuff) svn path=/trunk/; revision=1183 ChangeLog | 9 ++++ engines/clearlooks/src/clearlooks_draw_inverted.c | 54 ++++----------------- 2 files changed, 19 insertions(+), 44 deletions(-) commit 31ef6ce13f2dd9a66d9c6e9fc2ce8e53d64f4660 Author: Benjamin Berg Date: Sat May 10 19:55:13 2008 +0000 Fix the style initilization. 2008-05-10 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_class_init): Fix the style initilization. svn path=/trunk/; revision=1182 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) commit 15afdde84787b44612ebc8bc3327ac7415410c04 Author: Benjamin Berg Date: Sat May 10 19:44:03 2008 +0000 Add "style_constants" in addition to the "style_functions". And removed 2008-05-10 Benjamin Berg * engines/clearlooks/src/*: Add "style_constants" in addition to the "style_functions". And removed the duplication of the top_left_highlight function. svn path=/trunk/; revision=1181 ChangeLog | 6 ++ engines/clearlooks/src/clearlooks_draw.c | 18 ++++-- engines/clearlooks/src/clearlooks_draw.h | 8 +- engines/clearlooks/src/clearlooks_draw_glossy.c | 2 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 66 ++++----------------- engines/clearlooks/src/clearlooks_draw_inverted.c | 37 +++--------- engines/clearlooks/src/clearlooks_style.c | 19 +++++- engines/clearlooks/src/clearlooks_style.h | 1 + engines/clearlooks/src/clearlooks_types.h | 15 +++++ 9 files changed, 75 insertions(+), 97 deletions(-) commit b02b07c8f32c4bc93828c0ebf021d0bd5c979519 Author: Benjamin Berg Date: Sat May 10 19:10:00 2008 +0000 More 0.5 translation stuff. 2008-05-10 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_top_left_highlight), (clearlooks_gummy_draw_button), (clearlooks_gummy_draw_slider), (clearlooks_gummy_draw_slider_button), (clearlooks_gummy_draw_scrollbar_stepper): More 0.5 translation stuff. svn path=/trunk/; revision=1180 ChangeLog | 10 +++ engines/clearlooks/src/clearlooks_draw.c | 2 + engines/clearlooks/src/clearlooks_draw_gummy.c | 77 +++++++++++++----------- 3 files changed, 54 insertions(+), 35 deletions(-) commit a7457fe20ee5fadc1c1bba95722ea118080dc2c9 Author: Benjamin Berg Date: Sat May 10 18:51:22 2008 +0000 Remove some 0.5 translations. The one in draw_tab is still there. 2008-05-10 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_tab), (clearlooks_glossy_draw_slider), (clearlooks_glossy_draw_slider_button), (clearlooks_glossy_draw_scrollbar_stepper): Remove some 0.5 translations. The one in draw_tab is still there. svn path=/trunk/; revision=1179 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 16 ++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) commit adaa52aa46bca3708f322248136be7376acc0769 Author: Benjamin Berg Date: Sat May 10 18:43:10 2008 +0000 Place the corner correctly. 2008-05-10 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_shadow): Place the corner correctly. svn path=/trunk/; revision=1178 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit a656536510d1aab7faffd0ced11ceab7a1961a7d Author: Benjamin Berg Date: Fri May 9 19:43:04 2008 +0000 Remove unused variable. 2008-05-09 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_handle): Remove unused variable. svn path=/trunk/; revision=1177 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) commit 5c31c8533b47f21fbd9fa6ce5b5b405e5d4a11de Author: Benjamin Berg Date: Fri May 9 19:42:07 2008 +0000 Fix gripdot placement. 2008-05-09 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_gripdots): Fix gripdot placement. svn path=/trunk/; revision=1176 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 15 ++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) commit a49375154cb9b4578183cb36e93ef66ec2e70070 Author: Benjamin Berg Date: Tue May 6 19:17:36 2008 +0000 Removed unused variables. 2008-05-06 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_realize): Removed unused variables. svn path=/trunk/; revision=1175 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) commit 4af9bed32cdfd08ce838538642b0e9898ac7bae7 Author: Benjamin Berg Date: Tue May 6 19:16:20 2008 +0000 Use the present steppers, not the slider position. 2008-05-06 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Use the present steppers, not the slider position. * engines/clearlooks/src/support.c: (clearlooks_scrollbar_visible_steppers): If this is not a range, assume stepper A and D. svn path=/trunk/; revision=1174 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_style.c | 12 +++++++----- engines/clearlooks/src/support.c | 4 +++- 3 files changed, 20 insertions(+), 6 deletions(-) commit dfdbd75f487287a32381f7fd75e1b1e848b1d3b3 Author: Benjamin Berg Date: Tue May 6 19:07:02 2008 +0000 Comment out two broken and unneded lines. 2008-05-06 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_realize): Comment out two broken and unneded lines. svn path=/trunk/; revision=1173 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) commit 8d5ac688c61b163fe1012f602ddbfc11c7d82377 Author: Benjamin Berg Date: Tue May 6 18:53:13 2008 +0000 Only decrease the size of the scrollbar trough if the 2008-05-06 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Only decrease the size of the scrollbar trough if the trough-under-steppers style property is set and steppers are present. Fixes bug #531633. svn path=/trunk/; revision=1172 ChangeLog | 8 +++++ engines/clearlooks/src/clearlooks_style.c | 45 +++++++++++++++++++++++------ 2 files changed, 44 insertions(+), 9 deletions(-) commit c4c2da4f91e9eb3cc782230f31a1040a533033b9 Author: Benjamin Berg Date: Thu May 1 18:18:51 2008 +0000 Removed dead code; one translation 0.5 less. 2008-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider): Removed dead code; one translation 0.5 less. svn path=/trunk/; revision=1171 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 23 +++++++++-------------- 2 files changed, 16 insertions(+), 14 deletions(-) commit 3410d942099521171830215d0381642372dfe4d5 Author: Benjamin Berg Date: Thu May 1 18:13:00 2008 +0000 Removed the 0.5 translation. 2008-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tab): Removed the 0.5 translation. svn path=/trunk/; revision=1170 ChangeLog | 5 +++ engines/clearlooks/src/clearlooks_draw.c | 40 +++++++++++++++-------------- 2 files changed, 26 insertions(+), 19 deletions(-) commit 064b6d9b54547dad68fb2d05961e79b920901783 Author: Benjamin Berg Date: Thu May 1 17:58:40 2008 +0000 More cleanups. Frame drawing mostly. 2008-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_highlight_and_shade), (clearlooks_draw_menubar0), (clearlooks_draw_menubar2), (clearlooks_get_frame_gap_clip), (clearlooks_draw_frame), (clearlooks_draw_tab): * engines/clearlooks/src/clearlooks_types.h: More cleanups. Frame drawing mostly. svn path=/trunk/; revision=1169 ChangeLog | 9 +++ engines/clearlooks/src/clearlooks_draw.c | 92 +++++++++++++++-------------- engines/clearlooks/src/clearlooks_types.h | 8 +- 3 files changed, 61 insertions(+), 48 deletions(-) commit 11c0585a5835ed2d57cf2330d0be86a8b39030bd Author: Benjamin Berg Date: Thu May 1 16:53:35 2008 +0000 More 0.5 offset cleanups (and radius fixes). 2008-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_shadow), (clearlooks_draw_gripdots), (clearlooks_draw_slider), (clearlooks_draw_slider_button), (clearlooks_draw_handle): More 0.5 offset cleanups (and radius fixes). svn path=/trunk/; revision=1168 ChangeLog | 8 +++++ engines/clearlooks/src/clearlooks_draw.c | 51 ++++++++++++++++++------------ 2 files changed, 39 insertions(+), 20 deletions(-) commit 6f0954b41bf8127ff7e143a6ecca22ba78a7d0ee Author: Benjamin Berg Date: Thu May 1 15:55:46 2008 +0000 Button and clearlooks_draw_top_left_highlight cleanup and small fixes. 2008-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_top_left_highlight), (clearlooks_draw_button), (clearlooks_draw_scrollbar_stepper): Button and clearlooks_draw_top_left_highlight cleanup and small fixes. svn path=/trunk/; revision=1167 ChangeLog | 7 ++++ engines/clearlooks/src/clearlooks_draw.c | 53 ++++++++++++++++++++--------- 2 files changed, 43 insertions(+), 17 deletions(-) commit fe199968cc64586342668578d915f691606617eb Author: Benjamin Berg Date: Thu May 1 14:55:38 2008 +0000 Some entry drawing cleanups, and better "radius" handeling. 2008-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_entry): Some entry drawing cleanups, and better "radius" handeling. svn path=/trunk/; revision=1166 ChangeLog | 8 +++++ engines/clearlooks/src/clearlooks_draw.c | 34 ++++++++++++----------- engines/clearlooks/src/clearlooks_draw_gummy.c | 35 ++++++++++++----------- 3 files changed, 44 insertions(+), 33 deletions(-) commit ea9168970e7127d1246f88d88daf6ebad7bb6f23 Author: Benjamin Berg Date: Thu May 1 14:17:30 2008 +0000 Start to clean up the 0.5 translation mess. 2008-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw*.c: Start to clean up the 0.5 translation mess. svn path=/trunk/; revision=1165 ChangeLog | 5 + engines/clearlooks/src/clearlooks_draw.c | 130 ++++++++++++----------- engines/clearlooks/src/clearlooks_draw_glossy.c | 110 ++++++++++--------- engines/clearlooks/src/clearlooks_draw_gummy.c | 83 +++++++------- 4 files changed, 170 insertions(+), 158 deletions(-) commit 4fee460859448e29ce2dae23cac635314464e720 Author: Andre Klapper Date: Wed Apr 30 18:08:37 2008 +0000 Added Friulian translation on behalf of the Friulian team. Fixes bug 2008-04-30 Andre Klapper * LINGUAS: * fur.po: Added Friulian translation on behalf of the Friulian team. Fixes bug #530509. svn path=/trunk/; revision=1164 po/ChangeLog | 6 ++ po/LINGUAS | 1 + po/fur.po | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 222 insertions(+), 0 deletions(-) commit d46650aceaf3af656e5c8a338be6b01f339cdda8 Author: Andrea Cimitan Date: Tue Apr 29 16:31:15 2008 +0000 Added the variables we should use to adjust spot[2] for dark themes. Still 2008-04-29 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_realize): Added the variables we should use to adjust spot[2] for dark themes. Still no algorithm. svn path=/trunk/; revision=1163 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 8 ++++---- engines/clearlooks/src/clearlooks_style.c | 8 ++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) commit a7659f434dcef98cfc56225f0f76d23bade69a2f Author: Benjamin Berg Date: Mon Apr 21 20:45:54 2008 +0000 gtk-engines 2.15.0 release. 2008-04-21 Benjamin Berg * NEWS: * configure.ac: gtk-engines 2.15.0 release. svn path=/trunk/; revision=1161 ChangeLog | 6 ++++++ NEWS | 11 +++++++++++ configure.ac | 2 +- 3 files changed, 18 insertions(+), 1 deletions(-) commit 70fbc4dee7c1b17dc71b0c0a60901692a5367104 Author: Thomas Wood Date: Sun Apr 13 20:41:15 2008 +0000 Fix menu borders and padding 2008-04-13 Thomas Wood * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_shadow): * themes/Redmond/gtk-2.0/gtkrc: Fix menu borders and padding svn path=/trunk/; revision=1159 ChangeLog | 8 ++++++++ engines/redmond/src/redmond_gtk2_drawing.c | 9 +++++++++ themes/Redmond/gtk-2.0/gtkrc | 4 ++++ 3 files changed, 21 insertions(+), 0 deletions(-) commit e4336e7aa74a60d1b8d7c2774a13665d2f5e69b5 Author: Thomas Wood Date: Sun Apr 13 16:16:39 2008 +0000 Don't draw a shadow on scrollbars now that we don't provide them with any 2008-04-13 Thomas Wood * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_shadow), (redmond_draw_box): Don't draw a shadow on scrollbars now that we don't provide them with any padding. svn path=/trunk/; revision=1158 ChangeLog | 6 ++++++ engines/redmond/src/redmond_gtk2_drawing.c | 7 ++----- 2 files changed, 8 insertions(+), 5 deletions(-) commit dace809ff70a4eb9d935b7f162c6be543cce0148 Author: Thomas Wood Date: Fri Apr 11 19:35:09 2008 +0000 Use new scrollbars-within-bevel property for GtkScrolledWindow 2008-04-11 Thomas Wood * themes/Redmond/gtk-2.0/gtkrc: Use new scrollbars-within-bevel property for GtkScrolledWindow svn path=/trunk/; revision=1157 ChangeLog | 5 +++++ themes/Redmond/gtk-2.0/gtkrc | 5 ++++- 2 files changed, 9 insertions(+), 1 deletions(-) commit b08ab66fb0f64275c1e879a28d6ebbc325770649 Author: Benjamin Berg Date: Fri Apr 11 10:07:13 2008 +0000 Do not install the translations. Patch from Werner Pantke. 2008-04-11 Benjamin Berg * Makefile.am: Do not install the translations. Patch from Werner Pantke. svn path=/trunk/; revision=1156 ChangeLog | 5 +++++ Makefile.am | 3 ++- 2 files changed, 7 insertions(+), 1 deletions(-) commit 3c428577b944615cf06a15b39861a0a2f364834e Author: Benjamin Berg Date: Wed Apr 9 20:10:19 2008 +0000 The stepper button check was only missing in industrial. 2008-04-09 Benjamin Berg * engines/industrial/src/industrial_style.c: (draw_slider): The stepper button check was only missing in industrial. svn path=/trunk/; revision=1155 ChangeLog | 5 +++++ engines/industrial/src/industrial_style.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) commit 47a9f4684fcfd66bf36c00621b165ff62a69c943 Author: Benjamin Berg Date: Wed Apr 9 19:28:45 2008 +0000 Fix part 1 of bug #526890 in all affected engines. (Inverted scrollbars 2008-04-09 Benjamin Berg * engines/clearlooks/src/support.c: (clearlooks_scrollbar_get_junction): * engines/industrial/src/industrial_style.c: (draw_slider): * engines/mist/src/mist-style.c: (mist_style_draw_box): Fix part 1 of bug #526890 in all affected engines. (Inverted scrollbars should work fine now, stepper buttons are still ignored.) svn path=/trunk/; revision=1154 ChangeLog | 9 +++++++++ engines/clearlooks/src/support.c | 10 ++++++++-- engines/industrial/src/industrial_style.c | 10 ++++++++-- engines/mist/src/mist-style.c | 10 ++++++++-- 4 files changed, 33 insertions(+), 6 deletions(-) commit ab0b9a9ca5f27d371209e22da42352ef1be57e8f Author: Benjamin Berg Date: Mon Apr 7 21:15:04 2008 +0000 Update for 2.14.1 release. 2008-04-07 Benjamin Berg * NEWS: * configure.ac: Update for 2.14.1 release. svn path=/trunk/; revision=1152 ChangeLog | 6 ++++++ NEWS | 19 +++++++++++++++++++ configure.ac | 2 +- 3 files changed, 26 insertions(+), 1 deletions(-) commit f64f819a2ebc6cb0374d804207ae181891a6955d Author: Benjamin Berg Date: Mon Apr 7 21:04:54 2008 +0000 Fix running the tests when building out of tree. 2008-04-07 Benjamin Berg * test/torture: Fix running the tests when building out of tree. svn path=/trunk/; revision=1151 ChangeLog | 5 +++++ test/torture | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit ea7416c3738a65b94f6a1e2daa4201653e9c822f Author: Benjamin Berg Date: Mon Apr 7 20:15:35 2008 +0000 Add a workaround for the panel ButtonWidget. This is hopefully just a 2008-04-07 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): Add a workaround for the panel ButtonWidget. This is hopefully just a intermediate solution until a real fix exists. svn path=/trunk/; revision=1150 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 8 ++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) commit 27b48ffee04730facd3892151b5f4732ad59ee15 Author: Benjamin Berg Date: Mon Apr 7 19:24:15 2008 +0000 Work around GTK+ drawing the "spinbutton" box always with state NORMAL. 2008-04-07 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Work around GTK+ drawing the "spinbutton" box always with state NORMAL. svn path=/trunk/; revision=1149 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 5 +++++ 2 files changed, 12 insertions(+), 0 deletions(-) commit edf71f0b511b6b51482fe58e08efe4f80d71dc87 Author: Benjamin Berg Date: Mon Apr 7 19:17:11 2008 +0000 Undo Andrea's change from 2008-03-19. The check was moved to fix the 2008-04-07 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters): Undo Andrea's change from 2008-03-19. The check was moved to fix the spinbutton arrow sensitivity. (See bug #475629.) svn path=/trunk/; revision=1148 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 4 ---- 2 files changed, 7 insertions(+), 4 deletions(-) commit 80b02f21e1564052df376ef664a878c3b7e25f1f Author: Eskild Hustvedt Date: Fri Apr 4 06:42:09 2008 +0000 Updated Norwegian Nynorsk translation svn path=/trunk/; revision=1147 po/ChangeLog | 4 ++++ po/nn.po | 40 ++++++++++++++++++++++++++-------------- 2 files changed, 30 insertions(+), 14 deletions(-) commit 471652db2a0f02ce0c7b76afa3c2170e65f9ebdb Author: Christian Persch Date: Thu Mar 20 18:32:49 2008 +0000 Add AM_PROG_CC_C_O. Bug #523369. * configure.ac: Add AM_PROG_CC_C_O. Bug #523369. svn path=/trunk/; revision=1146 ChangeLog | 4 ++++ configure.ac | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) commit ba30884212ea4683d306fcf4e0e28da2e29e5ecc Author: Andrea Cimitan Date: Wed Mar 19 01:03:19 2008 +0000 Fix? Workaround? Anyway this fixes insensitive spinbuttons 2008-03-19 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters): Fix? Workaround? Anyway this fixes insensitive spinbuttons svn path=/trunk/; revision=1145 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_inverted.c | 2 +- engines/clearlooks/src/clearlooks_style.c | 4 ++++ 3 files changed, 12 insertions(+), 1 deletions(-) commit 776394e1611369ba59da95ba3b6ad4995ab4aaf9 Author: Andrea Cimitan Date: Tue Mar 18 03:27:00 2008 +0000 Use shade[2] taken from parentbg to draw the scale trough 2008-03-18 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scale_trough): Use shade[2] taken from parentbg to draw the scale trough svn path=/trunk/; revision=1144 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) commit bcdd68bd6645e08a83b5c1a37900388c3c91eda2 Author: Benjamin Berg Date: Thu Mar 13 11:39:51 2008 +0000 Got the notebook check a bit wrong earlier. 2008-03-13 Benjamin Berg * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): Got the notebook check a bit wrong earlier. svn path=/trunk/; revision=1143 ChangeLog | 5 +++++ engines/clearlooks/src/support.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 06f7e1a477d212e021bdba63f9252babdcfc3c88 Author: Benjamin Berg Date: Thu Mar 13 10:26:14 2008 +0000 Fix compiling with --enable-paranoia. Included here is the patch from Jens 2008-03-13 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_inset), (clearlooks_glossy_draw_light_inset): * engines/crux/src/crux-draw.c: (paint_shadow), (draw_shadow), (draw_box), (draw_extension): Fix compiling with --enable-paranoia. Included here is the patch from Jens Granseuer for bug #521679. svn path=/trunk/; revision=1142 ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 +++--- engines/clearlooks/src/clearlooks_draw_glossy.c | 12 ++++++------ engines/crux/src/crux-draw.c | 21 +++++++++------------ 4 files changed, 30 insertions(+), 21 deletions(-) commit 31c71a5c55977a80fe34504c2a461c09e5014bc3 Author: Benjamin Berg Date: Thu Mar 13 10:25:09 2008 +0000 mark_type2 and paned_dots used the same bit (also fixes compiling with 2008-03-13 Benjamin Berg * engines/thinice/src/thinice_rc_style.h: mark_type2 and paned_dots used the same bit (also fixes compiling with --enable-paranoia) svn path=/trunk/; revision=1141 ChangeLog | 6 ++++++ engines/thinice/src/thinice_rc_style.h | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 33578e769a541ca29d38cacfbfbeb6c0244749d6 Author: Benjamin Berg Date: Thu Mar 13 10:11:18 2008 +0000 Only use the notebooks background if it draws a border. 2008-03-13 Benjamin Berg * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): Only use the notebooks background if it draws a border. svn path=/trunk/; revision=1140 ChangeLog | 5 +++++ engines/clearlooks/src/support.c | 24 ++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) commit 2df32699f677d9b40c14590a27c0a1a3baa89c94 Author: Benjamin Berg Date: Mon Mar 10 19:42:20 2008 +0000 Update for the 2.14.0 stable release. 2008-03-10 Benjamin Berg * NEWS: * README: * configure.ac: Update for the 2.14.0 stable release. svn path=/trunk/; revision=1138 ChangeLog | 7 +++++++ NEWS | 32 ++++++++++++++++++++++++++++++++ README | 9 --------- configure.ac | 2 +- 4 files changed, 40 insertions(+), 10 deletions(-) commit 5f32a0cac01e16476bab4494c7dec44d14eff241 Author: Benjamin Berg Date: Mon Mar 10 19:17:55 2008 +0000 Fix a memory leak in the new spinbutton handling code. 2008-03-10 Benjamin Berg * engines/crux/src/crux-draw.c: (draw_box): Fix a memory leak in the new spinbutton handling code. svn path=/trunk/; revision=1137 ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit 7fe7a54a3f4c3456bf2f76021bf6f1877e9662ef Author: Benjamin Berg Date: Mon Mar 10 19:06:38 2008 +0000 Fix a regression: crux would access widget to check the focused state even 2008-03-10 Benjamin Berg * engines/crux/src/crux-draw.c: (draw_box): Fix a regression: crux would access widget to check the focused state even if widget is NULL. This could potentially crash applications. svn path=/trunk/; revision=1136 ChangeLog | 7 +++++++ engines/crux/src/crux-draw.c | 29 +++++++++++++++++------------ 2 files changed, 24 insertions(+), 12 deletions(-) commit 1bfed552b4b5ebf1a4ebd6a6649c87ce0b4f56fa Author: Kostas Papadimas Date: Mon Mar 10 15:18:50 2008 +0000 Updated Greek translation by Giannis Katsampipis svn path=/trunk/; revision=1135 po/ChangeLog | 4 ++ po/el.po | 127 +++++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 85 insertions(+), 46 deletions(-) commit 8da61085a6728308d3e79444ce01a3e749d86934 Author: Kenneth Nielsen Date: Sun Mar 9 22:11:53 2008 +0000 Updated Danish translation svn path=/trunk/; revision=1134 po/ChangeLog | 4 +++ po/da.po | 79 +++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 68 insertions(+), 15 deletions(-) commit 8702db8ceac645954b1d899e9083182952c37997 Author: Gabor Kelemen Date: Sun Mar 9 16:15:27 2008 +0000 Translation updated 2008-03-09 Gabor Kelemen * hu.po: Translation updated svn path=/trunk/; revision=1133 po/ChangeLog | 4 +++ po/hu.po | 80 ++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 68 insertions(+), 16 deletions(-) commit 3ae44b94839ed4c398f5b47349a9e0ec0f15bf2d Author: Chao-Hsiung Liao Date: Sun Mar 9 12:29:08 2008 +0000 Updated Traditional Chinese translation(Hong Kong). Updated Traditional 2008-03-09 Chao-Hsiung Liao * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). * zh_TW.po: Updated Traditional Chinese translation(Taiwan). svn path=/trunk/; revision=1132 po/ChangeLog | 5 +++++ po/zh_HK.po | 12 ++++++------ po/zh_TW.po | 12 ++++++------ 3 files changed, 17 insertions(+), 12 deletions(-) commit 4ac70ca629ff089a7a7e4879d7a6979ecdc725a7 Author: Runa Bhattacharjee Date: Sat Mar 8 17:42:42 2008 +0000 Added Entry for Bengali India Translation updation svn path=/trunk/; revision=1131 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 32c4d95c59f64212eea8eaecd8d46bd1dcf793a1 Author: Runa Bhattacharjee Date: Sat Mar 8 17:42:26 2008 +0000 Updated Bengali India Translations svn path=/trunk/; revision=1130 po/bn_IN.po | 84 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 67 insertions(+), 17 deletions(-) commit 1b84f62308628bc6c8710df3f5ebcf8325fabeff Author: Priit Laes Date: Sat Mar 8 15:37:25 2008 +0000 Translation updated by Ivar Smolin 2008-03-08 Priit Laes * et.po: Translation updated by Ivar Smolin svn path=/trunk/; revision=1129 po/ChangeLog | 4 ++++ po/et.po | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) commit 2e2a429032aeaccbb4388cf1fba351247b042fee Author: Yannig MARCHEGAY Date: Sat Mar 8 10:22:41 2008 +0000 Updated Occitan translation svn path=/trunk/; revision=1128 po/oc.po | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9eea4021a0404fd7aa9a1238b8448f59f14ba5c7 Author: Maxim Dziumanenko Date: Fri Mar 7 14:02:59 2008 +0000 Update Ukrainian translation. 2008-03-07 Maxim Dziumanenko * Update Ukrainian translation. svn path=/trunk/; revision=1127 po/ChangeLog | 4 +++ po/uk.po | 72 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 64 insertions(+), 12 deletions(-) commit bc7280a8b35c29f9997d8de4613e849834926bc6 Author: Rajesh Ranjan Date: Tue Mar 4 09:56:24 2008 +0000 hindi update svn path=/trunk/; revision=1125 po/ChangeLog | 4 + po/LINGUAS | 1 + po/hi.po | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 206 insertions(+), 0 deletions(-) commit a347554302e14b4debf356cde955a2dde72aa704 Author: Thomas Wood Date: Mon Mar 3 23:17:34 2008 +0000 Add bevel to notebooks 2008-03-03 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box_gap), (draw_extension): Add bevel to notebooks svn path=/trunk/; revision=1124 ChangeLog | 5 + engines/crux/src/crux-draw.c | 196 ++++++++++++++++++++++++------------------ 2 files changed, 116 insertions(+), 85 deletions(-) commit 95bf3bcaa55ccd575d8f934f99283410eefbfda9 Author: Thomas Wood Date: Mon Mar 3 21:54:55 2008 +0000 Replace use of deprecated function 2008-03-03 Thomas Wood * engines/crux/src/crux-draw.c: (draw_shadow_gap), (draw_box_gap): Replace use of deprecated function svn path=/trunk/; revision=1123 ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit ede92c0966b646f09b37faf9f621d58a8f82c818 Author: Thomas Wood Date: Mon Mar 3 21:05:53 2008 +0000 Convert hline and vline functions to cairo 2008-03-03 Thomas Wood * engines/crux/src/crux-draw.c: (draw_hline), (draw_vline): Convert hline and vline functions to cairo svn path=/trunk/; revision=1122 ChangeLog | 5 ++ engines/crux/src/crux-draw.c | 108 +++++++++++++++--------------------------- 2 files changed, 43 insertions(+), 70 deletions(-) commit f79d407a751cb4fba9e06a3c1a9fc079868db6e4 Author: Alexandre Prokoudine Date: Mon Mar 3 20:58:28 2008 +0000 Updated Russian translation. 2008-03-03 Alexandre Prokoudine * ru.po: Updated Russian translation. svn path=/trunk/; revision=1121 po/ChangeLog | 4 +++ po/ru.po | 70 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 63 insertions(+), 11 deletions(-) commit ef9708bb6d68fb0848a0e0ad3e650168fca41e0b Author: Thomas Wood Date: Mon Mar 3 20:38:33 2008 +0000 Make handlboxes appear "attached" to their child 2008-03-03 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box), (draw_handle): Make handlboxes appear "attached" to their child svn path=/trunk/; revision=1120 ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 42 +++++++++++++++++++++++++++++++++++------- 2 files changed, 40 insertions(+), 7 deletions(-) commit 8f938052eac5bf1f6ee2c32afce8acd0f6c4dcb0 Author: Philip Withnall Date: Mon Mar 3 17:33:36 2008 +0000 Updated British English translation. 2008-03-03 Philip Withnall * en_GB.po: Updated British English translation. svn path=/trunk/; revision=1119 po/ChangeLog | 4 +++ po/en_GB.po | 74 +++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 64 insertions(+), 14 deletions(-) commit 98c0f1a20f434c774d6364faa447540cee14a831 Author: Rahul Bhalerao Date: Mon Mar 3 15:48:57 2008 +0000 Updated Marathi Translations. svn path=/trunk/; revision=1118 po/ChangeLog | 4 ++++ po/mr.po | 41 +++++++++++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 14 deletions(-) commit 6c27f15f6adc829d1d33e4290862fceacaae83e8 Author: Benjamin Berg Date: Mon Mar 3 14:14:56 2008 +0000 Use the right text color for text in progress bars. 2008-03-03 Benjamin Berg * themes/Crux/gtk-2.0/gtkrc: Use the right text color for text in progress bars. svn path=/trunk/; revision=1117 ChangeLog | 5 +++++ themes/Crux/gtk-2.0/gtkrc | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit 545f46085588df0100b7ce9fd6b4acac1ab154ec Author: Thomas Wood Date: Mon Mar 3 11:15:59 2008 +0000 Fix spin buttons for RTL locales 2008-03-03 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box), (draw_arrow): Fix spin buttons for RTL locales svn path=/trunk/; revision=1116 ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) commit 7ddff9016336f13199f1ecabf2a74bef5f62cf31 Author: Thomas Wood Date: Mon Mar 3 11:03:38 2008 +0000 Reduce radius on buttons without an extra shadow and reduce opacity of 2008-03-03 Thomas Wood * engines/crux/src/crux-draw.c: (paint_button): Reduce radius on buttons without an extra shadow and reduce opacity of extra shadow on insensitive buttons (draw_shadow): Extend shadow on spinbutton entry widgets to allow buttons to appears "inside" the entry (draw_box): Turn extra shadow off for some other widgets and draw a shadow so that spin button buttons appear "inside" the entry (draw_arrow): Tweak placement for spin buttons svn path=/trunk/; revision=1115 ChangeLog | 11 +++++++ engines/crux/src/crux-draw.c | 65 +++++++++++++++++++++++++++++++----------- 2 files changed, 59 insertions(+), 17 deletions(-) commit efad64815f0a3597122d7c72195eca92f85b1af5 Author: Benjamin Berg Date: Sun Mar 2 18:11:32 2008 +0000 Fix the color of prelit menu items in the combobox menu. 2008-03-02 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Fix the color of prelit menu items in the combobox menu. svn path=/trunk/; revision=1114 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletions(-) commit 785a41b227d59e1b184eb2cb20c2b0d7a3ea7aeb Author: Benjamin Berg Date: Sun Mar 2 17:11:27 2008 +0000 Port the workarounds for GtkComboBox (cell renderer), GtkCList/GtkCTree 2008-03-02 Benjamin Berg * themes/Crux/gtk-2.0/gtkrc: * themes/Industrial/gtk-2.0/gtkrc: * themes/Mist/gtk-2.0/gtkrc: Port the workarounds for GtkComboBox (cell renderer), GtkCList/GtkCTree and GtkList to other color scheme supporting themes in gtk-engines. svn path=/trunk/; revision=1113 ChangeLog | 9 ++++++ themes/Crux/gtk-2.0/gtkrc | 43 ++++++++++++++++++++++++++++++++ themes/Industrial/gtk-2.0/gtkrc | 44 ++++++++++++++++++++++++++++++++- themes/Mist/gtk-2.0/gtkrc | 52 +++++++++++++++++++++++++++++++++------ 4 files changed, 139 insertions(+), 9 deletions(-) commit a0ad5766cd3121abfcb7ad6d39a83387c5aed0a4 Author: Benjamin Berg Date: Sun Mar 2 16:54:49 2008 +0000 Use the special name menus get for comboboxes to work around the text 2008-03-02 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Use the special name menus get for comboboxes to work around the text color bug. The old work around breaks radio/check menu items. svn path=/trunk/; revision=1112 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 12 +++--------- 2 files changed, 9 insertions(+), 9 deletions(-) commit a5b27fe8f4ea948fa2d1ee398bc9218a193e2a97 Author: Benjamin Berg Date: Sun Mar 2 16:37:25 2008 +0000 Added a workaround for GtkCList/GtkCTree and GtkList text colors. Fixes 2008-03-02 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Added a workaround for GtkCList/GtkCTree and GtkList text colors. Fixes bug #505334 for clearlooks. svn path=/trunk/; revision=1111 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-) commit a3a50055d75fef771d9c90ed742baf46f7f6433a Author: Benjamin Berg Date: Sun Mar 2 15:52:57 2008 +0000 Override the entry state early enough so that the params are set 2008-03-02 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow): Override the entry state early enough so that the params are set correctly. svn path=/trunk/; revision=1110 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) commit 23bd592c02b66569630307b6517c61ff051ccdb3 Author: Gintautas Miliauskas Date: Sun Mar 2 00:57:54 2008 +0000 Updated Lithuanian translation. 2008-03-02 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. svn path=/trunk/; revision=1109 po/ChangeLog | 4 +++ po/lt.po | 81 +++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 68 insertions(+), 17 deletions(-) commit 01b2b1f9571042d007406c6fe2807b756f6b9ecd Author: Thomas Wood Date: Sat Mar 1 13:17:20 2008 +0000 Only draw an extra shadow on widgets with "button" detail, and fix 2008-03-01 Thomas Wood * engines/crux/src/crux-draw.c: (paint_button), (draw_box): Only draw an extra shadow on widgets with "button" detail, and fix spinbutton padding svn path=/trunk/; revision=1108 ChangeLog | 5 ++++ engines/crux/src/crux-draw.c | 44 +++++++++++++++++++++--------------------- 2 files changed, 27 insertions(+), 22 deletions(-) commit ad90fe73d5d390923a01d9f701fceea427bfbe99 Author: Thomas Wood Date: Sat Mar 1 13:02:39 2008 +0000 Use correct background colour according to state_type 2008-03-01 Thomas Wood * engines/crux/src/crux-draw.c: (draw_extension): Use correct background colour according to state_type svn path=/trunk/; revision=1107 ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit c732ce3364aa3db3b89772e3fda3484f591ae2af Author: Thomas Wood Date: Sat Mar 1 12:57:03 2008 +0000 Implement all shadow types 2008-03-01 Thomas Wood * engines/crux/src/crux-draw.c: (paint_shadow), (draw_box_gap): Implement all shadow types svn path=/trunk/; revision=1106 ChangeLog | 5 ++ engines/crux/src/crux-draw.c | 103 +++++++++++++++++------------------------- 2 files changed, 46 insertions(+), 62 deletions(-) commit a79c4a0ff5745bd4352d4ca7d27bd6024dfea393 Author: Thomas Wood Date: Thu Feb 28 20:58:41 2008 +0000 Improve button border contrast 2008-02-28 Thomas Wood * engines/crux/src/crux-draw.c: Improve button border contrast svn path=/trunk/; revision=1105 ChangeLog | 4 + engines/crux/src/crux-draw.c | 251 ++++++++++++++++++++++++------------------ 2 files changed, 150 insertions(+), 105 deletions(-) commit 643b6d991db4230f466c6ef2db202913c00c219a Author: Djihed Afifi Date: Wed Feb 27 11:59:13 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1104 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 497731e1af131602fe9770535644608c7466635e Author: Andrea Cimitan Date: Tue Feb 26 22:07:35 2008 +0000 Fixed problems with big radius, fixes #395013 (I mean fixes everything 2008-02-26 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_scrollbar_trough), (clearlooks_draw_menu_frame): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_stepper): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Fixed problems with big radius, fixes #395013 (I mean fixes everything that can be fixed with Gtk 2.x) svn path=/trunk/; revision=1103 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_draw.c | 20 +++++++++++++------- engines/clearlooks/src/clearlooks_draw_gummy.c | 3 ++- engines/clearlooks/src/clearlooks_style.c | 2 +- 4 files changed, 27 insertions(+), 9 deletions(-) commit 5c9d251ef3c5f6d0cb8cbb2ea75ca1fade92a6d4 Author: Andrea Cimitan Date: Tue Feb 26 21:10:18 2008 +0000 Fixed broken algorithm for the contrast option 2008-02-26 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_realize): Fixed broken algorithm for the contrast option svn path=/trunk/; revision=1102 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletions(-) commit f4c500dcade67ba5c53402443fcba5144e926ccf Author: Djihed Afifi Date: Tue Feb 26 16:11:23 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1101 po/ChangeLog | 4 ++++ po/ar.po | 38 +++++++++++++++++--------------------- 2 files changed, 21 insertions(+), 21 deletions(-) commit 4a296a7592893a613cc59145bf812d77731b5afd Author: Changwoo Ryu Date: Tue Feb 26 10:06:17 2008 +0000 Updated Korean translation svn path=/trunk/; revision=1100 po/ChangeLog | 4 +++ po/ko.po | 74 +++++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 65 insertions(+), 13 deletions(-) commit fd922313641dc15d8a3c199256293f15d92fafc2 Author: Benjamin Berg Date: Mon Feb 25 23:28:21 2008 +0000 Update for the 2.13.6 release. 2008-02-26 Benjamin Berg * NEWS: * configure.ac: Update for the 2.13.6 release. svn path=/trunk/; revision=1098 ChangeLog | 6 ++++++ NEWS | 28 ++++++++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 35 insertions(+), 1 deletions(-) commit 770f5ad0dadf4c1ce687dd1befdd07cc530797db Author: Luca Ferretti Date: Sat Feb 23 12:53:15 2008 +0000 Updated Italian translation. 2008-02-23 Luca Ferretti * it.po: Updated Italian translation. svn path=/trunk/; revision=1097 po/ChangeLog | 4 ++ po/it.po | 87 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 77 insertions(+), 14 deletions(-) commit b83b3d79167c7224847fb5ecaeaeedf01e750ee8 Author: Jonh Wendell Date: Fri Feb 22 20:30:45 2008 +0000 Updated Brazilian Portuguese translation. 2008-02-22 Jonh Wendell * pt_BR: Updated Brazilian Portuguese translation. svn path=/trunk/; revision=1096 po/ChangeLog | 4 +++ po/pt_BR.po | 85 +++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 71 insertions(+), 18 deletions(-) commit e1bcae994f937558149b12efd00a7639f432b08f Author: Yair Hershkovitz Date: Thu Feb 21 22:19:57 2008 +0000 added hebrew translation svn path=/trunk/; revision=1095 po/ChangeLog | 4 + po/LINGUAS | 1 + po/he.po | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 200 insertions(+), 0 deletions(-) commit ee16ee690374afd9c4d935b1b2f7a9e516e7fc2d Author: Yang Zhang Date: Thu Feb 21 14:02:59 2008 +0000 Updated zh_CN translation from manphiz svn path=/trunk/; revision=1094 po/zh_CN.po | 74 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 61 insertions(+), 13 deletions(-) commit 6334a6ef21106482d5bc67bd821e624dcce8c26a Author: Thomas Wood Date: Wed Feb 20 00:42:48 2008 +0000 Lighten the bg colour a little 2008-02-20 Thomas Wood * themes/Crux/gtk-2.0/gtkrc: Lighten the bg colour a little svn path=/trunk/; revision=1093 ChangeLog | 4 ++++ themes/Crux/gtk-2.0/gtkrc | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) commit fa365470415e92f7c840a62e59c95479846c3d21 Author: Andrea Cimitan Date: Tue Feb 19 23:42:06 2008 +0000 In medio stat virtus 2008-02-20 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): In medio stat virtus svn path=/trunk/; revision=1092 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 7462ffce3c968f95bad524b4135ab9f983e4dc1c Author: Yannig MARCHEGAY Date: Tue Feb 19 21:47:00 2008 +0000 Updated Occitan translation svn path=/trunk/; revision=1091 po/oc.po | 29 ++++++++++++++++++++--------- 1 files changed, 20 insertions(+), 9 deletions(-) commit e0abe53cdabfbd4a825290dedf3b6e7c340224b3 Author: Andrea Cimitan Date: Tue Feb 19 13:23:10 2008 +0000 Less transparency on button focus fill 2008-02-19 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Less transparency on button focus fill svn path=/trunk/; revision=1090 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 06a6f2f44adcaa2058c5273e688e17308f661cf9 Author: Priit Laes Date: Tue Feb 19 09:06:38 2008 +0000 Translation updated by Ivar Smolin 2008-02-19 Priit Laes * et.po: Translation updated by Ivar Smolin svn path=/trunk/; revision=1089 po/ChangeLog | 4 ++++ po/et.po | 30 +++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 9 deletions(-) commit 7d408cc36a1c3457701f826bacc7b05b9da85a0f Author: Andrea Cimitan Date: Tue Feb 19 00:44:33 2008 +0000 A little bit more contrast on tab focus (+8%) Indents 2008-02-19 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_top_left_highlight), (clearlooks_gummy_draw_tab): A little bit more contrast on tab focus (+8%) Indents svn path=/trunk/; revision=1088 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 9 +++++---- 2 files changed, 13 insertions(+), 4 deletions(-) commit aec9c78082df80139979f920e44313834033233e Author: Matej Urbančič Date: Mon Feb 18 17:27:46 2008 +0000 Updated Slovenian translation svn path=/trunk/; revision=1087 po/sl.po | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) commit 981326d79ec00c5e9a5f1e5130eba901001e4628 Author: Andrea Cimitan Date: Mon Feb 18 15:52:17 2008 +0000 CLASSIC is the default Clearlooks style 2008-02-18 Andrea Cimitan * schema/clearlooks.xml.in.in: CLASSIC is the default Clearlooks style svn path=/trunk/; revision=1086 ChangeLog | 5 +++++ schema/clearlooks.xml.in.in | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 7d26324c7546d7d2649a51ca6573759cb4c2c69f Author: Ilkka Tuohela Date: Mon Feb 18 04:42:44 2008 +0000 Updated Finnish translation svn path=/trunk/; revision=1085 po/ChangeLog | 4 ++++ po/fi.po | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) commit dba9cebe2114d07a3885f47e4105f7a2de9824f9 Author: Wouter Bolsterlee Date: Sun Feb 17 22:12:17 2008 +0000 Updated Dutch translation by Wouter Bolsterlee. 2008-02-17 Wouter Bolsterlee * nl.po: Updated Dutch translation by Wouter Bolsterlee. svn path=/trunk/; revision=1084 po/ChangeLog | 29 ++++++++++++-------- po/nl.po | 83 +++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 82 insertions(+), 30 deletions(-) commit d09a0f520bad1cee8175138c6c4f3edbb27dbf0e Author: Baris Cicek Date: Sun Feb 17 21:28:29 2008 +0000 Added Turkish Translation svn path=/trunk/; revision=1083 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/tr.po | 198 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 204 insertions(+), 0 deletions(-) commit 587ef1009c3df9383c6ae72b2f1f12bba63b39f4 Author: Gil Forcada Codinachs Date: Sat Feb 16 23:49:18 2008 +0000 Updated Catalan translation svn path=/trunk/; revision=1082 po/ChangeLog | 4 +++ po/ca.po | 71 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 63 insertions(+), 12 deletions(-) commit 842730b1871f8c0f4e65dfe27624093bf92a6f82 Author: Ihar Hrachyshka Date: Sat Feb 16 23:38:47 2008 +0000 Updated Belarusian Latin translation. svn path=/trunk/; revision=1081 po/ChangeLog | 4 ++++ po/be@latin.po | 30 +++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 9 deletions(-) commit be3260263ef480ea69c160b37683d15277d25c9c Author: Chao-Hsiung Liao Date: Wed Feb 13 12:51:14 2008 +0000 Added Traditional Chinese translation(Hong Kong). Added Traditional 2008-02-13 Chao-Hsiung Liao * zh_HK.po: Added Traditional Chinese translation(Hong Kong). * zh_TW.po: Added Traditional Chinese translation(Taiwan). svn path=/trunk/; revision=1080 po/ChangeLog | 5 ++ po/LINGUAS | 2 + po/zh_HK.po | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/zh_TW.po | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 397 insertions(+), 0 deletions(-) commit 56ebf2d98a51c5c10b00af0fa1a1ae9cd524209d Author: Andrea Cimitan Date: Wed Feb 13 12:36:30 2008 +0000 ... forgot to assign the CLAMP to the radius :) 2008-02-13 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): ... forgot to assign the CLAMP to the radius :) svn path=/trunk/; revision=1079 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 3ea9ae8e69e8685b0ed7aec66a6299dfbc5e8fe7 Author: Andrea Cimitan Date: Wed Feb 13 10:38:17 2008 +0000 Reverted some code, that was not useless :P 2008-02-13 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Reverted some code, that was not useless :P svn path=/trunk/; revision=1078 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 1 + 2 files changed, 7 insertions(+), 0 deletions(-) commit a168f7fb76fd9dde5fe313a1bbcef7cdbdaa2103 Author: Ilkka Tuohela Date: Wed Feb 13 09:26:07 2008 +0000 Updated Finnish translation svn path=/trunk/; revision=1077 po/ChangeLog | 4 +++ po/fi.po | 68 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 62 insertions(+), 10 deletions(-) commit a2ea617a2b65ebbce9a5d7923406b4c9a0d1b6e7 Author: Claude Paroz Date: Tue Feb 12 20:49:30 2008 +0000 Updated French translation by Robert-André Mauchin. 2008-02-12 Claude Paroz * fr.po: Updated French translation by Robert-André Mauchin. svn path=/trunk/; revision=1076 po/ChangeLog | 4 ++ po/fr.po | 89 ++++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 72 insertions(+), 21 deletions(-) commit da51bdcac9969f7b0151a12a6f39ad91dbb6460f Author: Benjamin Berg Date: Mon Feb 11 21:51:13 2008 +0000 Update for 2.14.5 release. 2008-02-11 Benjamin Berg * NEWS: * configure.ac: Update for 2.14.5 release. svn path=/trunk/; revision=1074 ChangeLog | 6 ++++++ NEWS | 25 +++++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 32 insertions(+), 1 deletions(-) commit d4e07cb96767c52ffc7eb388cbf17f7a138f436b Author: Benjamin Berg Date: Mon Feb 11 21:41:40 2008 +0000 Fixed small warning. (Some useless code.) 2008-02-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Fixed small warning. (Some useless code.) svn path=/trunk/; revision=1073 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 1 - 2 files changed, 6 insertions(+), 1 deletions(-) commit 049db88cfd45a15d5e9cd8fc7e6965c2024d08b0 Author: Benjamin Berg Date: Mon Feb 11 21:16:16 2008 +0000 Add checks for vertical toolbars and menubars. These are will not be drawn 2008-02-11 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Add checks for vertical toolbars and menubars. These are will not be drawn at for now. svn path=/trunk/; revision=1072 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 12 +++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) commit ecde0d8087e01942ac2b10dc37d850ba61f5a98b Author: Petr Kovář Date: Sun Feb 10 18:43:26 2008 +0000 cs.po: Updated Czech translation by Lucas Lommer. svn path=/trunk/; revision=1071 po/ChangeLog | 4 ++ po/cs.po | 89 ++++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 72 insertions(+), 21 deletions(-) commit c523a4040622b3ffa58adaacdcba209ac4f39365 Author: Duarte Loreto Date: Sat Feb 9 22:55:59 2008 +0000 Updated Portuguese translation. 2008-02-09 Duarte Loreto * pt.po: Updated Portuguese translation. svn path=/trunk/; revision=1070 po/ChangeLog | 4 ++ po/pt.po | 88 ++++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 74 insertions(+), 18 deletions(-) commit 38925ca920a91b96c1272ff5ea6f261ee49c5430 Author: Hendrik Brandt Date: Sat Feb 9 16:21:50 2008 +0000 Updated German translation. 2008-02-09 Hendrik Brandt * de.po: Updated German translation. svn path=/trunk/; revision=1069 po/ChangeLog | 4 ++ po/de.po | 132 ++++++++++++++++++++++++++++++++++++++++------------------ 2 files changed, 95 insertions(+), 41 deletions(-) commit 70301d2947e3a0e9d6d8c5f231e966f2fe45e050 Author: Theppitak Karoonboonyanan Date: Sat Feb 9 08:42:37 2008 +0000 Updated Thai translation. 2008-02-09 Theppitak Karoonboonyanan * th.po: Updated Thai translation. svn path=/trunk/; revision=1068 po/ChangeLog | 4 +++ po/th.po | 72 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 64 insertions(+), 12 deletions(-) commit bced3282a0c01ca8e13d28243d41d1af276c4fb0 Author: Inaki Larranaga Murgoitio Date: Fri Feb 8 17:30:19 2008 +0000 Updated Basque translation. 2008-02-08 Inaki Larranaga Murgoitio * eu.po: Updated Basque translation. svn path=/trunk/; revision=1067 po/ChangeLog | 4 ++++ po/eu.po | 35 ++++++++++++++++++++++++----------- 2 files changed, 28 insertions(+), 11 deletions(-) commit d3fafd9bd571bb08aca3952e8d8f6435e7caa2be Author: Artur Flinta Date: Thu Feb 7 21:11:22 2008 +0000 Updated Polish translation by GNOME PL Team. 2008-02-07 Artur Flinta * pl.po: Updated Polish translation by GNOME PL Team. svn path=/trunk/; revision=1066 po/ChangeLog | 4 +++ po/pl.po | 68 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 62 insertions(+), 10 deletions(-) commit 166aa1f3f2fbf4380b7c54fefabb2d41ac54311f Author: Benjamin Berg Date: Thu Feb 7 19:41:44 2008 +0000 As the panel sets the shadow to NONE too, we do not need a special case 2008-02-07 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): As the panel sets the shadow to NONE too, we do not need a special case for it anymore. svn path=/trunk/; revision=1065 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) commit 4751e912f2aef04603cbaafd6106612d4281fb55 Author: Andrea Cimitan Date: Wed Feb 6 20:58:02 2008 +0000 dummy commit svn path=/trunk/; revision=1064 README | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit a4a714607a34f544772ad3af21758d0227e7f127 Author: Benjamin Berg Date: Wed Feb 6 12:58:28 2008 +0000 Added a small comment to the handlebox/toolbar special case. 2008-02-06 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Added a small comment to the handlebox/toolbar special case. svn path=/trunk/; revision=1063 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 3 +++ 2 files changed, 9 insertions(+), 0 deletions(-) commit e425fc4eeffe139a23554ef16c9ef9b1f074b4bd Author: Andrea Cimitan Date: Tue Feb 5 21:31:42 2008 +0000 Removed a "&" that caused this special case not to work The second toolbar 2008-02-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Removed a "&" that caused this special case not to work The second toolbar of file-roller is still not working svn path=/trunk/; revision=1062 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) commit 0a8d35178272314aa3a5eaabc6c5713aa5bac29e Author: Andrea Cimitan Date: Tue Feb 5 21:17:02 2008 +0000 Managed handlebox_bin and dockitem_bin special cases for toolbar's 2008-02-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Managed handlebox_bin and dockitem_bin special cases for toolbar's shadow-type To use this setting place this in the gtkrc: GtkMenuBar::shadow_type = GTK_SHADOW_NONE GtkToolbar::shadow_type = GTK_SHADOW_NONE svn path=/trunk/; revision=1061 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_style.c | 9 +++++++-- engines/support/widget-information.h | 14 +++++++------- 3 files changed, 24 insertions(+), 9 deletions(-) commit 14a552fcf9c7679390b8825d6dd13bcbc98cd9b7 Author: Andrea Cimitan Date: Tue Feb 5 19:49:47 2008 +0000 Removed the test case for the gtkrc. Ok flat menubars and toolbars works 2008-02-05 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Removed the test case for the gtkrc. Ok flat menubars and toolbars works in a sane way, except few applications with detachable toolbars. Need to investigate on it. PS: on the previous commit I forgot (yes I forgot :P) to say I've reverted the menuitems to their nicer behaviour ;-) svn path=/trunk/; revision=1060 ChangeLog | 10 ++++++++++ themes/Clearlooks/gtk-2.0/gtkrc | 3 +-- 2 files changed, 11 insertions(+), 2 deletions(-) commit 71bcf0be6ad6e1b7ae4e1d6615e38a83d2f5bc3a Author: Andrea Cimitan Date: Tue Feb 5 19:26:45 2008 +0000 Should read shadow... works on buttons but not for toolbars. Modded gtkrc 2008-02-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_menuitem): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): * themes/Clearlooks/gtk-2.0/gtkrc: Should read shadow... works on buttons but not for toolbars. Modded gtkrc to TEST. svn path=/trunk/; revision=1059 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 5 +---- engines/clearlooks/src/clearlooks_style.c | 8 +++++--- themes/Clearlooks/gtk-2.0/gtkrc | 6 ++++-- 4 files changed, 20 insertions(+), 9 deletions(-) commit 178516b1e2945f41f1cc5ed2316ceb55f43c068f Author: Andrea Cimitan Date: Tue Feb 5 12:42:20 2008 +0000 ... svn path=/trunk/; revision=1058 themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 3b2b2d93713c03e5ee5292f0c292776dd38b3586 Author: Andrea Cimitan Date: Tue Feb 5 12:34:34 2008 +0000 check CIA-1 irc bot if it is working :) svn path=/trunk/; revision=1057 README | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 6b5bdc751b10b702cc870c6339038ef5e02cb27e Author: Andrea Cimitan Date: Tue Feb 5 12:27:52 2008 +0000 check CIA-1 irc bot if it is working :) svn path=/trunk/; revision=1056 MAINTAINERS | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ef74cdc14cbb39a9dc1fe03a5febda8efcc6dd37 Author: Andrea Cimitan Date: Tue Feb 5 12:25:13 2008 +0000 check CIA-1 irc bot if it is working :) svn path=/trunk/; revision=1055 COPYING | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 237939de7a1d730986c0c43f8a491486d5a653da Author: Andre Klapper Date: Mon Feb 4 10:34:52 2008 +0000 Added missing languages (cs, sr@Latn, ml). 2008-02-04 Andre Klapper * LINGUAS: Added missing languages (cs, sr@Latn, ml). svn path=/trunk/; revision=1054 po/ChangeLog | 4 ++++ po/LINGUAS | 3 +++ 2 files changed, 7 insertions(+), 0 deletions(-) commit f75effddcd748f7c6d2d26a2f4151cdfd101b8ca Author: Arangel Angov Date: Sun Feb 3 18:30:14 2008 +0000 Arangel Angov * mk.po: Updated Macedonian Translation svn path=/trunk/; revision=1053 po/ChangeLog | 4 ++ po/mk.po | 89 ++++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 75 insertions(+), 18 deletions(-) commit 1b5f48e56729977c95772e238f6dcf4eb9e54be7 Author: Takeshi AIHANA Date: Sun Feb 3 04:43:07 2008 +0000 Updated Japanese translation. 2008-02-03 Takeshi AIHANA * ja.po: Updated Japanese translation. svn path=/trunk/; revision=1052 po/ChangeLog | 4 +++ po/ja.po | 75 +++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 65 insertions(+), 14 deletions(-) commit 5bfd240934cb52e4b6994546e54e2815958122c2 Author: Andrea Cimitan Date: Sat Feb 2 23:41:24 2008 +0000 I guess thix should fix 500952, but it's just a 30 seconds patch :) 2008-02-03 Andrea Cimitan * engines/mist/src/mist-style.c: (mist_style_draw_check), (mist_style_draw_option): I guess thix should fix 500952, but it's just a 30 seconds patch :) svn path=/trunk/; revision=1051 ChangeLog | 6 ++++++ engines/mist/src/mist-style.c | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) commit dc9daead3624b724d4dec66f78be9cb2ceb0724a Author: Kjartan Maraas Date: Sat Feb 2 20:31:36 2008 +0000 Updated Norwegian bokmål translation. 2008-02-02 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. svn path=/trunk/; revision=1050 po/ChangeLog | 4 ++++ po/nb.po | 30 +++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 9 deletions(-) commit 0b267cba2fc1ead585df5f7c49a78e595e8cdb5e Author: Ignacio Casal Quinteiro Date: Sat Feb 2 19:20:39 2008 +0000 Updated Galician Translation. svn path=/trunk/; revision=1049 po/ChangeLog | 4 ++++ po/gl.po | 36 ++++++++++++++++++++++++------------ 2 files changed, 28 insertions(+), 12 deletions(-) commit 9a4ec73be5e80fecceaca7c545b2e12e890dc01e Author: Djihed Afifi Date: Thu Jan 31 08:21:16 2008 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=1048 po/ChangeLog | 4 +++ po/ar.po | 76 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 68 insertions(+), 12 deletions(-) commit e6566d202cf9592dc777c3370e23720d06202c1b Author: Andrea Cimitan Date: Thu Jan 31 01:00:59 2008 +0000 More contrast 2008-01-31 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): More contrast svn path=/trunk/; revision=1047 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 6f0cc6d7cd6c502e1b2e6f8524c481c7e4abaaea Author: Benjamin Berg Date: Wed Jan 30 22:37:21 2008 +0000 Set the xthickness of GtkMenu to 1px and special cased the menu item 2008-01-30 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_menuitem): * themes/Clearlooks/gtk-2.0/gtkrc: Set the xthickness of GtkMenu to 1px and special cased the menu item drawing to not draw a line on the left/right for the radius == 0 case. This helps with usability, as no item is selected after opening a context menu, and also helps with menus that have an empty area because of scrolling. svn path=/trunk/; revision=1046 ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 5 ++++- themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) commit 5217250e36448a92badb41ebfc1f862e20eb7381 Author: Andrea Cimitan Date: Tue Jan 29 19:07:06 2008 +0000 Shading improvements in focus, more padding to CL_FOCUS_LABEL 2008-01-29 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Shading improvements in focus, more padding to CL_FOCUS_LABEL svn path=/trunk/; revision=1045 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 15 +++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) commit 763ba929ce43936408a553155cd84c4ab2de6bdb Author: Jorge Gonzalez Gonzalez Date: Tue Jan 29 13:01:30 2008 +0000 Updated Spanish translation svn path=/trunk/; revision=1044 po/ChangeLog | 4 ++++ po/es.po | 41 +++++++++++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 14 deletions(-) commit 17d8654ec435d1e09ff1cdcd8697be80b2d92808 Author: Daniel Nylander Date: Mon Jan 28 22:40:35 2008 +0000 sv.po: Swedish translation updated svn path=/trunk/; revision=1043 po/ChangeLog | 4 ++++ po/sv.po | 35 ++++++++++++++++++++++++----------- 2 files changed, 28 insertions(+), 11 deletions(-) commit 7c8e87c499eb053ba6356ed9f86f5ba7cd113743 Author: Benjamin Berg Date: Mon Jan 28 20:00:49 2008 +0000 2.13.4 release. 2008-01-28 Benjamin Berg * NEWS: * configure.ac: 2.13.4 release. svn path=/trunk/; revision=1041 ChangeLog | 6 ++++++ NEWS | 18 ++++++++++++++++++ configure.ac | 2 +- 3 files changed, 25 insertions(+), 1 deletions(-) commit 892f93357669101982aaca5075599a4fd6e4c721 Author: Andrea Cimitan Date: Mon Jan 28 19:42:24 2008 +0000 Updated Clearlook's schema file 2008-01-28 Andrea Cimitan * schema/clearlooks.xml.in.in: Updated Clearlook's schema file svn path=/trunk/; revision=1040 ChangeLog | 5 +++++ schema/clearlooks.xml.in.in | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) commit 53caff7460990a5bbb880e0d3da47d75a48ed4e1 Author: Andrea Cimitan Date: Mon Jan 28 19:33:18 2008 +0000 Clearlooks/Gummy MUST set reliefstyle = 1 to looks as the default theme. 2008-01-28 Andrea Cimitan * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): * themes/Clearlooks/gtk-2.0/gtkrc: Clearlooks/Gummy MUST set reliefstyle = 1 to looks as the default theme. You should update your Clearlooks themes! svn path=/trunk/; revision=1039 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_rc_style.c | 1 + engines/clearlooks/src/clearlooks_style.c | 10 +--------- themes/Clearlooks/gtk-2.0/gtkrc | 9 +++++---- 4 files changed, 18 insertions(+), 13 deletions(-) commit 70ed9416469bf5c929dd2ff402a4fc30a0564d92 Author: Benjamin Berg Date: Mon Jan 28 15:21:40 2008 +0000 Added a comment and more restrictive no-focus drawing for the notebook 2008-01-28 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_focus): Added a comment and more restrictive no-focus drawing for the notebook tab. svn path=/trunk/; revision=1038 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 5 ++++- 2 files changed, 11 insertions(+), 1 deletions(-) commit 3e24985dfd05106f0563293cd6ef53abac231825 Author: Andrea Cimitan Date: Sat Jan 26 20:52:54 2008 +0000 Implemented focus drawing inside the draw_tab, so I added 1px of padding. 2008-01-26 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_extension): * engines/clearlooks/src/clearlooks_types.h: Implemented focus drawing inside the draw_tab, so I added 1px of padding. svn path=/trunk/; revision=1037 ChangeLog | 10 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 40 +++++++++++++++++++++-- engines/clearlooks/src/clearlooks_style.c | 12 +++++++ engines/clearlooks/src/clearlooks_types.h | 25 ++++++++------- 4 files changed, 71 insertions(+), 16 deletions(-) commit a8ac9531b1bb5036c9b697f6d4681ca098d55947 Author: Andrea Cimitan Date: Fri Jan 25 12:07:28 2008 +0000 I forgot the offset :) 2008-01-25 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): I forgot the offset :) svn path=/trunk/; revision=1036 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 ++ 2 files changed, 8 insertions(+), 0 deletions(-) commit 9ac05db0b6ec2a54dbac3d64199dbf6fe57fb56e Author: Andrea Cimitan Date: Fri Jan 25 11:56:02 2008 +0000 New treeview look, rounded focus on treeview "small" row The one you can 2008-01-25 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): New treeview look, rounded focus on treeview "small" row The one you can find in pidgin for example svn path=/trunk/; revision=1035 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 13 ++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) commit f4b052fe7717ccca35f09243e283deb31c345ad6 Author: Andrea Cimitan Date: Fri Jan 25 11:27:00 2008 +0000 Just for testing 2008-01-25 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Just for testing svn path=/trunk/; revision=1034 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 15 +++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) commit 944103697846b5c9fe4bd7e212a983dff3d54aba Author: Andrea Cimitan Date: Fri Jan 25 02:20:22 2008 +0000 Reduced "flashy" mistakes to focus drawing in nautilus (treeview) 2008-01-25 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Reduced "flashy" mistakes to focus drawing in nautilus (treeview) svn path=/trunk/; revision=1033 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit d8680846a1386ffc5e99e77a98bc28b7560156c6 Author: Andrea Cimitan Date: Fri Jan 25 01:35:29 2008 +0000 Lighter tabs focus 2008-01-25 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Lighter tabs focus svn path=/trunk/; revision=1032 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 ++ 2 files changed, 8 insertions(+), 0 deletions(-) commit b6422ba8d5eff190d938b5d12a46601a834dc5e1 Author: Andrea Cimitan Date: Wed Jan 23 23:06:06 2008 +0000 Shadow on prelight button :) 2008-01-24 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Shadow on prelight button :) svn path=/trunk/; revision=1031 ChangeLog | 6 + engines/clearlooks/src/clearlooks_draw_glossy.c | 226 +++++++++++------------ 2 files changed, 118 insertions(+), 114 deletions(-) commit 98dc03fb715a7b1890a0d2c1203d8262dfb9627b Author: Andrea Cimitan Date: Wed Jan 23 22:49:27 2008 +0000 No shadow on prelight button (previous revision) 2008-01-23 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): No shadow on prelight button (previous revision) svn path=/trunk/; revision=1030 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) commit 86515bd642bdd576d4a16171d6278d61ef56e87e Author: Andrea Cimitan Date: Wed Jan 23 22:44:03 2008 +0000 Better approach to reliefstyle default state 2008-01-23 Andrea Cimitan * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): Better approach to reliefstyle default state svn path=/trunk/; revision=1029 engines/clearlooks/src/clearlooks_draw_glossy.c | 222 +++++++++++----------- 1 files changed, 111 insertions(+), 111 deletions(-) commit a1fb84e3fe4b2876367327ef900eac0f8cf9da14 Author: Andrea Cimitan Date: Wed Jan 23 22:41:37 2008 +0000 Better approach to reliefstyle default state 2008-01-23 Andrea Cimitan * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): Better approach to reliefstyle default state svn path=/trunk/; revision=1028 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_rc_style.c | 1 - engines/clearlooks/src/clearlooks_style.c | 12 ++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) commit 1cd67226057f767626a79e2a4a985f4e23568245 Author: Andrea Cimitan Date: Wed Jan 23 11:01:27 2008 +0000 New option: int reliefstyle to enable/disable shadows on buttons. Default 2008-01-23 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_button): * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (clearlooks_gtk2_rc_parse_int), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (clearlooks_style_draw_box), (clearlooks_style_init_from_rc), (clearlooks_style_copy): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_types.h: New option: int reliefstyle to enable/disable shadows on buttons. Default is 1 (enable shadows on Gummy and prelight on Glossy) svn path=/trunk/; revision=1027 ChangeLog | 29 ++++++++++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 36 +++++++++++----------- engines/clearlooks/src/clearlooks_draw_gummy.c | 6 ++-- engines/clearlooks/src/clearlooks_rc_style.c | 11 ++++++- engines/clearlooks/src/clearlooks_rc_style.h | 12 ++++--- engines/clearlooks/src/clearlooks_style.c | 34 ++++++++++++--------- engines/clearlooks/src/clearlooks_style.h | 1 + engines/clearlooks/src/clearlooks_types.h | 2 +- 8 files changed, 88 insertions(+), 43 deletions(-) commit a1933861975d0c374efa490fa4c85ff8b9338024 Author: Andrea Cimitan Date: Tue Jan 22 17:08:32 2008 +0000 Fixed GtkProgressbars inside GtkMenu 2008-01-22 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Fixed GtkProgressbars inside GtkMenu svn path=/trunk/; revision=1026 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 9 ++------- 2 files changed, 7 insertions(+), 7 deletions(-) commit c455ecfd67d93d58023d83b8b281ebc013b3e2e2 Author: Andrea Cimitan Date: Mon Jan 21 23:18:09 2008 +0000 Fixed #509226 and minor changes to intends. To benzea: Check if you like 2008-01-22 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_extension): Fixed #509226 and minor changes to intends. To benzea: Check if you like the current fallback behaviour svn path=/trunk/; revision=1025 ChangeLog | 11 + engines/clearlooks/Makefile.am | 10 +- engines/clearlooks/src/clearlooks_draw.c | 402 ++++++++++++------------ engines/clearlooks/src/clearlooks_draw.h | 11 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 36 +- engines/clearlooks/src/clearlooks_style.c | 261 ++++++++-------- engines/clearlooks/src/clearlooks_types.h | 220 +++++++------- 7 files changed, 484 insertions(+), 467 deletions(-) commit 69b52c496743e17bd289b29b4e363dcf3f0162ce Author: Iñaki Larrañaga Murgoitio Date: Fri Jan 11 15:25:23 2008 +0000 svn path=/trunk/; revision=1024 svn path=/trunk/; revision=1024 po/ChangeLog | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit e9ef49882aeec4bf3246be8e76e90f3d663aed19 Author: Inaki Larranaga Murgoitio Date: Fri Jan 11 15:21:48 2008 +0000 Added Basque translation. Added "eu" (Basque) entry. 2008-01-11 Inaki Larranaga Murgoitio * eu.po: Added Basque translation. * LINGUAS: Added "eu" (Basque) entry. svn path=/trunk/; revision=1023 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/eu.po | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 192 insertions(+), 0 deletions(-) commit 7477c91d6f9318fcc3ab7bc43659ed6a0c1190f9 Author: Benjamin Berg Date: Mon Jan 7 19:43:23 2008 +0000 2.13.3 release. 2008-01-07 Benjamin Berg * NEWS: * configure.ac: 2.13.3 release. svn path=/trunk/; revision=1021 ChangeLog | 6 ++++++ NEWS | 18 ++++++++++++++++++ configure.ac | 2 +- 3 files changed, 25 insertions(+), 1 deletions(-) commit 885f9464b13dd0bab4fcef20f9118585243a9f12 Author: Priit Laes Date: Mon Jan 7 11:04:22 2008 +0000 Translation updated by Ivar Smolin 2008-01-07 Priit Laes * et.po: Translation updated by Ivar Smolin svn path=/trunk/; revision=1020 po/ChangeLog | 4 ++++ po/et.po | 13 ++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) commit 40160d8cb382ee48e1b9e98fc03a2ff109cee292 Author: Clytie Siddall Date: Sat Jan 5 08:21:45 2008 +0000 Updated Vietnamese translation svn path=/trunk/; revision=1019 po/ChangeLog | 4 +++ po/vi.po | 62 +++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 53 insertions(+), 13 deletions(-) commit 4c6315fa0cc44aec5ffde2e2308d6e9b9294fb1a Author: Kjartan Maraas Date: Thu Jan 3 21:35:13 2008 +0000 Updated Norwegian bokmål translation. 2008-01-03 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. svn path=/trunk/; revision=1018 po/ChangeLog | 13 +++++++++---- po/nb.po | 12 ++++++------ 2 files changed, 15 insertions(+), 10 deletions(-) commit 71d7b9a2e5d5029f9cd3c65ea64bbab79a8ccbb4 Author: Yannig MARCHEGAY Date: Mon Dec 31 21:07:52 2007 +0000 Updated Occitan translation svn path=/trunk/; revision=1017 po/ChangeLog | 5 +++- po/oc.po | 61 ++++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 51 insertions(+), 15 deletions(-) commit 367bfb796774967fd967e1413495990b59aa1adc Author: Benjamin Berg Date: Mon Dec 31 01:37:18 2007 +0000 Seems like the order of automake and autoheader were wrong. 2007-12-31 Benjamin Berg * autogen.sh: Seems like the order of automake and autoheader were wrong. svn path=/trunk/; revision=1016 ChangeLog | 5 +++++ autogen.sh | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 665a8919243f30cdcd414190a62db0c2ac2cfd7a Author: Rahul Bhalerao Date: Fri Dec 28 10:53:27 2007 +0000 Added Marathi Translations svn path=/trunk/; revision=1015 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/mr.po | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 193 insertions(+), 0 deletions(-) commit 3b3127468de46614fcce0f51229033aee21ffc33 Author: Benjamin Berg Date: Thu Dec 27 20:49:34 2007 +0000 Correct the length of the gaps for shadows and notebooks. The gap for 2007-12-27 Benjamin Berg * engines/hc/src/hc-style.c: (hc_draw_shadow_gap): Correct the length of the gaps for shadows and notebooks. The gap for notebooks is shorter by the line width, while the oen for shadows is not. svn path=/trunk/; revision=1014 ChangeLog | 7 +++++++ engines/hc/src/hc-style.c | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) commit 92814842637ed3c613d0c565e45837eca00bbf49 Author: Benjamin Berg Date: Tue Dec 25 20:47:02 2007 +0000 Do not draw a status bar if the shadow is NONE. 2007-12-25 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow): Do not draw a status bar if the shadow is NONE. svn path=/trunk/; revision=1012 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) commit f136be7966edcbc3617dcf121a8f7f217e1fd753 Author: Benjamin Berg Date: Tue Dec 18 16:04:43 2007 +0000 Add missing initilization of focus.padding. 2007-12-18 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): Add missing initilization of focus.padding. svn path=/trunk/; revision=1011 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 1 + 2 files changed, 7 insertions(+), 0 deletions(-) commit 82ba92aba7c2368d2af688f0c5d7f97e61017b84 Author: Benjamin Berg Date: Mon Dec 17 22:10:52 2007 +0000 Update for 2.13.2 release. 2007-12-17 Benjamin Berg * NEWS: * configure.ac: Update for 2.13.2 release. svn path=/trunk/; revision=1009 ChangeLog | 6 ++++++ NEWS | 25 +++++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 32 insertions(+), 1 deletions(-) commit e19464c448b84b3e6b587fc175ad98d3a3c79f97 Author: Benjamin Berg Date: Mon Dec 17 21:18:41 2007 +0000 Added a suppression. 2007-12-17 Benjamin Berg * test/valgrind-suppressions: Added a suppression. svn path=/trunk/; revision=1008 ChangeLog | 5 +++++ test/valgrind-suppressions | 10 ++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) commit 41389c0c1e701942b08ae62fefd6528f50b5a2d9 Author: Benjamin Berg Date: Mon Dec 17 20:51:46 2007 +0000 Looks like the --log-file-exact option for valgrind is gone. 2007-12-17 Benjamin Berg * test/Makefile.am: Looks like the --log-file-exact option for valgrind is gone. svn path=/trunk/; revision=1007 ChangeLog | 5 +++++ test/Makefile.am | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 63d12394ab4ccccd805ccef3749c91ebb35d22ac Author: Benjamin Berg Date: Mon Dec 17 20:37:55 2007 +0000 Fix a small warning by adding default values to the switch statements. 2007-12-17 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tab): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_tab): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_tab): Fix a small warning by adding default values to the switch statements. svn path=/trunk/; revision=1006 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw.c | 8 +++++++- engines/clearlooks/src/clearlooks_draw_glossy.c | 6 ++++++ engines/clearlooks/src/clearlooks_draw_inverted.c | 6 ++++++ 4 files changed, 29 insertions(+), 1 deletions(-) commit c1855eb7fd3b73e5ca663741f3adffa300788efe Author: Benjamin Berg Date: Mon Dec 17 20:32:47 2007 +0000 Modify some widgets background color if they are inside notebooks. 2007-12-17 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Modify some widgets background color if they are inside notebooks. (#488850, Federico Pelloni) svn path=/trunk/; revision=1005 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 17 ++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) commit 43063e24a50145a9f60d8b22f3804486710c56a0 Author: Benjamin Berg Date: Mon Dec 17 20:25:23 2007 +0000 Port the fix for bug #475291 to the other clearlooks styles. 2007-12-17 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tab): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_tab): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_tab): Port the fix for bug #475291 to the other clearlooks styles. svn path=/trunk/; revision=1004 ChangeLog | 9 +++ engines/clearlooks/src/clearlooks_draw.c | 66 ++++++++++++++++----- engines/clearlooks/src/clearlooks_draw_glossy.c | 64 ++++++++++++++++----- engines/clearlooks/src/clearlooks_draw_inverted.c | 60 +++++++++++++++---- 4 files changed, 158 insertions(+), 41 deletions(-) commit 8c7964407855d56b006d1019f5884e699960d489 Author: Benjamin Berg Date: Mon Dec 17 19:52:24 2007 +0000 Work around evolution ETree and ETable headers (#492372, Michael Monreal) 2007-12-17 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Work around evolution ETree and ETable headers (#492372, Michael Monreal) svn path=/trunk/; revision=1003 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 4 ++++ 2 files changed, 10 insertions(+), 0 deletions(-) commit d4776ce1e10de0671205f16c14c7c0d136aa10f2 Author: Daniel Nylander Date: Mon Dec 17 15:32:54 2007 +0000 sv.po: Updated Swedish translation svn path=/trunk/; revision=1002 po/ChangeLog | 4 ++++ po/sv.po | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) commit 25711e4358bcd833ad6cb5f21d70e7c58290933f Author: Kjartan Maraas Date: Mon Dec 17 12:40:31 2007 +0000 Forgot to add nn to LINGUAS svn path=/trunk/; revision=1001 po/LINGUAS | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 0f17f175b78b4606be010f176f2b156f1d331311 Author: Kjartan Maraas Date: Sat Dec 15 11:11:03 2007 +0000 Updated Norwegian bokmål translation Updated Norwegian nynorsk 2007-12-15 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation * nn.po: Updated Norwegian nynorsk translation From Eskild Hustvedt svn path=/trunk/; revision=1000 po/ChangeLog | 6 ++ po/nb.po | 74 +++++++++++++++++------ po/nn.po | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 246 insertions(+), 19 deletions(-) commit 4ce69d4113f2c4800401afd8aed5670404a08912 Author: Matej Urbančič Date: Mon Dec 10 15:08:01 2007 +0000 Updated Slovenian translation svn path=/trunk/; revision=999 po/ChangeLog | 4 ++++ po/sl.po | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) commit e4a19205c0a33926e4e2682b39b97391d505a7fe Author: Andrea Cimitan Date: Sun Dec 9 21:08:41 2007 +0000 Added CL_FOCUS_UNKNOWN and exit the focus drawing function for it 2007-12-09 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): * engines/clearlooks/src/clearlooks_types.h: Added CL_FOCUS_UNKNOWN and exit the focus drawing function for it svn path=/trunk/; revision=998 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 3 +++ engines/clearlooks/src/clearlooks_style.c | 15 ++++++++++----- engines/clearlooks/src/clearlooks_types.h | 3 ++- 4 files changed, 25 insertions(+), 6 deletions(-) commit b9c20bf0834546ce67a84c402907446e218ffdd5 Author: Andrea Cimitan Date: Sun Dec 9 13:35:48 2007 +0000 Implemented focus_button_flat custom drawing 2007-12-09 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Implemented focus_button_flat custom drawing svn path=/trunk/; revision=997 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 12 ++++++++++++ 2 files changed, 18 insertions(+), 0 deletions(-) commit 8a59141652c1eba880cae41d2810454878d2dd1c Author: Benjamin Berg Date: Sun Dec 9 13:28:57 2007 +0000 Default edge_thickness to be the same as the x/ythickness. 2007-12-09 Benjamin Berg * engines/hc/src/hc_gtk2_engine.c: (hc_style_init): Default edge_thickness to be the same as the x/ythickness. svn path=/trunk/; revision=996 ChangeLog | 5 +++++ engines/hc/src/hc_gtk2_engine.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit b0e8c8b5fccf29e25cd1419d9ee872c8d3c9b8f7 Author: Benjamin Berg Date: Sun Dec 9 13:21:43 2007 +0000 Add CL_FOCUS_BUTTON_FLAT and correct/added some comments. 2007-12-09 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): * engines/clearlooks/src/clearlooks_types.h: Add CL_FOCUS_BUTTON_FLAT and correct/added some comments. svn path=/trunk/; revision=995 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 18 +++++++++++++++--- engines/clearlooks/src/clearlooks_types.h | 1 + 3 files changed, 23 insertions(+), 3 deletions(-) commit 396ee030485fc2bc46a1e533b79cf8b04f993de2 Author: Andrea Cimitan Date: Sat Dec 8 16:09:17 2007 +0000 Now *really* fixed :) 2007-12-08 Andrea Cimitan * engines/hc/src/hc-style.c: (hc_draw_shadow), (hc_draw_shadow_gap), (hc_draw_extension): Now *really* fixed :) svn path=/trunk/; revision=994 ChangeLog | 6 ++++++ engines/hc/src/hc-style.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) commit ce33ff8e03fdbc1fd23eb11cbb68e78765d8f9be Author: Andrea Cimitan Date: Sat Dec 8 15:59:32 2007 +0000 Fix #501816 2007-12-08 Andrea Cimitan * engines/hc/src/hc-style.c: (hc_draw_shadow), (hc_draw_shadow_gap), (hc_draw_extension): Fix #501816 svn path=/trunk/; revision=993 ChangeLog | 6 +++ engines/hc/src/hc-style.c | 96 ++++++++++++++++++++++++--------------------- 2 files changed, 57 insertions(+), 45 deletions(-) commit 66a04b59ffc3e0c8ea87c45063b7ece02599117a Author: Ihar Hrachyshka Date: Sat Dec 8 09:03:05 2007 +0000 Updated Belarusian Latin translation. svn path=/trunk/; revision=992 po/ChangeLog | 4 ++++ po/be@latin.po | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) commit bfde34e3c51556822522dcc382d486801a3c4e73 Author: Jorge Gonzalez Gonzalez Date: Thu Dec 6 15:18:04 2007 +0000 Updated spanish translation svn path=/trunk/; revision=991 po/ChangeLog | 4 ++++ po/es.po | 10 ++++------ 2 files changed, 8 insertions(+), 6 deletions(-) commit 9c48f605558962040c61d2f654297b463b627020 Author: Benjamin Berg Date: Wed Dec 5 12:54:38 2007 +0000 Fix array overrun. (Bug #501612, reported by coverity) 2007-12-05 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menubar): Fix array overrun. (Bug #501612, reported by coverity) svn path=/trunk/; revision=990 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit f5b93ce411db804f84624a41b14a5dae5d6c4c8b Author: Benjamin Berg Date: Wed Dec 5 12:53:03 2007 +0000 Removed some dead code. (Bug #501611, reported by coverity) 2007-12-05 Benjamin Berg * engines/support/widget-information.c: (ge_combo_box_is_using_list): Removed some dead code. (Bug #501611, reported by coverity) svn path=/trunk/; revision=989 ChangeLog | 6 ++++++ engines/support/widget-information.c | 9 +-------- 2 files changed, 7 insertions(+), 8 deletions(-) commit a9abaf7458944067a882ab9ee329c70453f2e0ce Author: Benjamin Berg Date: Mon Dec 3 23:50:17 2007 +0000 Update for 2.13.1 release. 2007-12-04 Benjamin Berg * NEWS: * configure.ac: Update for 2.13.1 release. svn path=/trunk/; revision=985 ChangeLog | 6 ++++++ NEWS | 19 +++++++++++++++++++ configure.ac | 2 +- 3 files changed, 26 insertions(+), 1 deletions(-) commit 1cb5044edf1ed0823d63209503153ae5bfbd1470 Author: Benjamin Berg Date: Mon Dec 3 23:42:33 2007 +0000 Fix some outline drawings. Fixes bug #486418 at least partially. 2007-12-04 Benjamin Berg * engines/hc/src/hc-style.c: (hc_draw_shadow), (hc_draw_shadow_gap), (hc_draw_extension): Fix some outline drawings. Fixes bug #486418 at least partially. svn path=/trunk/; revision=984 ChangeLog | 6 ++++++ engines/hc/src/hc-style.c | 33 ++++++--------------------------- 2 files changed, 12 insertions(+), 27 deletions(-) commit 8b0b111a826614d5de24079d10f1217339644e22 Author: Benjamin Berg Date: Sun Dec 2 19:32:17 2007 +0000 Minor changes to the code (use cairo_close_path instead of explicitly 2007-12-02 Benjamin Berg * engines/hc/src/hc_gtk2_support.c: (hc_simple_border_gap_clip), (do_hc_draw_arrow): Minor changes to the code (use cairo_close_path instead of explicitly going back to the start point.) svn path=/trunk/; revision=983 ChangeLog | 7 +++++++ engines/hc/src/hc_gtk2_support.c | 28 +++++++++++++--------------- 2 files changed, 20 insertions(+), 15 deletions(-) commit 8c75118f4a31fdd46ba92c8759a34887db58a3b3 Author: Benjamin Berg Date: Sun Dec 2 19:30:52 2007 +0000 Add ge_cairo_inner_rectangle and ge_cairo_inner_rounded_rectangle 2007-12-02 Benjamin Berg * engines/support/cairo-support.c: (ge_cairo_inner_rectangle), (ge_cairo_inner_rounded_rectangle): * engines/support/cairo-support.h: Add ge_cairo_inner_rectangle and ge_cairo_inner_rounded_rectangle functions. svn path=/trunk/; revision=982 ChangeLog | 8 ++++++++ engines/support/cairo-support.c | 29 +++++++++++++++++++++++++++++ engines/support/cairo-support.h | 2 ++ 3 files changed, 39 insertions(+), 0 deletions(-) commit 5e29e3d9add1397ec8760409af347fc57b7e3020 Author: Benjamin Berg Date: Sun Dec 2 19:11:21 2007 +0000 Fixed the descriptions of the animations and colorize_scrollbar options. 2007-12-02 Benjamin Berg * schema/clearlooks.xml.in.in: Fixed the descriptions of the animations and colorize_scrollbar options. Thanks for Werner Pantke for pointing this out. svn path=/trunk/; revision=981 ChangeLog | 6 ++++++ schema/clearlooks.xml.in.in | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 349dfd76767b2028f99cae2a56e0dee916fb2397 Author: Ignacio Casal Quinteiro Date: Sat Dec 1 10:31:38 2007 +0000 Updated Galician Translation. svn path=/trunk/; revision=980 po/ChangeLog | 4 +++ po/gl.po | 65 ++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 56 insertions(+), 13 deletions(-) commit e62f8df9a6b2a7a12149f338c8f02c6a34b77b92 Author: Andrea Cimitan Date: Thu Nov 29 19:27:08 2007 +0000 Various whitespaces and intentations, BUT, in clearlooks_draw_gummy.c I've 2007-11-29 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tab): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (clearlooks_set_toolbar_parameters): * themes/Clearlooks/gtk-2.0/gtkrc: Various whitespaces and intentations, BUT, in clearlooks_draw_gummy.c I've refined the calculation of the tab stripe and used a new look for listview focus svn path=/trunk/; revision=979 ChangeLog | 13 +++++ engines/clearlooks/src/clearlooks_draw.c | 21 ++++---- engines/clearlooks/src/clearlooks_draw_gummy.c | 63 +++++++++++++---------- engines/clearlooks/src/clearlooks_style.c | 9 ++- engines/clearlooks/src/clearlooks_types.h | 2 +- engines/clearlooks/src/support.c | 5 ++- engines/support/cairo-support.c | 10 ++++ themes/Clearlooks/gtk-2.0/gtkrc | 4 +- 8 files changed, 82 insertions(+), 45 deletions(-) commit 833b04ec60e1f6f67a2f78f5d0f62f0aeaa549ed Author: Yannig MARCHEGAY Date: Tue Nov 20 20:19:30 2007 +0000 Updated Occitan translation svn path=/trunk/; revision=976 po/oc.po | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) commit e0088a73a3d57caa8e20fca85a1d56be63f37f81 Author: Matej Urbančič Date: Mon Nov 19 14:29:30 2007 +0000 Updated Slovenian translation svn path=/trunk/; revision=975 po/sl.po | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 42 insertions(+), 6 deletions(-) commit 683898c0d76bef82e02d97e116d857e5741e624e Author: Andrea Cimitan Date: Sat Nov 17 21:05:08 2007 +0000 No shadow on active buttons 2007-11-17 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): No shadow on active buttons svn path=/trunk/; revision=974 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletions(-) commit 594d52ae46cde4f12092b61e7f89cef219ab11e7 Author: Andrea Cimitan Date: Sat Nov 17 20:33:57 2007 +0000 Shadings 2007-11-17 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Shadings svn path=/trunk/; revision=973 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 414afaf45b855abb6f8e86ca3b603bec9b093d1b Author: Andrea Cimitan Date: Sat Nov 17 20:13:45 2007 +0000 Focus-padding is fixed for buttons, so we won't have troubles when apps 2007-11-17 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): * engines/clearlooks/src/clearlooks_types.h: Focus-padding is fixed for buttons, so we won't have troubles when apps will override the gtkrc svn path=/trunk/; revision=972 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 15 ++++++--------- engines/clearlooks/src/clearlooks_style.c | 1 + engines/clearlooks/src/clearlooks_types.h | 1 + 4 files changed, 18 insertions(+), 9 deletions(-) commit d3c061286d9c09ee8312e895d3933009a0df5376 Author: Andrea Cimitan Date: Sat Nov 17 18:49:08 2007 +0000 Shadings 2007-11-17 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Shadings svn path=/trunk/; revision=971 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletions(-) commit d0b1f716d7803a8e1e85064b90115a432819282c Author: Andrea Cimitan Date: Sat Nov 17 18:22:23 2007 +0000 New design for button's focus 2007-11-17 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): New design for button's focus * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Whitespaces svn path=/trunk/; revision=970 ChangeLog | 10 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 41 +++++++++++++++-------- engines/clearlooks/src/clearlooks_style.c | 4 +- 3 files changed, 39 insertions(+), 16 deletions(-) commit 5adb1fd2bc60b1b0dcc4a81a760d08e50c9c8a8a Author: Benjamin Berg Date: Sat Nov 17 14:47:47 2007 +0000 Some of the old options that are ignored were wrong. 2007-11-17 Benjamin Berg * test/gtkrcs/clearlooks: Some of the old options that are ignored were wrong. svn path=/trunk/; revision=969 ChangeLog | 5 +++++ test/gtkrcs/clearlooks | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) commit 71bddd0a97418cb2d31fcdcf7051cf3ec3b0e632 Author: Andrea Cimitan Date: Fri Nov 16 17:07:18 2007 +0000 Moved cairo_translate 2007-11-16 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Moved cairo_translate svn path=/trunk/; revision=968 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) commit 72c9b135984846e6892257c5eb64d2c728a950b0 Author: Andrea Cimitan Date: Fri Nov 16 16:55:24 2007 +0000 More offset 2007-11-16 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_optionmenu): More offset svn path=/trunk/; revision=967 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 3908ae5ca2d7d396f24a5fa53ed6739074a0932f Author: Andrea Cimitan Date: Fri Nov 16 15:43:37 2007 +0000 Mmm... Still very undecided 2007-11-16 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Mmm... Still very undecided svn path=/trunk/; revision=966 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) commit 76c9b472834d348cf737878bb791540cd7a92877 Author: Priit Laes Date: Thu Nov 15 11:58:41 2007 +0000 Translation updated by Ivar Smolin. 2007-11-15 Priit Laes * et.po: Translation updated by Ivar Smolin. svn path=/trunk/; revision=963 po/ChangeLog | 4 +++ po/et.po | 60 ++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 52 insertions(+), 12 deletions(-) commit 57103a78ca05331812b5394145cdb95929f2de90 Author: Andrea Cimitan Date: Thu Nov 15 03:26:51 2007 +0000 Bumped Gtk+ version to 2.12 2007-11-15 Andrea Cimitan * README: * configure.ac: Bumped Gtk+ version to 2.12 * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_focus): Use focus->color if is set in the gtkrc * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Improvements in the draw_focus code, no changes in drawing * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_gtk2_rc_parse_color), (clearlooks_rc_style_parse): Use gtk_rc_parse_color_full (Gtk+ 2.12) * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): focus->color is now initialized to FALSE (ooops fixed!) svn path=/trunk/; revision=961 ChangeLog | 30 ++++++++++++++++++ README | 2 +- configure.ac | 4 +- engines/clearlooks/src/clearlooks_draw.c | 10 +++-- engines/clearlooks/src/clearlooks_draw_gummy.c | 40 ++++++++++------------- engines/clearlooks/src/clearlooks_rc_style.c | 7 ++-- engines/clearlooks/src/clearlooks_style.c | 1 + 7 files changed, 61 insertions(+), 33 deletions(-) commit 0a57dd45b1fc94f7095ceb7e496a19e3f2ce497b Author: Andrea Cimitan Date: Wed Nov 14 17:02:02 2007 +0000 Changed gummy focused entry color and whiteuselessspaces :) Changed 2007-11-14 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_entry), (clearlooks_gummy_draw_slider), (clearlooks_gummy_draw_scrollbar_stepper), (clearlooks_gummy_draw_scrollbar_slider), (clearlooks_gummy_draw_radiobutton), (clearlooks_gummy_draw_focus): Changed gummy focused entry color and whiteuselessspaces :) * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_realize): Changed spot[0]. (I'd like to deprecate it in the future) svn path=/trunk/; revision=960 ChangeLog | 13 +++ engines/clearlooks/src/clearlooks_draw_gummy.c | 134 ++++++++++++------------ engines/clearlooks/src/clearlooks_style.c | 8 +- 3 files changed, 84 insertions(+), 71 deletions(-) commit c0abccff5eb46d394811c3aef5afdcad25581c5b Author: Matej Urbančič Date: Wed Nov 14 14:03:13 2007 +0000 Updated Slovenian translation svn path=/trunk/; revision=959 po/ChangeLog | 4 ++++ po/sl.po | 15 +++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) commit 1e7353b35872eb0e16ba7aff600ad5cc8715872e Author: Ihar Hrachyshka Date: Tue Nov 13 16:46:09 2007 +0000 Updated Belarusian Latin translation. svn path=/trunk/; revision=958 po/ChangeLog | 4 ++++ po/be@latin.po | 56 +++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 51 insertions(+), 9 deletions(-) commit 1cb07c50d4deceb70c1bbcb81d74360733e0a925 Author: Daniel Nylander Date: Tue Nov 13 00:23:51 2007 +0000 sv.po: Updated Swedish translation svn path=/trunk/; revision=957 po/ChangeLog | 4 ++++ po/sv.po | 58 +++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 51 insertions(+), 11 deletions(-) commit c51481fc9a2071a312554ac5f5fb13716fd89942 Author: Jorge Gonzalez Gonzalez Date: Mon Nov 12 22:26:30 2007 +0000 Updated Spanish translation svn path=/trunk/; revision=956 po/ChangeLog | 4 +++ po/es.po | 64 ++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 55 insertions(+), 13 deletions(-) commit 33d6ef1294233b3bbb7355a128b216d590b0c249 Author: Benjamin Berg Date: Mon Nov 12 21:37:38 2007 +0000 Update for 2.13.0 release. 2007-11-12 Benjamin Berg * NEWS: * configure.ac: Update for 2.13.0 release. svn path=/trunk/; revision=954 ChangeLog | 6 ++++++ NEWS | 21 +++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 28 insertions(+), 1 deletions(-) commit e0c513b286c83ac298676b83a83b7dbc8ebb1592 Author: Benjamin Berg Date: Mon Nov 12 19:51:00 2007 +0000 Fix a double free by removing a broken cairo_destroy. 2007-11-12 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_focus): Fix a double free by removing a broken cairo_destroy. svn path=/trunk/; revision=953 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 1 - 2 files changed, 6 insertions(+), 1 deletions(-) commit c5d66c62a0f294c8cd82b50c6f6582e9acd65bdd Author: Benjamin Berg Date: Mon Nov 12 19:18:21 2007 +0000 Add missing options to the clearlooks schema file. (Bug #475294) Thanks to 2007-11-12 Benjamin Berg * schema/clearlooks.xml.in.in: Add missing options to the clearlooks schema file. (Bug #475294) Thanks to Werner Pantke for the patch! svn path=/trunk/; revision=952 ChangeLog | 6 ++++ schema/clearlooks.xml.in.in | 64 +++++++++++++++++++++++++++++++++++-------- 2 files changed, 58 insertions(+), 12 deletions(-) commit 8dd0664019aaf8a3a64d18a6255868b54f2b3461 Author: Benjamin Berg Date: Mon Nov 12 19:10:50 2007 +0000 Now we again have the ugly focus in the default clearlooks style :-) The 2007-11-12 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): * engines/clearlooks/src/clearlooks_types.h: Now we again have the ugly focus in the default clearlooks style :-) The drawing code now knows about: - focus-line-width - interior-focus - focus-line-pattern svn path=/trunk/; revision=951 ChangeLog | 13 ++++++ engines/clearlooks/src/clearlooks_draw.c | 65 +++++++---------------------- engines/clearlooks/src/clearlooks_style.c | 27 ++++++++++++ engines/clearlooks/src/clearlooks_types.h | 7 +++- 4 files changed, 62 insertions(+), 50 deletions(-) commit 36d7648428e83e0be774d8afbdb4845be8e79d0d Author: Benjamin Berg Date: Mon Nov 12 00:00:34 2007 +0000 Fix the distribution of the config.h and config.h.in files. 2007-11-12 Benjamin Berg * engines/clearlooks/Makefile.am: * engines/smooth/Makefile.am: * engines/support/Makefile.am: Fix the distribution of the config.h and config.h.in files. svn path=/trunk/; revision=950 ChangeLog | 7 +++++++ engines/clearlooks/Makefile.am | 6 +----- engines/smooth/Makefile.am | 1 - engines/support/Makefile.am | 5 ++++- 4 files changed, 12 insertions(+), 7 deletions(-) commit d7c152bae9e34b28e332088b3e625e819eb4691b Author: Benjamin Berg Date: Sun Nov 11 23:46:13 2007 +0000 Oops, forgot to commit the changelog entry earlier. svn path=/trunk/; revision=949 ChangeLog | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) commit ae450cb030170c2b2696852e9e04f08857a39dfd Author: Andrea Cimitan Date: Sun Nov 11 23:42:19 2007 +0000 First fix to treeview rows 2007-11-12 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): First fix to treeview rows svn path=/trunk/; revision=948 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 9 +++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) commit 644d3195501d78ee21340af91bbbe77f9a7f359e Author: Benjamin Berg Date: Sun Nov 11 23:37:27 2007 +0000 Detect treeview row focus drawing and the position of the focus. 2007-11-12 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): * engines/clearlooks/src/clearlooks_types.h: Detect treeview row focus drawing and the position of the focus. svn path=/trunk/; revision=947 engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- engines/clearlooks/src/clearlooks_style.c | 64 +++++++++++++++++++++--- engines/clearlooks/src/clearlooks_types.h | 12 ++++- 3 files changed, 68 insertions(+), 10 deletions(-) commit 8ae9f99cfe8575708030e7b93329772bd75d96c1 Author: Andrea Cimitan Date: Sat Nov 10 15:55:35 2007 +0000 A fix in the cairo drawing (0.5 misalignment) 2007-11-10 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_toolbar): A fix in the cairo drawing (0.5 misalignment) * engines/support/cairo-support.c: (ge_cairo_rounded_corner): * engines/support/ge-support.h: * engines/support/general-support.h: * engines/support/widget-information.c: whitespaces svn path=/trunk/; revision=946 ChangeLog | 12 ++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 +- engines/support/cairo-support.c | 184 ++++++++++++------------ engines/support/ge-support.h | 1 - engines/support/general-support.h | 1 - engines/support/widget-information.c | 7 +- 6 files changed, 111 insertions(+), 98 deletions(-) commit e6dcfcf18a84f505c634f17c1d9e3ea17daa7930 Author: Andrea Cimitan Date: Thu Nov 8 19:12:58 2007 +0000 Added boolean stroke_focus (useless now) 2007-11-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Added boolean stroke_focus (useless now) svn path=/trunk/; revision=945 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 12 ++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) commit 65e261a8b4474156ee1fbef8cd2aa1263b39da6c Author: Andrea Cimitan Date: Thu Nov 8 04:13:50 2007 +0000 Changes in the pattern 2007-11-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): Changes in the pattern svn path=/trunk/; revision=944 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 8 ++++---- engines/clearlooks/src/clearlooks_style.c | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) commit 9a25aa19a75e8f98882d2fdfd668e6a5a2e343f9 Author: Andrea Cimitan Date: Thu Nov 8 03:18:17 2007 +0000 Comments and non-breaking things 2007-11-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): Comments and non-breaking things svn path=/trunk/; revision=943 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- engines/clearlooks/src/clearlooks_style.c | 15 ++++++++------- 3 files changed, 18 insertions(+), 9 deletions(-) commit 4ea219ee0c87ad3257ec19406bcb15af26be0434 Author: Andrea Cimitan Date: Thu Nov 8 02:53:27 2007 +0000 Other types added to focus Fixed progressbar and menuseparator problems in 2007-11-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): * engines/clearlooks/src/clearlooks_types.h: * themes/Clearlooks/gtk-2.0/gtkrc: Other types added to focus Fixed progressbar and menuseparator problems in the gtkrc (as Benjamin suggested that was related to the order) svn path=/trunk/; revision=942 ChangeLog | 12 ++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 36 +++++++++++++++-------- engines/clearlooks/src/clearlooks_style.c | 4 ++- engines/clearlooks/src/clearlooks_types.h | 1 + themes/Clearlooks/gtk-2.0/gtkrc | 13 +++----- 5 files changed, 44 insertions(+), 22 deletions(-) commit 3d394db277c109b22252d748a49c5afb5bc19c91 Author: Andrea Cimitan Date: Thu Nov 8 02:15:05 2007 +0000 A lot of changes for the focus ring: 1) Added "type" parameter to focus 2) 2007-11-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_focus): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_progressbar_fill), (clearlooks_gummy_draw_focus): * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box), (clearlooks_style_init_from_rc), (clearlooks_style_draw_focus), (clearlooks_style_copy): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_types.h: A lot of changes for the focus ring: 1) Added "type" parameter to focus 2) Added "color" parameter 3) Added a clearlooks option to specify the color of the focus: "focus_color", in the gtkrc. Suddenly it seems not to work with symbolic colors. (ehm: why??? shouldn't was fixed in 2.12?) the error is (when using symbolic colors): [...] /gtk-2.0/gtkrc:68: Invalid symbolic color 'text_color' [...] /gtk-2.0/gtkrc:68: error: invalid identifier `text_color', expected valid identifier svn path=/trunk/; revision=941 ChangeLog | 27 ++++++ engines/clearlooks/src/clearlooks_draw.c | 75 +++++++++++++++- engines/clearlooks/src/clearlooks_draw_gummy.c | 89 ++++++++++++------ engines/clearlooks/src/clearlooks_rc_style.c | 48 ++++++---- engines/clearlooks/src/clearlooks_rc_style.h | 24 +++-- engines/clearlooks/src/clearlooks_style.c | 117 ++++++++---------------- engines/clearlooks/src/clearlooks_style.h | 10 ++- engines/clearlooks/src/clearlooks_types.h | 27 ++++-- 8 files changed, 267 insertions(+), 150 deletions(-) commit 7d65574c2a8e2a21a4d60dbb30f56299385fbc68 Author: Andrea Cimitan Date: Wed Nov 7 23:16:38 2007 +0000 Whitespaces 2007-11-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box), (clearlooks_style_draw_slider), (set_transparency), (clearlooks_style_draw_layout), (clearlooks_style_draw_render_icon): Whitespaces svn path=/trunk/; revision=940 ChangeLog | 8 + engines/clearlooks/src/clearlooks_style.c | 234 +++++++++++++++-------------- engines/clearlooks/src/clearlooks_types.h | 6 +- 3 files changed, 135 insertions(+), 113 deletions(-) commit 43abf7436205413e4966c565ae925e3d3d00d23a Author: Andrea Cimitan Date: Tue Nov 6 20:15:34 2007 +0000 Implemented focus drawing, we need to write the code for the dots in 2007-11-06 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_focus), (clearlooks_register_style_classic): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_focus), (clearlooks_register_style_gummy): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap), (clearlooks_style_draw_extension), (clearlooks_style_draw_box), (clearlooks_style_draw_focus), (scale_or_ref): * engines/clearlooks/src/clearlooks_types.h: Implemented focus drawing, we need to write the code for the dots in clearlooks_draw svn path=/trunk/; revision=939 ChangeLog | 14 +++ engines/clearlooks/src/clearlooks_draw.c | 11 +++ engines/clearlooks/src/clearlooks_draw_gummy.c | 63 ++++++++++++--- engines/clearlooks/src/clearlooks_style.c | 104 ++++++++++++++--------- engines/clearlooks/src/clearlooks_types.h | 12 +++- 5 files changed, 152 insertions(+), 52 deletions(-) commit 34f29fa6d8bb5cfd30ad9116368671dfd4b562d1 Author: Benjamin Berg Date: Mon Nov 5 21:13:56 2007 +0000 Fix some warnings. 2007-11-05 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Fix some warnings. svn path=/trunk/; revision=938 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 3 +++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- engines/clearlooks/src/clearlooks_style.c | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) commit c9c0b1da0292f70531ec45e51154b65db8ad6927 Author: Andrea Cimitan Date: Mon Nov 5 20:18:12 2007 +0000 I guess I've fixed #475291 :) 2007-11-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): I guess I've fixed #475291 :) * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap), (clearlooks_style_draw_extension): Just intend and changed order of a switch svn path=/trunk/; revision=937 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 16 ++++++++-------- engines/clearlooks/src/clearlooks_style.c | 23 +++++++++++++++-------- 3 files changed, 33 insertions(+), 16 deletions(-) commit 54d5a9ae288c56fe7dae39a884498783af69fd2c Author: Andrea Cimitan Date: Mon Nov 5 19:59:26 2007 +0000 Using switch 2007-11-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): Using switch svn path=/trunk/; revision=936 ChangeLog | 6 ++ engines/clearlooks/src/clearlooks_draw_gummy.c | 73 ++++++++++++++++-------- 2 files changed, 54 insertions(+), 25 deletions(-) commit 7d5398c1d649a447cca0d7077ba7003dc82aa17d Author: Benjamin Berg Date: Mon Nov 5 19:04:18 2007 +0000 Fix the output of the configure script (wrong variable was checked). 2007-11-05 Benjamin Berg * configure.ac: Fix the output of the configure script (wrong variable was checked). svn path=/trunk/; revision=935 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit e0abeb0133c9fe5372ba269a8b6ff41b9f366c92 Author: Benjamin Berg Date: Mon Nov 5 19:02:25 2007 +0000 Merged all the changes from the less-widget-check branch. 2007-11-05 Benjamin Berg Merged all the changes from the less-widget-check branch. svn path=/trunk/; revision=934 ChangeLog | 162 +++++++++++++++++ autogen.sh | 1 + configure.ac | 16 ++- engines/clearlooks/src/animation.h | 2 +- engines/clearlooks/src/clearlooks_rc_style.c | 82 +++++---- engines/clearlooks/src/clearlooks_rc_style.h | 7 +- engines/clearlooks/src/clearlooks_style.c | 89 ++++------- engines/clearlooks/src/config.h.in | 79 --------- engines/industrial/src/industrial_rc_style.c | 3 + engines/industrial/src/industrial_rc_style.h | 4 +- engines/industrial/src/industrial_style.c | 72 +++++++- engines/industrial/src/industrial_style.h | 1 + .../src/industrial_style_versioned_code.h | 2 + engines/industrial/src/parse_rc_style.h | 7 +- engines/support/general-support.h | 5 + engines/support/widget-information.c | 183 ++++++++++++++++++++ engines/support/widget-information.h | 33 ++++ themes/Clearlooks/gtk-2.0/gtkrc | 117 +++++++++++++ themes/Industrial/gtk-2.0/gtkrc | 43 ++++- 19 files changed, 707 insertions(+), 201 deletions(-) commit 47c09924f2258c7fe10b6a2ab68e86fcf2d69e9e Author: Benjamin Berg Date: Mon Nov 5 18:03:16 2007 +0000 Add a note that this is an unstable version of gtk-engines. 07-11-05 Benjamin Berg * README: Add a note that this is an unstable version of gtk-engines. svn path=/trunk/; revision=930 ChangeLog | 5 +++++ README | 9 +++++++++ 2 files changed, 14 insertions(+), 0 deletions(-) commit 5ec6ac83318a1893de12ad4816571915eb67c29b Author: Andrea Cimitan Date: Mon Nov 5 17:19:56 2007 +0000 Commented the piece of code that changed the look. Now we have 2007-11-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): Commented the piece of code that changed the look. Now we have compatibility with 2.20.x release. I wait the branch :) svn path=/trunk/; revision=929 ChangeLog | 8 +++ engines/clearlooks/src/clearlooks_draw_gummy.c | 59 ++++++++++++----------- 2 files changed, 39 insertions(+), 28 deletions(-) commit 3fa477f8b83b348104fe856be8bc277e544521f2 Author: Andrea Cimitan Date: Mon Nov 5 03:26:46 2007 +0000 Changed notebook's ythickness to 3 2007-11-05 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Changed notebook's ythickness to 3 svn path=/trunk/; revision=927 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 14 +++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) commit e985ee974a48c7fb79dcca5e2d02ac5feb29cf53 Author: Andrea Cimitan Date: Mon Nov 5 03:20:49 2007 +0000 A new variable for the size, with some added thickness mods 2007-11-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): A new variable for the size, with some added thickness mods svn path=/trunk/; revision=926 ChangeLog | 8 +++++- engines/clearlooks/src/clearlooks_draw_gummy.c | 27 ++++++++++++++--------- 2 files changed, 22 insertions(+), 13 deletions(-) commit d3c2c821cc6d7bd247411860bf299e754184bf39 Author: Andrea Cimitan Date: Mon Nov 5 02:56:51 2007 +0000 Previous bug fixed? Why? :D Some checks on the GAP seems to fix the 2007-11-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): Previous bug fixed? Why? :D Some checks on the GAP seems to fix the problem. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_arrow): An intend svn path=/trunk/; revision=925 ChangeLog | 13 +++++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 19 +++++++++++-------- engines/clearlooks/src/clearlooks_style.c | 7 ++++--- 3 files changed, 28 insertions(+), 11 deletions(-) commit 492977f6844f82fd8595d942bf7b804234818d6e Author: Andrea Cimitan Date: Mon Nov 5 02:32:41 2007 +0000 Changed the tab design, so jimmac will not stress me anymore :) The 2007-11-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): Changed the tab design, so jimmac will not stress me anymore :) The horizontal instead check should be backported to 2.20.x I have an issue with epiphany, gedit etc etc: when the notebook label has some icons (or buttons not sure) then the stripe *lost* one pixel, it seems like the "height" parameter sent to clearlooks_draw_tab is exactly 2.0 px smaller. why? we must add an hack here. svn path=/trunk/; revision=924 ChangeLog | 14 ++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 91 +++++++++++++---------- 2 files changed, 65 insertions(+), 40 deletions(-) commit 6f829125dfa835653513129306b10bd2fe8af1b5 Author: Benjamin Berg Date: Sun Nov 4 15:54:21 2007 +0000 Added some options that increases test coverage in the parsing code. 2007-11-04 Benjamin Berg * test/gtkrcs/clearlooks: Added some options that increases test coverage in the parsing code. svn path=/trunk/; revision=923 ChangeLog | 5 +++++ test/gtkrcs/clearlooks | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletions(-) commit 8718935d8fe937d1038876c3391504693b59b69c Author: Djihed Afifi Date: Tue Oct 23 20:59:05 2007 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=922 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 48dc732d920df2f39b5be8d11da3146902304db6 Author: Djihed Afifi Date: Sun Oct 21 19:22:36 2007 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=921 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit a47e225c994a1b8e7e3d944dd06b9778871a578f Author: Djihed Afifi Date: Sun Oct 21 16:47:14 2007 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=920 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit a2086134efcc00899ab3dd41ac596f32950e5555 Author: Benjamin Berg Date: Wed Oct 17 18:20:22 2007 +0000 Change message a bit. 2007-10-17 Benjamin Berg * test/torture: Change message a bit. svn path=/trunk/; revision=919 ChangeLog | 5 +++++ test/torture | 3 ++- 2 files changed, 7 insertions(+), 1 deletions(-) commit ea3fa39d120a073a1cb3e066ea46a2061662a755 Author: Benjamin Berg Date: Wed Oct 17 18:10:39 2007 +0000 Added a script "runinx" that dynamically starts an Xvfb server if needed. 2007-10-17 Benjamin Berg * test/Makefile.am: * test/runinx: * test/torture: Added a script "runinx" that dynamically starts an Xvfb server if needed. It seems to work ... svn path=/trunk/; revision=918 ChangeLog | 8 ++++++++ test/Makefile.am | 2 +- test/runinx | 42 ++++++++++++++++++++++++++++++++++++++++++ test/torture | 2 +- 4 files changed, 52 insertions(+), 2 deletions(-) commit 0e621a4af9ce99d70bb08caeb31c152b3849f389 Author: Matej Urbančič Date: Tue Oct 16 11:42:08 2007 +0000 Updated Slovenian translation svn path=/trunk/; revision=917 po/ChangeLog | 4 ++ po/LINGUAS | 1 + po/sl.po | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+), 0 deletions(-) commit 909b9aea0a6fb38c8889a94c7ee6f3bc96842b29 Author: Benjamin Berg Date: Mon Oct 15 23:32:28 2007 +0000 Update for 2.12.2 release. 2007-10-16 Benjamin Berg * NEWS: * configure.ac: Update for 2.12.2 release. svn path=/trunk/; revision=915 ChangeLog | 6 ++++++ NEWS | 22 ++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 29 insertions(+), 1 deletions(-) commit b7302ba607b4ec85567cec052633de3ec7e64f9a Author: Benjamin Berg Date: Mon Oct 15 22:16:39 2007 +0000 Unset the GTK_MODULES enviroment variable during tests. 2007-10-16 Benjamin Berg * test/Makefile.am: Unset the GTK_MODULES enviroment variable during tests. svn path=/trunk/; revision=914 ChangeLog | 5 +++++ test/Makefile.am | 3 ++- 2 files changed, 7 insertions(+), 1 deletions(-) commit 79d160d1ab1b32c8b3022c6034130e14fa5181a5 Author: Benjamin Berg Date: Mon Oct 15 21:47:48 2007 +0000 Forgot to update a draw_separator call. 2007-10-15 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_list_view_header): Forgot to update a draw_separator call. svn path=/trunk/; revision=913 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_inverted.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 58e628d4755ea26e1655a444604c1077681c5af4 Author: Benjamin Berg Date: Mon Oct 15 21:31:01 2007 +0000 Reworked separator drawing a little bit and added a special function to 2007-10-15 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_gummy.c: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_types.h: Reworked separator drawing a little bit and added a special function to handle separators in menus. * themes/Clearlooks/gtk-2.0/gtkrc: Use wide separators to get the correct height. svn path=/trunk/; revision=912 ChangeLog | 13 ++++ engines/clearlooks/src/clearlooks_draw.c | 37 ++++++++++-- engines/clearlooks/src/clearlooks_draw_glossy.c | 4 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 13 ++-- engines/clearlooks/src/clearlooks_style.c | 70 +++++++++++++++-------- engines/clearlooks/src/clearlooks_types.h | 8 ++- themes/Clearlooks/gtk-2.0/gtkrc | 7 ++- 7 files changed, 112 insertions(+), 40 deletions(-) commit 8601f2c6d5ee1957d613dd241316f1d3dc279190 Author: Benjamin Berg Date: Sat Oct 13 23:31:00 2007 +0000 Work around the evolution new button bug by making the whole toolbar flat. 2007-10-14 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Work around the evolution new button bug by making the whole toolbar flat. (#482922) svn path=/trunk/; revision=911 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 11 +++++++++++ 2 files changed, 17 insertions(+), 0 deletions(-) commit d069d3f8e622241368170a30c296116c7bda42eb Author: Benjamin Berg Date: Sat Oct 13 22:45:15 2007 +0000 Don't stop walking the notebook tabs if. There could still be scroll 2007-10-14 Benjamin Berg * engines/clearlooks/src/support.c: (clearlooks_get_notebook_tab_position): Don't stop walking the notebook tabs if. There could still be scroll arrows in theory. svn path=/trunk/; revision=910 ChangeLog | 7 +++++++ engines/clearlooks/src/support.c | 3 --- 2 files changed, 7 insertions(+), 3 deletions(-) commit e817c70258f31d1cddbf3ae6be7754baa645decc Author: Benjamin Berg Date: Sat Oct 13 22:43:49 2007 +0000 Detect if scroll arrows are visible on notebooks (#457087, Christian 2007-10-14 Benjamin Berg * engines/clearlooks/src/support.c: (clearlooks_get_notebook_tab_position): Detect if scroll arrows are visible on notebooks (#457087, Christian Persch) svn path=/trunk/; revision=909 ChangeLog | 7 +++++++ engines/clearlooks/src/support.c | 14 +++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) commit f92466202afb857a6974ccca3abd7524f8208265 Author: Benjamin Berg Date: Sat Oct 13 22:21:44 2007 +0000 Draw lines long enough, they were one pixel too short. 2007-10-14 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_vline), (clearlooks_style_draw_hline): Draw lines long enough, they were one pixel too short. * themes/Clearlooks/gtk-2.0/gtkrc: Make menu separators smaller. (#480629, Alex Jones) svn path=/trunk/; revision=908 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_style.c | 4 ++-- themes/Clearlooks/gtk-2.0/gtkrc | 12 ++++++++++-- 3 files changed, 21 insertions(+), 4 deletions(-) commit 8069e976b69c2b3854507e4424b55f9fc0f6246f Author: Benjamin Berg Date: Sat Oct 13 21:59:56 2007 +0000 Fix RC merging in both thinice and high contrast. 2007-10-13 Benjamin Berg * engines/hc/src/hc_gtk2_engine.c: (hc_rc_style_parse), (hc_rc_style_merge), (hc_rc_style_init), (hc_style_init): * engines/hc/src/hc_gtk2_engine.h: * engines/thinice/src/thinice_rc_style.c: (thinice_rc_style_init), (thinice_rc_style_parse), (thinice_rc_style_merge): * engines/thinice/src/thinice_rc_style.h: Fix RC merging in both thinice and high contrast. svn path=/trunk/; revision=907 ChangeLog | 10 +++++++ engines/hc/src/hc_gtk2_engine.c | 15 +++++++++- engines/hc/src/hc_gtk2_engine.h | 9 ++++++ engines/thinice/src/thinice_rc_style.c | 44 +++++++++++++++++++++---------- engines/thinice/src/thinice_rc_style.h | 11 ++++++++ 5 files changed, 73 insertions(+), 16 deletions(-) commit 0d68da4de40fee9e76e5f2326090922e3495b4b8 Author: Benjamin Berg Date: Sat Oct 13 20:45:39 2007 +0000 Fixed incorrect rounding in hc engine and reworked checkmark drawing. 2007-10-13 Benjamin Berg * engines/hc/src/hc-style.c: (hc_draw_slider), (hc_draw_check): Fixed incorrect rounding in hc engine and reworked checkmark drawing. (#482542, Josselin Mouette) svn path=/trunk/; revision=906 ChangeLog | 6 ++++ engines/hc/src/hc-style.c | 69 +++++++++++++++------------------------------ 2 files changed, 29 insertions(+), 46 deletions(-) commit 746bf73ad747c0aa23fd6afb26c68a8890fb70a9 Author: Benjamin Berg Date: Mon Oct 8 07:51:27 2007 +0000 Added a small comment. 2007-10-08 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Added a small comment. svn path=/trunk/; revision=905 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit c8d11a9efcff24961779b2b354bd7c5a868f5b37 Author: Benjamin Berg Date: Mon Oct 8 07:46:24 2007 +0000 The combobox text colour workaround was broken. 2007-10-08 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: The combobox text colour workaround was broken. svn path=/trunk/; revision=904 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) commit 24e17a2f1384b9243c42e7d460e58490881e9764 Author: Benjamin Berg Date: Sun Oct 7 14:09:27 2007 +0000 Fix progress bars in menus (eg. network manager). These were broken even 2007-10-07 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Fix progress bars in menus (eg. network manager). These were broken even though the comment above said what needs to be done ... svn path=/trunk/; revision=903 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 12 +++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) commit 4d9423c5bceec78f989efb64101cbdca1a6fd25b Author: Benjamin Berg Date: Sun Oct 7 12:08:33 2007 +0000 Fix some comments. 2007-10-07 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_entry): Fix some comments. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (clearlooks_style_draw_shadow): Only do the entry state hack if we are drawing an entry, not things like spinbutton arrows. (#475629, Diego Escalante Urrelo) svn path=/trunk/; revision=902 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- engines/clearlooks/src/clearlooks_style.c | 8 +++++--- 3 files changed, 18 insertions(+), 5 deletions(-) commit d0214ffaa12110c5614eb40443d7ff14eec6abc7 Author: Benjamin Berg Date: Sun Oct 7 12:07:54 2007 +0000 Remove executable flag. svn path=/trunk/; revision=901 0 files changed, 0 insertions(+), 0 deletions(-) commit 340866719697313a8948f16e895d9840d0783446 Author: Yang Zhang Date: Tue Oct 2 13:58:34 2007 +0000 Updated zh_CN translation from manphiz svn path=/trunk/; revision=900 po/zh_CN.po | 92 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 45 insertions(+), 47 deletions(-) commit ef7026c81586072e2a42cd87bfececd747422773 Author: Priit Laes Date: Tue Sep 25 05:57:37 2007 +0000 Translation update by Ivar Smolin. 2007-09-25 Priit Laes * et.po: Translation update by Ivar Smolin. svn path=/trunk/; revision=899 po/ChangeLog | 4 ++++ po/et.po | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) commit 7ed623d52fdeb7c38691ed765d9988c69f17a329 Author: Andrea Cimitan Date: Sun Sep 23 19:57:28 2007 +0000 minor fixes in shadings 2007-09-23 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_button): minor fixes in shadings svn path=/trunk/; revision=898 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 9fa177b37fef4513505f043b4e360a6260ee4264 Author: Andrea Cimitan Date: Sun Sep 23 18:07:30 2007 +0000 Minor fixes to toolbar's shadings. 2007-09-23 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: * engines/clearlooks/src/clearlooks_types.h: Minor fixes to toolbar's shadings. svn path=/trunk/; revision=897 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- engines/clearlooks/src/clearlooks_rc_style.c | 4 ++-- engines/clearlooks/src/clearlooks_rc_style.h | 2 +- engines/clearlooks/src/clearlooks_types.h | 13 ++++++------- 5 files changed, 17 insertions(+), 12 deletions(-) commit 53b32046159cb0389ca4d6d8bd92f6a24e04937a Author: Ihar Hrachyshka Date: Fri Sep 21 21:38:25 2007 +0000 Fixed previous wrong Changelog entry. svn path=/trunk/; revision=896 po/ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit c5a773469b448f2b75a11af4d71397590914e99b Author: Ihar Hrachyshka Date: Fri Sep 21 21:20:55 2007 +0000 Added Belarusian Latin translation. svn path=/trunk/; revision=895 po/ChangeLog | 7 ++- po/LINGUAS | 1 + po/be@latin.po | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 1 deletions(-) commit 33ed7bff0e57ce7239063855e1b5c03e60497f4d Author: Benjamin Berg Date: Fri Sep 21 13:23:19 2007 +0000 Update for 2.12.1 release. 2007-09-21 Benjamin Berg * NEWS: * configure.ac: Update for 2.12.1 release. svn path=/trunk/; revision=893 ChangeLog | 6 ++++++ NEWS | 6 ++++++ configure.ac | 2 +- 3 files changed, 13 insertions(+), 1 deletions(-) commit 905c3981f0afba3374131cebcaa12f20492d0b1f Author: Benjamin Berg Date: Fri Sep 21 13:11:53 2007 +0000 Fix the crux theme by removing the stray new line in the color scheme 2007-09-21 Benjamin Berg * themes/Crux/gtk-2.0/gtkrc: Fix the crux theme by removing the stray new line in the color scheme setting. svn path=/trunk/; revision=892 ChangeLog | 6 ++++++ themes/Crux/gtk-2.0/gtkrc | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) commit b5eda5b44428db4b1cc4b532c5decb7785446ed4 Author: Benjamin Berg Date: Mon Sep 17 19:18:44 2007 +0000 Update for 2.12.0 release. 2007-09-17 Benjamin Berg * NEWS: * configure.ac: Update for 2.12.0 release. svn path=/trunk/; revision=890 ChangeLog | 6 ++++++ NEWS | 19 +++++++++++++++++++ configure.ac | 3 ++- 3 files changed, 27 insertions(+), 1 deletions(-) commit 308bc32b122666a7d6c05794d5eac8b6ab9dea42 Author: Djihed Afifi Date: Thu Sep 13 22:51:43 2007 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=889 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 3e0c30262c663cbeac4d80898686fd4b0174b23e Author: Nickolay V. Shmyrev Date: Wed Sep 12 15:15:16 2007 +0000 Added Russian to the list of languages. Updated Russian translation. 2007-09-12 Nickolay V. Shmyrev * LINUGUAS: Added Russian to the list of languages. * ru.po: Updated Russian translation. svn path=/trunk/; revision=888 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/ru.po | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 0 deletions(-) commit 20ef5d4ae9681333a424e370bb1da4e1897ecbe1 Author: Goran Rakic Date: Wed Sep 12 11:31:02 2007 +0000 Updated Serbian translation svn path=/trunk/; revision=887 po/sr.po | 5 ++--- po/sr@Latn.po | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) commit 28b539bf98aa8a16b9623697fbe3c04800122b5a Author: Goran Rakic Date: Wed Sep 12 09:52:04 2007 +0000 Added Serbian translation svn path=/trunk/; revision=886 po/sr.po | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/sr@Latn.po | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 300 insertions(+), 0 deletions(-) commit 29d5aa48c91d3ef9964d36b1ebbdbb95c531a00c Author: Goran Rakic Date: Wed Sep 12 09:51:40 2007 +0000 Added Serbian translation svn path=/trunk/; revision=885 po/ChangeLog | 4 ++++ po/LINGUAS | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) commit 50d8a048f5066bd299dd14550a70e315d595e1d7 Author: Benjamin Berg Date: Mon Sep 10 18:07:51 2007 +0000 Make industrial use the configurable tooltip colors 2007-09-10 Benjamin Berg * themes/Industrial/gtk-2.0/gtkrc: Make industrial use the configurable tooltip colors * themes/Clearlooks/gtk-2.0/gtkrc: * themes/Crux/gtk-2.0/gtkrc: * themes/ThinIce/gtk-2.0/gtkrc: Fix the matching and comments, it is called gtk-tooltip not gtk-tooltips (now?) svn path=/trunk/; revision=884 ChangeLog | 11 +++++++++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- themes/Crux/gtk-2.0/gtkrc | 2 +- themes/Industrial/gtk-2.0/gtkrc | 7 ++++--- themes/ThinIce/gtk-2.0/gtkrc | 2 +- 5 files changed, 18 insertions(+), 6 deletions(-) commit 4a748248da07de0345ce59fbc7f963335c044cfa Author: Benjamin Berg Date: Mon Sep 10 17:58:04 2007 +0000 Apply patch from Luca Ferretti to add tooltip color support to Crux. 2007-09-10 Benjamin Berg * themes/Crux/gtk-2.0/gtkrc: Apply patch from Luca Ferretti to add tooltip color support to Crux. svn path=/trunk/; revision=883 ChangeLog | 5 +++++ themes/Crux/gtk-2.0/gtkrc | 22 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletions(-) commit 957387750151542df99be3c0d6931749179c8b8f Author: Benjamin Berg Date: Mon Sep 10 15:45:14 2007 +0000 Fix tooltip_*_color in Clearlooks. It said tooltips_*_color ... 2007-09-10 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Fix tooltip_*_color in Clearlooks. It said tooltips_*_color ... svn path=/trunk/; revision=882 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) commit 03b8caca21895974166193783f88afee2a9472d8 Author: Luca Ferretti Date: Mon Sep 10 09:22:52 2007 +0000 Added Italian to list of languages. Added Italian translation. 2007-09-10 Luca Ferretti * LINGUAS: Added Italian to list of languages. * it.po: Added Italian translation. svn path=/trunk/; revision=881 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/it.po | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 162 insertions(+), 0 deletions(-) commit 446879c35a19578181c18b720a974d3289cc4b3a Author: Andrea Cimitan Date: Mon Sep 10 01:27:26 2007 +0000 Forgot to use adaptive HUE shading just on colored scrollbar. Fixed. No 2007-09-10 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): Forgot to use adaptive HUE shading just on colored scrollbar. Fixed. No more bugs now? :) svn path=/trunk/; revision=880 ChangeLog | 7 + engines/clearlooks/src/clearlooks_draw_gummy.c | 202 ++++++++++++------------ 2 files changed, 108 insertions(+), 101 deletions(-) commit d7bc6933f43ad49348f627042b4b3b57a83ff3d7 Author: Benjamin Berg Date: Sun Sep 9 17:13:21 2007 +0000 Added a smarter heuristic to mark notebook box edges as not rounded. 2007-09-09 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap): * engines/clearlooks/src/support.c: (clearlooks_get_notebook_tab_position): * engines/clearlooks/src/support.h: Added a smarter heuristic to mark notebook box edges as not rounded. svn path=/trunk/; revision=879 ChangeLog | 9 ++++ engines/clearlooks/src/clearlooks_style.c | 44 ++++++++++++++---- engines/clearlooks/src/support.c | 69 +++++++++++++++++++++++++++++ engines/clearlooks/src/support.h | 1 + 4 files changed, 113 insertions(+), 10 deletions(-) commit 8c491634b583be602c8c57be6fac40b53fb3e329 Author: Andrea Cimitan Date: Sun Sep 9 03:17:07 2007 +0000 Removed alpha and used ge_cairo_set_color for coloring. Fixes last 2007-09-09 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_list_view_header): Removed alpha and used ge_cairo_set_color for coloring. Fixes last shadings. Clearlooks 2.20 reaches perfection! :) svn path=/trunk/; revision=878 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) commit 462fdf835c1eed4f58c1ec294874a6693d33f395 Author: Andrea Cimitan Date: Sun Sep 9 03:01:04 2007 +0000 Improvements in toolbar's shadings 2007-09-09 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_toolbar): Improvements in toolbar's shadings svn path=/trunk/; revision=877 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 20 ++++++++++---------- 3 files changed, 17 insertions(+), 11 deletions(-) commit ff82cb7c71e03dfd445e5e73a0001875c2b4c311 Author: Andrea Cimitan Date: Sun Sep 9 01:30:16 2007 +0000 whitespaces svn path=/trunk/; revision=876 ChangeLog | 93 ++++++++++++++++++++++++++++++------------------------------- 1 files changed, 46 insertions(+), 47 deletions(-) commit 11a826ce7d149bf1032c5c75b50e41a100291469 Author: Andrea Cimitan Date: Sun Sep 9 01:18:45 2007 +0000 whitespaces svn path=/trunk/; revision=875 engines/clearlooks/src/clearlooks_draw.c | 10 +++++----- engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) commit 9c457276e0fec02a751bfb769e1669323d8a9284 Author: Andrea Cimitan Date: Sun Sep 9 00:49:45 2007 +0000 Organized code and tweaks in toolbar shadings 2007-09-09 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_list_view_header), (clearlooks_gummy_draw_toolbar): Organized code and tweaks in toolbar shadings svn path=/trunk/; revision=874 ChangeLog | 7 +++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 29 +++++++++++++++-------- 2 files changed, 26 insertions(+), 10 deletions(-) commit ab849c1c71ab5e2706bba42a0f8d7db5937f8fc3 Author: Andrea Cimitan Date: Sat Sep 8 23:25:48 2007 +0000 Reverted old thickness behaviour 2007-09-09 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_button): Reverted old thickness behaviour svn path=/trunk/; revision=873 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit e6b7aa62d4a7b5b497b9f0d2bfb675e8dd354484 Author: Yang Zhang Date: Sat Sep 8 07:26:21 2007 +0000 add zh_CN.po svn path=/trunk/; revision=872 po/zh_CN.po | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9f871bb9449ded27de352c2f442996741beb1da7 Author: Yang Zhang Date: Sat Sep 8 07:25:22 2007 +0000 Add zh_CN into LINGUAS svn path=/trunk/; revision=871 po/LINGUAS | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 49cf76c0255e7f1cd0006c8c334445ddad7923dd Author: Andrea Cimitan Date: Wed Sep 5 18:06:02 2007 +0000 0.86 --> 0.85 2007-09-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): 0.86 --> 0.85 svn path=/trunk/; revision=870 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) commit 84b4d92f9bd9e289d3159e602ddcae43eaf18e47 Author: Andrea Cimitan Date: Wed Sep 5 17:47:50 2007 +0000 0.85 --> 0.86 2007-09-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): 0.85 --> 0.86 svn path=/trunk/; revision=869 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit f02836849ee67d758e1728ed5fd25003421ba3da Author: Andrea Cimitan Date: Wed Sep 5 01:16:10 2007 +0000 Second fix on scrollbar_color adjust, for 2.20! :) Fixes a lot of light 2007-09-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): Second fix on scrollbar_color adjust, for 2.20! :) Fixes a lot of light colorschemes svn path=/trunk/; revision=868 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 5 +++++ 2 files changed, 12 insertions(+), 0 deletions(-) commit ac44ef181b1f86283ad52bff3aace591c4930454 Author: Yannig MARCHEGAY Date: Sat Sep 1 20:19:04 2007 +0000 Updated Occitan translation svn path=/trunk/; revision=867 po/oc.po | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit 90f4fed83c3a21a440fa0a15b25f62c131fb1f3d Author: Gil Forcada Codinachs Date: Sat Sep 1 18:16:55 2007 +0000 Upadted catalan translation svn path=/trunk/; revision=866 po/ChangeLog | 4 ++++ po/ca.po | 13 ++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) commit 83b51f288c978301393516147d21742fd8a593c5 Author: Andrea Cimitan Date: Sat Sep 1 15:51:42 2007 +0000 Shadings offset when >=2 and not == 3. Correct benzea? 2007-09-01 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menubar2): Shadings * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_button): offset when >=2 and not == 3. Correct benzea? svn path=/trunk/; revision=865 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) commit 8c27b6685a4452cce05ad8e887ea315e14841290 Author: Benjamin Berg Date: Wed Aug 29 17:52:42 2007 +0000 Removed some unused files from crux. 2007-08-29 Benjamin Berg * configure.ac: * engines/crux/Makefile.am: * engines/crux/src/crux-gradient.c: * engines/crux/src/crux-gradient.h: * engines/crux/src/eazel-theme.h: Removed some unused files from crux. svn path=/trunk/; revision=864 ChangeLog | 9 + configure.ac | 1 - engines/crux/Makefile.am | 3 +- engines/crux/src/crux-gradient.c | 362 -------------------------------------- engines/crux/src/crux-gradient.h | 30 --- engines/crux/src/eazel-theme.h | 193 -------------------- 6 files changed, 10 insertions(+), 588 deletions(-) commit 14308e872de06ad0dbc86c00953d2b5726c66b46 Author: Ani Peter Date: Tue Aug 28 08:59:45 2007 +0000 Updated Malayalam (ml) Translation svn path=/trunk/; revision=863 po/ChangeLog | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit fc5ad1755b2958422fee56b1b51f99da6d7a01ac Author: Ani Peter Date: Tue Aug 28 08:59:32 2007 +0000 Updated Malayalam (ml) Translation svn path=/trunk/; revision=862 po/ml.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 150 insertions(+), 0 deletions(-) commit 8de562f530dced700f261dbe6b94dbfa869b7857 Author: Andrea Cimitan Date: Fri Aug 24 01:48:30 2007 +0000 Reverted to old version svn path=/trunk/; revision=861 engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 2dbff48b18311d64699a2c9bde5820bc0fad58d9 Author: Andrea Cimitan Date: Fri Aug 24 01:37:07 2007 +0000 So undecided about this :) 2007-08-24 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: So undecided about this :) svn path=/trunk/; revision=860 ChangeLog | 5 +++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 150881ec6f682e658073b9f7bb8fc6acd0646eb2 Author: Benjamin Berg Date: Thu Aug 23 18:16:34 2007 +0000 Update for 2.11.7 release. 2007-08-23 Benjamin Berg * NEWS: * configure.ac: Update for 2.11.7 release. svn path=/trunk/; revision=858 ChangeLog | 6 ++++++ NEWS | 10 ++++++++++ configure.ac | 2 +- 3 files changed, 17 insertions(+), 1 deletions(-) commit 6bd39a55bfd92269349ba546390e423c725d3b04 Author: Yannig MARCHEGAY Date: Tue Aug 21 11:09:30 2007 +0000 Updated Occitan translation svn path=/trunk/; revision=857 po/oc.po | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) commit 710b9c65e0ff3081dcb963ac5b2f90421172c445 Author: Andrea Cimitan Date: Mon Aug 20 22:05:25 2007 +0000 Using #define for few constants 2007-08-21 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_top_left_highlight), (clearlooks_gummy_draw_slider), (clearlooks_gummy_draw_scrollbar_slider): Using #define for few constants svn path=/trunk/; revision=856 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 12 ++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) commit 7e95f1bb50ebfbcde640d38b08caa2f59ffb5c10 Author: Andrea Cimitan Date: Mon Aug 20 15:50:38 2007 +0000 Improvements in the slider, mostly in shadings 2007-08-20 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_slider): Improvements in the slider, mostly in shadings svn path=/trunk/; revision=855 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 10 ++++------ 2 files changed, 10 insertions(+), 6 deletions(-) commit 102cb83840abe9846db5b9a2f276b237d927cd42 Author: Andrea Cimitan Date: Mon Aug 20 15:15:41 2007 +0000 Updated copyright statements, improved hilight from 0.4 alpha to 0.5 2007-08-20 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_top_left_highlight), (clearlooks_gummy_draw_scrollbar_slider): * engines/clearlooks/src/clearlooks_draw_inverted.c: Updated copyright statements, improved hilight from 0.4 alpha to 0.5 svn path=/trunk/; revision=854 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 4 +--- engines/clearlooks/src/clearlooks_draw_gummy.c | 12 +++++------- engines/clearlooks/src/clearlooks_draw_inverted.c | 4 +--- 4 files changed, 16 insertions(+), 13 deletions(-) commit 9aefa296c8a6646e3b1d1571fa6a97bcbf9f977e Author: Andrea Cimitan Date: Mon Aug 20 12:23:58 2007 +0000 Added top-left-hilight and improved scrollbar look 2007-08-20 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_scrollbar_slider): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_top_left_highlight), (clearlooks_gummy_draw_button), (clearlooks_gummy_draw_scrollbar_stepper), (clearlooks_gummy_draw_scrollbar_slider): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Added top-left-hilight and improved scrollbar look * themes/Clearlooks/gtk-2.0/gtkrc: Little improvements svn path=/trunk/; revision=853 ChangeLog | 16 +++++++ engines/clearlooks/CREDITS | 21 ---------- engines/clearlooks/src/clearlooks_draw.c | 10 ++-- engines/clearlooks/src/clearlooks_draw_gummy.c | 52 +++++++++++++++++++++--- engines/clearlooks/src/clearlooks_style.c | 6 ++- themes/Clearlooks/gtk-2.0/gtkrc | 4 +- 6 files changed, 74 insertions(+), 35 deletions(-) commit 975e616e277205965e16277ace426a26e98155b2 Author: Andrea Cimitan Date: Sun Aug 19 23:32:03 2007 +0000 Less shadings on gradients 2007-08-20 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_tab): Less shadings on gradients svn path=/trunk/; revision=852 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) commit ee83571fdbe90e1dd0ed409fd15b35b3f7fa4c0f Author: Andrea Cimitan Date: Sun Aug 19 21:18:16 2007 +0000 Warmer bg color 2007-08-19 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Warmer bg color svn path=/trunk/; revision=851 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 88575af744c0fb00c96dc33a8aee62f53ac78f3e Author: Andrea Cimitan Date: Sun Aug 19 19:45:59 2007 +0000 Changed prelight on scrollbars 2007-08-19 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): Changed prelight on scrollbars svn path=/trunk/; revision=850 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit fc02b5829b59e613d7739b50a6f882e405f7ab7e Author: Andrea Cimitan Date: Sun Aug 19 18:16:50 2007 +0000 Recolorize the scrollbar as it default. I need to work on shadings if we 2007-08-19 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Recolorize the scrollbar as it default. I need to work on shadings if we decide to remove the colorization, as I don't like the non-colorized scrollbar. (Classic clearlook's ones looks better, Gummy has a wide range on the pattern, from 0.9 to 1.1, I don't like it non-colorize svn path=/trunk/; revision=849 ChangeLog | 8 ++++++++ themes/Clearlooks/gtk-2.0/gtkrc | 1 + 2 files changed, 9 insertions(+), 0 deletions(-) commit 3264498ab80891e95fabfb63341e91093d33d6bd Author: Yannig MARCHEGAY Date: Fri Aug 17 17:30:43 2007 +0000 Updated Occitan translation svn path=/trunk/; revision=834 po/oc.po | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 51441cd6b92e5dc1097037c4806f91d2f1fdb7a5 Author: Benjamin Berg Date: Thu Aug 16 18:57:06 2007 +0000 2.11.6 of course, not 2.11.5 ... svn path=/trunk/; revision=832 ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 4c97c4fa367f98be84705eeb4bdd66a4a4c5d1a2 Author: Benjamin Berg Date: Thu Aug 16 18:56:19 2007 +0000 Update for the 2.11.5 release. 2007-08-16 Benjamin Berg * NEWS: * configure.ac: Update for the 2.11.5 release. svn path=/trunk/; revision=831 ChangeLog | 6 ++++++ NEWS | 14 ++++++++++++++ configure.ac | 2 +- 3 files changed, 21 insertions(+), 1 deletions(-) commit f37dde1e4b54e37aeb48761131307bdc6186d94d Author: Benjamin Berg Date: Thu Aug 16 16:31:44 2007 +0000 Removed two unused variables. 2007-08-16 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap): Removed two unused variables. svn path=/trunk/; revision=830 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 1 - 2 files changed, 6 insertions(+), 1 deletions(-) commit 793b7a5c59165f7f6150697d5fc09cb2723d0b85 Author: Benjamin Berg Date: Thu Aug 16 16:29:31 2007 +0000 Use the correct color when drawing insensitive text. 2007-08-16 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_layout): Use the correct color when drawing insensitive text. svn path=/trunk/; revision=829 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 82c227101c1bca976137bf98abb248170336894c Author: Benjamin Berg Date: Thu Aug 16 16:05:03 2007 +0000 Saner code to leave out one of the edges. This also fixes a RTL issue. 2007-08-16 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap): Saner code to leave out one of the edges. This also fixes a RTL issue. svn path=/trunk/; revision=828 ChangeLog | 7 ++ engines/clearlooks/src/clearlooks_style.c | 91 ++++++----------------------- 2 files changed, 26 insertions(+), 72 deletions(-) commit 99b46386c23607422eb3237355eebedce23a2f93 Author: Benjamin Berg Date: Thu Aug 16 15:32:15 2007 +0000 Improved fill drawing in the GUMMY style. 2007-08-16 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_scale_draw_gradient), (clearlooks_gummy_draw_scale_trough): Improved fill drawing in the GUMMY style. svn path=/trunk/; revision=827 ChangeLog | 7 ++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 36 ++++++++++++++++------- 2 files changed, 32 insertions(+), 11 deletions(-) commit 6d03f18b1de5bd052d7755c043f92f9fd3df6cf5 Author: Benjamin Berg Date: Thu Aug 16 14:21:48 2007 +0000 Don't colorize the scrollbar. 2007-08-16 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Don't colorize the scrollbar. svn path=/trunk/; revision=826 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 1 - 2 files changed, 5 insertions(+), 1 deletions(-) commit feef34cad62f03f38908bd4c589d1c86b7715096 Author: Ilkka Tuohela Date: Wed Aug 15 14:55:38 2007 +0000 Added Finnish translation svn path=/trunk/; revision=824 po/ChangeLog | 4 ++ po/LINGUAS | 1 + po/fi.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 0 deletions(-) commit fcb4104501d7aa9c5b8e5d45ad8dfcdc394e0ab8 Author: Simos Xenitellis Date: Tue Aug 14 00:17:50 2007 +0000 Added Greek translation svn path=/trunk/; revision=821 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/el.po | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 180 insertions(+), 0 deletions(-) commit c3c7cff8c6820e693c9d2ab19c20430d89fc18af Author: Benjamin Berg Date: Mon Aug 13 16:58:59 2007 +0000 Update for the 2.11.5 release. 2007-08-13 Benjamin Berg * NEWS: * configure.ac: Update for the 2.11.5 release. svn path=/trunk/; revision=819 ChangeLog | 6 ++++++ NEWS | 15 +++++++++++++++ configure.ac | 2 +- 3 files changed, 22 insertions(+), 1 deletions(-) commit 336399b332ab37cfe32e9da9e31d4799748ff35f Author: Benjamin Berg Date: Mon Aug 13 15:18:01 2007 +0000 Added a comment to clarify why the treeview header style inherits from 2007-08-13 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Added a comment to clarify why the treeview header style inherits from clearlooks-default. svn path=/trunk/; revision=818 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 ++ 2 files changed, 8 insertions(+), 0 deletions(-) commit 638e8112d8cbc20bd717286e14dbc0b5fb66a6b4 Author: Benjamin Berg Date: Sun Aug 12 12:53:35 2007 +0000 Try to update the AUTHORS file and copyright notices in Clearlooks. 2007-08-12 Benjamin Berg * AUTHORS: * engines/clearlooks/AUTHORS: * engines/clearlooks/src/animation.c: * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/support.c: Try to update the AUTHORS file and copyright notices in Clearlooks. svn path=/trunk/; revision=814 AUTHORS | 2 +- ChangeLog | 11 +++++++++++ engines/clearlooks/AUTHORS | 8 ++++---- engines/clearlooks/src/animation.c | 26 +++++++++++++++++++++++--- engines/clearlooks/src/clearlooks_draw.c | 23 +++++++++++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 21 +++++++++++++++++++++ engines/clearlooks/src/support.c | 21 +++++++++++++++++++++ 7 files changed, 104 insertions(+), 8 deletions(-) commit 985a841922eb48e7eb829722cdc0d6b13c2794a7 Author: Benjamin Berg Date: Sun Aug 12 12:01:56 2007 +0000 Update MAINTAINERS file to follow the new standard. 2007-08-12 Benjamin Berg * MAINTAINERS: Update MAINTAINERS file to follow the new standard. svn path=/trunk/; revision=813 ChangeLog | 5 +++++ MAINTAINERS | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) commit bb4fdbe3dee2e9b22b4c4250f57f98fa23f768bd Author: Andrea Cimitan Date: Tue Aug 7 11:40:18 2007 +0000 Fix at the progressbar and made treeview_items smaller 2007-08-07 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Fix at the progressbar and made treeview_items smaller svn path=/trunk/; revision=812 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 36 ++++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 16 deletions(-) commit 95ec1b201de40030c7ba51c728107206ff453f02 Author: Andrea Cimitan Date: Tue Aug 7 00:09:40 2007 +0000 Get rid of few bugs. 2007-08-07 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Get rid of few bugs. svn path=/trunk/; revision=811 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 17 ++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) commit 6cc21040cb9eee0272efe79b2bb02b8b1027b597 Author: Andrea Cimitan Date: Mon Aug 6 23:25:50 2007 +0000 Apple color sucks :D New one 2007-08-07 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Apple color sucks :D New one svn path=/trunk/; revision=810 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit b2cad387a5c26b7e713efe61c2cdec178c29e8aa Author: Andrea Cimitan Date: Mon Aug 6 23:12:24 2007 +0000 s2007-08-07 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Using yellow tooltip with Apple's yellow tooltip color (just a try) svn path=/trunk/; revision=809 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 0a52185744183c1f7c781b7cea5f142ecf3ca305 Author: Felix I Date: Mon Aug 6 10:02:49 2007 +0000 updated ta translation svn path=/trunk/; revision=808 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/ta.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 0 deletions(-) commit ce65799642b8f4e1ea9d042643dc8fc63422f0c0 Author: Andrea Cimitan Date: Sun Aug 5 02:27:24 2007 +0000 Removed that *shit* gold tooltip color, using a "salmon color" 2007-08-05 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Removed that *shit* gold tooltip color, using a "salmon color" svn path=/trunk/; revision=807 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 4978d1a8d2944a411037db587f53901694565bf2 Author: Benjamin Berg Date: Sat Aug 4 00:19:04 2007 +0000 It is gtk-tooltip not gtk-tooltips. 2007-08-04 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: It is gtk-tooltip not gtk-tooltips. svn path=/trunk/; revision=806 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 43adc165516e7a73cc50c4b5aad321e6e5a43d0d Author: Benjamin Berg Date: Sat Aug 4 00:14:08 2007 +0000 Reworked the Clearlooks gtkrc to be--in my opinion--cleaner. 2007-08-04 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Reworked the Clearlooks gtkrc to be--in my opinion--cleaner. svn path=/trunk/; revision=805 ChangeLog | 5 + themes/Clearlooks/gtk-2.0/gtkrc | 351 +++++++++++++++++++++------------------ 2 files changed, 191 insertions(+), 165 deletions(-) commit e9769197561ac292120cb441bb7018bf3c9db440 Author: Theppitak Karoonboonyanan Date: Fri Aug 3 06:33:00 2007 +0000 Added 'th'. Added Thai translation. * LINGUAS: Added 'th'. * th.po: Added Thai translation. svn path=/trunk/; revision=804 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/th.po | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 154 insertions(+), 0 deletions(-) commit 9711c83cf63d9bc0e6be8554bef57675a77a8c45 Author: Hendrik Brandt Date: Thu Aug 2 11:48:36 2007 +0000 Updated German translation. 2007-08-02 Hendrik Brandt * de.po: Updated German translation. svn path=/trunk/; revision=803 po/ChangeLog | 4 ++++ po/de.po | 51 +++++++++++++++++++++++++++------------------------ 2 files changed, 31 insertions(+), 24 deletions(-) commit ad0ec6342aa5cb6fb082bd236c950d992edcc199 Author: Kjartan Maraas Date: Wed Aug 1 13:53:13 2007 +0000 Updated Norwegian bokmål translation. 2007-08-01 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. svn path=/trunk/; revision=802 po/ChangeLog | 4 ++++ po/nb.po | 16 ++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) commit f336f9ceb0c0e60ea57df04f767c3839a6561611 Author: Andrea Cimitan Date: Tue Jul 31 03:48:56 2007 +0000 Fixed a bug in Glossy's menuitems that appears as Gummy's ones 2007-07-31 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_menuitem): Fixed a bug in Glossy's menuitems that appears as Gummy's ones * themes/Clearlooks/gtk-2.0/gtkrc: Removed useless style declaration svn path=/trunk/; revision=801 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 6 +++--- themes/Clearlooks/gtk-2.0/gtkrc | 2 -- 3 files changed, 12 insertions(+), 5 deletions(-) commit e9b18580f324d675b705a36c2b8eedcd5c9faf76 Author: Andrea Cimitan Date: Tue Jul 31 00:41:33 2007 +0000 Fixed the menubar bug 2007-07-31 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_slider): * themes/Clearlooks/gtk-2.0/gtkrc: Fixed the menubar bug svn path=/trunk/; revision=800 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- themes/Clearlooks/gtk-2.0/gtkrc | 6 ++++-- 3 files changed, 12 insertions(+), 3 deletions(-) commit 076c2557f27623f372d193f3a082b238bc41903d Author: Benjamin Berg Date: Mon Jul 30 23:43:23 2007 +0000 Update for 2.11.4 release. 2007-07-31 Benjamin Berg * NEWS: * configure.ac: Update for 2.11.4 release. svn path=/trunk/; revision=798 ChangeLog | 6 ++++++ NEWS | 9 +++++++++ configure.ac | 2 +- 3 files changed, 16 insertions(+), 1 deletions(-) commit 16f16be0024538bb4c17bd364fff79d79c371a1e Author: Andrea Cimitan Date: Sun Jul 29 17:55:13 2007 +0000 Hue to 213 instead 211 2007-07-29 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Hue to 213 instead 211 svn path=/trunk/; revision=797 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit ce32cd5a49a1054d43f0e8074796567f0ae2a97c Author: Andrea Cimitan Date: Sun Jul 29 17:45:17 2007 +0000 New ColorScheme 2007-07-29 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: New ColorScheme svn path=/trunk/; revision=796 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit 666c3a5db1119ce07a8ddbca6a8893a5e8ee2e47 Author: Andrea Cimitan Date: Sun Jul 29 14:01:32 2007 +0000 Ordered the code with few useful #define for the gradients 2007-07-29 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_draw_gummy_gradient), (clearlooks_gummy_draw_button), (clearlooks_gummy_draw_progressbar_fill), (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_slider), (clearlooks_gummy_draw_scrollbar_stepper), (clearlooks_gummy_draw_scrollbar_slider), (clearlooks_gummy_draw_list_view_header), (clearlooks_gummy_draw_toolbar), (clearlooks_gummy_draw_menuitem), (clearlooks_gummy_draw_menubaritem): Ordered the code with few useful #define for the gradients svn path=/trunk/; revision=795 ChangeLog | 13 ++ engines/clearlooks/src/clearlooks_draw_gummy.c | 149 ++++++++++++------------ 2 files changed, 90 insertions(+), 72 deletions(-) commit 035ae9ef9c15f925fbd9943d9c2cb7074ce0cff0 Author: Andrea Cimitan Date: Sun Jul 29 04:28:33 2007 +0000 Everytime we add engine "clearlooks" we need to specify the style 2007-07-29 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Everytime we add engine "clearlooks" we need to specify the style svn path=/trunk/; revision=794 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit aa7221c93df6a2bcc11d84ac77c7e902a4b8e800 Author: Benjamin Berg Date: Sat Jul 28 18:53:25 2007 +0000 Fix menu item matching and add a special match for menubar menu items. 2007-07-28 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Fix menu item matching and add a special match for menubar menu items. svn path=/trunk/; revision=793 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 13 +++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) commit 044d86f28d38ad3e21b41041cbbedcaaf1086928 Author: Andrea Cimitan Date: Sat Jul 28 12:32:17 2007 +0000 Gummy's gtkrc 2007-07-28 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Gummy's gtkrc svn path=/trunk/; revision=792 ChangeLog | 5 +++ themes/Clearlooks/gtk-2.0/gtkrc | 71 +++++++++++++++++++++++---------------- 2 files changed, 47 insertions(+), 29 deletions(-) commit 40da5766ea722c5d96fc95dd8fc45d201a4235bd Author: Andrea Cimitan Date: Fri Jul 27 18:21:58 2007 +0000 Added vertical handles 2007-07-27 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_slider): Added vertical handles svn path=/trunk/; revision=791 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 0 deletions(-) commit 1e7e5c8d7b8d8f79955526644df1eae166931a5b Author: Andrea Cimitan Date: Thu Jul 26 15:20:31 2007 +0000 Little fix 2007-07-26 Andrea Cimitan * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init): Little fix svn path=/trunk/; revision=790 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_rc_style.c | 1 - 2 files changed, 6 insertions(+), 1 deletions(-) commit e57f9d806c0ac2233e02bb000071b424e8c1b9ed Author: Andrea Cimitan Date: Mon Jul 23 23:18:21 2007 +0000 It requires improvements in the gtkrc or it'll look odd. I've added 2007-07-24 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_progressbar_fill), (clearlooks_glossy_draw_slider), (clearlooks_glossy_draw_scrollbar_slider), (clearlooks_glossy_draw_menuitem), (clearlooks_glossy_draw_menubaritem): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_menuitem), (clearlooks_gummy_draw_menubaritem): It requires improvements in the gtkrc or it'll look odd. I've added rounded ability to menuitems, I'm using a long code but I guess it is faster then the previous as it's no longer using cairo_clip() svn path=/trunk/; revision=789 ChangeLog | 18 ++++++ engines/clearlooks/src/clearlooks_draw.c | 1 - engines/clearlooks/src/clearlooks_draw_glossy.c | 70 ++++++++++++++++------- engines/clearlooks/src/clearlooks_draw_gummy.c | 58 ++++++++++++++----- 4 files changed, 112 insertions(+), 35 deletions(-) commit 763393ed1378b497b07fc21238991a1eba8b1c19 Author: Benjamin Berg Date: Sat Jul 21 15:13:27 2007 +0000 Remove that freaking firefox hack. We can always put something back in if 2007-07-21 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Remove that freaking firefox hack. We can always put something back in if it turns out that it is really needed. But just having a hack without knowing why it is there sucks. svn path=/trunk/; revision=788 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_style.c | 7 ------- 2 files changed, 8 insertions(+), 7 deletions(-) commit 4004c63f47b6db5d074048200a551b35022169fc Author: Benjamin Berg Date: Sat Jul 21 15:12:03 2007 +0000 Use a different match for the progress bar to fix the network manager 2007-07-21 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Use a different match for the progress bar to fix the network manager progress bar padding. svn path=/trunk/; revision=787 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) commit edec2e6cc0d9f4d4500f32b1cbe61396da80e0d9 Author: Benjamin Berg Date: Mon Jul 9 20:51:22 2007 +0000 Update for 2.11.3 release. 2007-07-09 Benjamin Berg * NEWS: * configure.ac: Update for 2.11.3 release. svn path=/trunk/; revision=785 ChangeLog | 6 ++++++ NEWS | 14 ++++++++++++++ configure.ac | 2 +- 3 files changed, 21 insertions(+), 1 deletions(-) commit ebadb3f63efc1660c6ec24d177b9b960b459352a Author: Takeshi AIHANA Date: Sun Jul 8 00:23:14 2007 +0000 Added 'ja'. Added Japanese translation. 2007-07-08 Takeshi AIHANA * LINGUAS: Added 'ja'. * ja.po: Added Japanese translation. svn path=/trunk/; revision=784 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/ja.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 0 deletions(-) commit c454a90163a7710b908e707fc9310ad2e1ca013c Author: Andrea Cimitan Date: Fri Jul 6 02:07:56 2007 +0000 Whitespaces 2007-07-06 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_button), (clearlooks_gummy_draw_entry): Whitespaces svn path=/trunk/; revision=783 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) commit c956ec6c585a32785946b9e89d1445467bb6684c Author: Andrea Cimitan Date: Fri Jul 6 02:00:29 2007 +0000 Powerful new adaptive shading in gummy scrollbar's borders ;) Use const 2007-07-06 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_scale_trough), (clearlooks_draw_checkbox): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_draw_glossy_gradient), (clearlooks_set_mixed_color), (clearlooks_glossy_draw_inset), (clearlooks_glossy_draw_light_inset), (clearlooks_glossy_draw_highlight_and_shade), (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_scale_trough), (clearlooks_glossy_draw_tab), (clearlooks_glossy_draw_checkbox): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_draw_gummy_gradient), (clearlooks_set_mixed_color), (clearlooks_gummy_draw_highlight_and_shade), (clearlooks_gummy_draw_button), (clearlooks_gummy_draw_entry), (clearlooks_gummy_draw_progressbar_fill), (clearlooks_gummy_scale_draw_gradient), (clearlooks_gummy_draw_scale_trough), (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_scrollbar_slider), (clearlooks_gummy_draw_checkbox): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_button): * engines/clearlooks/src/clearlooks_types.h: Powerful new adaptive shading in gummy scrollbar's borders ;) Use const CairoColor *color where available Indentations/whitespaces svn path=/trunk/; revision=782 ChangeLog | 30 ++ engines/clearlooks/src/clearlooks_draw.c | 25 +- engines/clearlooks/src/clearlooks_draw_glossy.c | 134 +++++----- engines/clearlooks/src/clearlooks_draw_gummy.c | 311 +++++++++++---------- engines/clearlooks/src/clearlooks_draw_inverted.c | 2 +- engines/clearlooks/src/clearlooks_types.h | 27 +- 6 files changed, 290 insertions(+), 239 deletions(-) commit 80a2348f9feeab36be5e0be3c63d8e3a9cc62592 Author: Andrea Cimitan Date: Thu Jul 5 00:57:43 2007 +0000 Shade the scrollbar color on borders and handles for better rendering 2007-07-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_layout): Shade the scrollbar color on borders and handles for better rendering quality svn path=/trunk/; revision=781 ChangeLog | 9 ++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 26 ++++++------ engines/clearlooks/src/clearlooks_style.c | 55 ++++++++++++------------ 3 files changed, 50 insertions(+), 40 deletions(-) commit f2a5a430b3e1f90e6ab3e8e15d3db9fa0d1c8d4b Author: Artur Flinta Date: Tue Jul 3 21:10:31 2007 +0000 Updated Polish translation by GNOME PL Team. 2007-07-03 Artur Flinta * pl.po: Updated Polish translation by GNOME PL Team. svn path=/trunk/; revision=780 po/ChangeLog | 4 ++ po/pl.po | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+), 0 deletions(-) commit 058840327d1e8e4d24638f792251d630affa8c72 Author: Artur Flinta Date: Tue Jul 3 21:09:30 2007 +0000 - added pl svn path=/trunk/; revision=779 po/LINGUAS | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit d32c1bfe5b1cace6f6db0ef02abbf668b59c63d9 Author: Clytie Siddall Date: Wed Jun 27 07:17:48 2007 +0000 Added Vietnamese translation. svn path=/trunk/; revision=773 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/vi.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 0 deletions(-) commit 26c503b12c39039093746bd537d3d2028a2463a6 Author: Kjartan Maraas Date: Sun Jun 24 12:43:18 2007 +0000 Fix header svn path=/trunk/; revision=772 po/nb.po | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) commit f921b2edd1e463e5c04a45684f5cb155e0ae724a Author: Kjartan Maraas Date: Sun Jun 24 12:37:37 2007 +0000 Add nb Updated Norwegian bokmål translation. 2007-06-23 Kjartan Maraas * LINGUAS: Add nb * nb.po: Updated Norwegian bokmål translation. svn path=/trunk/; revision=771 po/ChangeLog | 1 + po/LINGUAS | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) commit 8264552bd91be3c7b22c70aa3182f8ae903ff12d Author: Kjartan Maraas Date: Sat Jun 23 09:51:42 2007 +0000 Updated Norwegian bokmål translation. 2007-06-23 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. svn path=/trunk/; revision=770 po/ChangeLog | 4 ++ po/nb.po | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+), 0 deletions(-) commit 751454d8ee57c373bace3c3561cc83d1df394efd Author: Felix I Date: Fri Jun 22 11:05:33 2007 +0000 updated si translation svn path=/trunk/; revision=769 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/si.po | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 157 insertions(+), 0 deletions(-) commit 2f1d65058b505a49cb6d8b4241ee03e89be70158 Author: Jakub Friedl Date: Wed Jun 20 10:19:39 2007 +0000 Added a new translation by Lucas "Drom" Lommer Thanks to JackTheDipper, 2007-06-19 Jakub Friedl * cs.po: Added a new translation by Lucas "Drom" Lommer Thanks to JackTheDipper, Cimi a benzea (#gnome-art). svn path=/trunk/; revision=768 po/ChangeLog | 5 ++ po/cs.po | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 157 insertions(+), 0 deletions(-) commit ffa8ffd9e5e674fcebc44bfe9bec25b36caba138 Author: Benjamin Berg Date: Mon Jun 18 23:35:22 2007 +0000 Update for 2.11.2 release. 2007-06-19 Benjamin Berg * NEWS: * configure.ac: Update for 2.11.2 release. svn path=/trunk/; revision=766 ChangeLog | 6 ++++++ NEWS | 14 ++++++++++++++ configure.ac | 2 +- 3 files changed, 21 insertions(+), 1 deletions(-) commit d656a91aabdf310b0a187fb46a230acd8710e6a0 Author: Benjamin Berg Date: Mon Jun 18 22:30:04 2007 +0000 Implement fill level in glossy and gummy. 2007-06-19 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_scale_trough): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scale_trough): Implement fill level in glossy and gummy. svn path=/trunk/; revision=765 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 7 ++++--- engines/clearlooks/src/clearlooks_draw_gummy.c | 5 +++-- 3 files changed, 15 insertions(+), 5 deletions(-) commit 499d279872d761ccce3fb404d00ff9e77c1ed13c Author: Benjamin Berg Date: Sun Jun 17 20:57:14 2007 +0000 GtkRange fill_level implementation for industrial. 2007-06-17 Benjamin Berg * engines/industrial/src/industrial_style.c: (real_draw_box): GtkRange fill_level implementation for industrial. svn path=/trunk/; revision=764 ChangeLog | 5 +++++ engines/industrial/src/industrial_style.c | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) commit 60d63d74d7696c7e4d537f112a6f5278bddaeab1 Author: Benjamin Berg Date: Sun Jun 17 20:32:33 2007 +0000 Implemented GTK+ 2.12 fill_level in clearlooks (classic style only). 2007-06-17 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_scale_trough): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box), (clearlooks_style_draw_slider): * engines/clearlooks/src/clearlooks_types.h: Implemented GTK+ 2.12 fill_level in clearlooks (classic style only). svn path=/trunk/; revision=763 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 5 +++-- engines/clearlooks/src/clearlooks_style.c | 4 ++++ engines/clearlooks/src/clearlooks_types.h | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) commit 16d585338438103ca7693563d7dd3cef54e6d77f Author: Benjamin Berg Date: Fri Jun 15 14:11:58 2007 +0000 Update because I renamed the xml.in.in files to follow the library names. 2007-06-15 Benjamin Berg * POTFILES.in: * POTFILES.skip: Update because I renamed the xml.in.in files to follow the library names. svn path=/trunk/; revision=762 po/ChangeLog | 6 ++++++ po/POTFILES.in | 6 +++--- po/POTFILES.skip | 6 +++--- 3 files changed, 12 insertions(+), 6 deletions(-) commit aa84989ca9005205dfbb709b077b6507d585d9f2 Author: Benjamin Berg Date: Fri Jun 15 14:10:50 2007 +0000 Renamed crux, hc and redmond schema files so that they follow the library 2007-06-15 Benjamin Berg * configure.ac: * schema/Makefile.am: * schema/*.xml.in.in: Renamed crux, hc and redmond schema files so that they follow the library name, instead of the gtk-engines internal one. svn path=/trunk/; revision=761 ChangeLog | 8 ++++++++ configure.ac | 12 ++++++------ schema/Makefile.am | 6 +++--- schema/crux-engine.xml.in.in | 27 +++++++++++++++++++++++++++ schema/crux.xml.in.in | 27 --------------------------- schema/hc.xml.in.in | 30 ------------------------------ schema/hcengine.xml.in.in | 30 ++++++++++++++++++++++++++++++ schema/redmond.xml.in.in | 19 ------------------- schema/redmond95.xml.in.in | 19 +++++++++++++++++++ 9 files changed, 93 insertions(+), 85 deletions(-) commit fe0bcb8ca91d205971230b967d937e16df9adce1 Author: Andrea Cimitan Date: Wed Jun 13 01:17:42 2007 +0000 To Benzea: why menubar0 draw a white line on top? Commented those lines to 2007-06-13 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menubar0): To Benzea: why menubar0 draw a white line on top? Commented those lines to disable that light line svn path=/trunk/; revision=760 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) commit c75c1c096ae1926c43b5b55956c31966634d610d Author: Andrea Cimitan Date: Tue Jun 12 23:37:20 2007 +0000 Implemented toolbarstyle!!! toolbarstyle = 1 will enable "specific" 2007-06-13 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_gripdots), (clearlooks_draw_slider), (clearlooks_draw_menubar), (clearlooks_get_frame_gap_clip), (clearlooks_draw_frame), (clearlooks_draw_toolbar): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_scrollbar_slider), (clearlooks_glossy_draw_toolbar), (clearlooks_register_style_glossy): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_button), (clearlooks_gummy_draw_scrollbar_slider), (clearlooks_gummy_draw_toolbar): * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_handle), (clearlooks_style_draw_box), (clearlooks_style_init_from_rc), (clearlooks_style_copy): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_types.h: Implemented toolbarstyle!!! toolbarstyle = 1 will enable "specific" drawings for Gummy and Glossy Fixed whitespaces and intendantions svn path=/trunk/; revision=759 ChangeLog | 27 ++ engines/clearlooks/src/clearlooks_draw.c | 92 +++-- engines/clearlooks/src/clearlooks_draw_glossy.c | 63 +++- engines/clearlooks/src/clearlooks_draw_gummy.c | 52 ++- engines/clearlooks/src/clearlooks_rc_style.c | 512 ++++++++++++----------- engines/clearlooks/src/clearlooks_rc_style.h | 6 +- engines/clearlooks/src/clearlooks_style.c | 8 + engines/clearlooks/src/clearlooks_style.h | 9 +- engines/clearlooks/src/clearlooks_types.h | 1 + 9 files changed, 454 insertions(+), 316 deletions(-) commit b25a4d5fc3452710f786784ee0dc690834f7d962 Author: Benjamin Berg Date: Tue Jun 12 22:59:12 2007 +0000 Mark the frame argument of clearlooks_get_frame_gap_clip const, and remove 2007-06-13 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_get_frame_gap_clip), (clearlooks_draw_frame): Mark the frame argument of clearlooks_get_frame_gap_clip const, and remove a cast. This should fix a warning. svn path=/trunk/; revision=758 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 5 ++--- 2 files changed, 9 insertions(+), 3 deletions(-) commit 758e11303b3da9c337fe4bd67944fd65919a8f08 Author: Laurent Dhima Date: Sat Jun 9 10:25:13 2007 +0000 Added Albanian translation. svn path=/trunk/; revision=757 po/ChangeLog | 4 ++ po/LINGUAS | 1 + po/sq.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 0 deletions(-) commit 43d91f4b6811b1379ee02e32aedfdce3ff05a4d3 Author: Benjamin Berg Date: Fri Jun 8 09:40:47 2007 +0000 Forgot to remove the deleted Makefile.in from configure.ac. 2007-06-08 Benjamin Berg * configure.ac: Forgot to remove the deleted Makefile.in from configure.ac. svn path=/trunk/; revision=756 ChangeLog | 5 +++++ configure.ac | 1 - 2 files changed, 5 insertions(+), 1 deletions(-) commit 05b4b8b7ec6c282401da6447048e52d449c228a9 Author: Benjamin Berg Date: Thu Jun 7 14:26:14 2007 +0000 Remove GTK+ 1.x theme. 2007-06-07 Benjamin Berg * themes/Redmond/Makefile.am: * themes/Redmond/gtk/Makefile.am: * themes/Redmond/gtk/gtkrc: Remove GTK+ 1.x theme. svn path=/trunk/; revision=755 ChangeLog | 7 +++++ themes/Redmond/Makefile.am | 2 +- themes/Redmond/gtk/Makefile.am | 5 --- themes/Redmond/gtk/gtkrc | 55 ---------------------------------------- 4 files changed, 8 insertions(+), 61 deletions(-) commit d089e7c65570ec01d77db910f16fa1d7cbb6c880 Author: Benjamin Berg Date: Mon Jun 4 23:58:10 2007 +0000 Small fix in the 2.11.1 news. 2007-06-05 Benjamin Berg * NEWS: Small fix in the 2.11.1 news. svn path=/trunk/; revision=752 ChangeLog | 5 +++++ NEWS | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit a8cf8a6450441945c2443382ccadfc2d24f46d89 Author: Benjamin Berg Date: Mon Jun 4 23:48:54 2007 +0000 Update for 2.11.1 release. 2007-06-05 Benjamin Berg * NEWS: * configure.ac: Update for 2.11.1 release. svn path=/trunk/; revision=751 ChangeLog | 6 ++++++ NEWS | 24 ++++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 31 insertions(+), 1 deletions(-) commit 83b5c7f9c5b26622031422a4e674a6d70f39a0f0 Author: Benjamin Berg Date: Mon Jun 4 23:43:53 2007 +0000 Added needed NULL pointer check. 2007-06-05 Benjamin Berg * engines/clearlooks/src/support.c: (clearlooks_set_toolbar_parameters): Added needed NULL pointer check. svn path=/trunk/; revision=750 ChangeLog | 6 ++++++ engines/clearlooks/src/support.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit d393b6cc4a9681ea9c4cbe8a3287a22d630e524a Author: Priit Laes Date: Sun Jun 3 19:07:28 2007 +0000 Updated Estonian translation by Ivar Smolin . 2007-06-03 Priit Laes * et.po: Updated Estonian translation by Ivar Smolin . svn path=/trunk/; revision=749 po/ChangeLog | 4 ++++ po/et.po | 13 +++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) commit ae5ed9b9cdcbb095f024e5a7cd967da0fe4ad66b Author: Andrea Cimitan Date: Sat Jun 2 19:01:02 2007 +0000 Different shade 2007-06-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tooltip): Different shade svn path=/trunk/; revision=748 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit caa396506a08dd325bed4ddd5d090819feab70ef Author: Andrea Cimitan Date: Sat Jun 2 18:38:55 2007 +0000 Changed shading on tooltip's border 2007-06-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tooltip): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_flat_box): Changed shading on tooltip's border * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_flat_box): 1 px error before? Fixed...? svn path=/trunk/; revision=747 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 2 +- engines/clearlooks/src/clearlooks_style.c | 2 +- engines/glide/src/glide_gtk2_drawing.c | 2 +- 5 files changed, 15 insertions(+), 4 deletions(-) commit cb775c7cb92c587ae020faf7a0301100b248fb17 Author: Benjamin Berg Date: Sat Jun 2 18:15:56 2007 +0000 Implement custom tooltip drawing. Fixes bug #413055. 2007-06-02 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tooltip), (clearlooks_register_style_classic): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_flat_box): * engines/clearlooks/src/clearlooks_types.h: Implement custom tooltip drawing. Fixes bug #413055. svn path=/trunk/; revision=746 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 26 ++++++++++++++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 19 +++++++++++++++++++ engines/clearlooks/src/clearlooks_types.h | 5 +++++ 4 files changed, 59 insertions(+), 0 deletions(-) commit 59d7788408feb8b20917328a87414990810daea9 Author: Benjamin Berg Date: Sat Jun 2 18:05:18 2007 +0000 Try a different heuristic to figure out if the toolbar is at the top of 2007-06-02 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_handle), (clearlooks_style_draw_box): * engines/clearlooks/src/support.c: (clearlooks_set_toolbar_parameters): * engines/clearlooks/src/support.h: Try a different heuristic to figure out if the toolbar is at the top of the window. svn path=/trunk/; revision=745 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_style.c | 6 +++--- engines/clearlooks/src/support.c | 27 ++++++--------------------- engines/clearlooks/src/support.h | 2 +- 4 files changed, 20 insertions(+), 25 deletions(-) commit 14c68afb71e5a29499cb6f841b3f833c81c664db Author: Andrea Cimitan Date: Thu May 31 20:30:18 2007 +0000 Add an option, colorize_scrollbar, for use bg[SELECTED] to colorize the 2007-05-31 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_scrollbar_slider): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_slider), (clearlooks_style_init_from_rc), (clearlooks_style_copy): * engines/clearlooks/src/clearlooks_style.h: Add an option, colorize_scrollbar, for use bg[SELECTED] to colorize the slider * themes/Clearlooks/gtk-2.0/gtkrc: Add colorize_scrollbar = FALSE to the gtkrc svn path=/trunk/; revision=744 ChangeLog | 20 ++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 8 ++- engines/clearlooks/src/clearlooks_draw_gummy.c | 8 ++- engines/clearlooks/src/clearlooks_rc_style.c | 47 +++++++++++++--------- engines/clearlooks/src/clearlooks_rc_style.h | 14 ++++--- engines/clearlooks/src/clearlooks_style.c | 11 ++++- engines/clearlooks/src/clearlooks_style.h | 1 + themes/Clearlooks/gtk-2.0/gtkrc | 1 + 8 files changed, 76 insertions(+), 34 deletions(-) commit 98ea542e3a05fecf410ed89197dea2b5f28bf24e Author: Andrea Cimitan Date: Thu May 31 19:07:51 2007 +0000 Colorized nautilus-extra-widget using symbolic colors 2007-05-31 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Colorized nautilus-extra-widget using symbolic colors svn path=/trunk/; revision=743 ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 5 +++++ 2 files changed, 10 insertions(+), 0 deletions(-) commit cc127a2a7b1ecd3a6b8ffa6a4238da83591aa10e Author: Andrea Cimitan Date: Wed May 30 22:35:25 2007 +0000 No highlight on toolbars without widgets upon 2007-05-31 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_toolbar): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_toolbar): No highlight on toolbars without widgets upon svn path=/trunk/; revision=742 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 14 ++++++++------ engines/clearlooks/src/clearlooks_draw_gummy.c | 12 +++++++----- 3 files changed, 23 insertions(+), 11 deletions(-) commit 7da3b697fbf8276719c7f3ee2f99a0454e2dcb56 Author: Benjamin Berg Date: Wed May 30 21:10:45 2007 +0000 Added a parameter for the toolbar drawing and detection whether there is 2007-05-30 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_toolbar): * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_toolbar): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_handle), (clearlooks_style_draw_box): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (clearlooks_set_toolbar_parameters): * engines/clearlooks/src/support.h: Added a parameter for the toolbar drawing and detection whether there is any other widget on top of it in the window. * test/torturetest.c: (widget_type_get_type), (create_testwidgets), (main): Add a toolbar to the tested widgets. Hopefully testing the new code to some extend. svn path=/trunk/; revision=741 ChangeLog | 20 +++++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 1 + engines/clearlooks/src/clearlooks_draw_gummy.c | 1 + engines/clearlooks/src/clearlooks_style.c | 20 ++++++++++++-- engines/clearlooks/src/clearlooks_types.h | 6 ++++ engines/clearlooks/src/support.c | 32 ++++++++++++++++++++++++ engines/clearlooks/src/support.h | 2 + test/torturetest.c | 18 ++++++++++++- 8 files changed, 96 insertions(+), 4 deletions(-) commit 5fd95e2c3a676a2fc55fb5a5bc737d4c71953642 Author: Benjamin Berg Date: Wed May 30 20:15:25 2007 +0000 Reworked the README file. 2007-05-30 Benjamin Berg * README: Reworked the README file. svn path=/trunk/; revision=740 ChangeLog | 5 ++ README | 128 +++++++++++++++++++++++++++++++++++++++++------------------- 2 files changed, 92 insertions(+), 41 deletions(-) commit 3d9162804d30d5fbdc62f8c0c7e7038417d7e3f7 Author: Priit Laes Date: Wed May 30 18:00:28 2007 +0000 Updated Estonian translation by Ivar Smolin . 2007-05-30 Priit Laes * et.po: Updated Estonian translation by Ivar Smolin . svn path=/trunk/; revision=739 po/ChangeLog | 4 ++++ po/et.po | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) commit 1805bb316c6c9e3b1253a89141428c77f6b1871c Author: Benjamin Berg Date: Wed May 30 13:21:04 2007 +0000 Replace gdk_cairo_set_source_color_alpha with 2007-05-30 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_focus): * engines/support/cairo-support.c: (ge_cairo_set_gdk_color_with_alpha): * engines/support/cairo-support.h: Replace gdk_cairo_set_source_color_alpha with ge_cairo_set_gdk_color_with_alpha so that we do not clutter the gdk_ namespace. svn path=/trunk/; revision=738 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_style.c | 18 ++---------------- engines/support/cairo-support.c | 11 +++++++++++ engines/support/cairo-support.h | 1 + 4 files changed, 25 insertions(+), 16 deletions(-) commit 25559667093d9e8282b9604a97bac2b0de1af05b Author: Benjamin Berg Date: Wed May 30 13:05:54 2007 +0000 Having the changes in the ChangeLog once should be enough ... svn path=/trunk/; revision=737 ChangeLog | 5767 ------------------------------------------------------------- 1 files changed, 0 insertions(+), 5767 deletions(-) commit 709063cc3b20dd86cf081a4b0fcf9a29ae06441a Author: Benjamin Berg Date: Tue May 29 17:38:04 2007 +0000 Some more suppressions. 2007-05-29 Benjamin Berg * test/valgrind-suppressions: Some more suppressions. svn path=/trunk/; revision=736 ChangeLog | 5 +++++ test/valgrind-suppressions | 27 ++++++++++----------------- 2 files changed, 15 insertions(+), 17 deletions(-) commit f8069a1984a97fccf9393b782630447c59f96582 Author: Benjamin Berg Date: Tue May 29 16:20:35 2007 +0000 Improved test coverage, and now also running with G_SLICE=debug-blocks. It 2007-05-29 Benjamin Berg * test/*: Improved test coverage, and now also running with G_SLICE=debug-blocks. It now is able to find eg. bug #438456. svn path=/trunk/; revision=735 ChangeLog | 6 + test/Makefile.am | 3 +- test/gtkrcs/buildin | 3 + test/gtkrcs/clearlooks | 3 + test/gtkrcs/clearlooks-glossy | 3 + test/gtkrcs/clearlooks-gummy | 3 + test/gtkrcs/clearlooks-inverted | 3 + test/gtkrcs/crux | 3 + test/gtkrcs/glide | 3 + test/gtkrcs/hc | 3 + test/gtkrcs/industrial | 3 + test/gtkrcs/mist | 3 + test/gtkrcs/redmond | 3 + test/gtkrcs/smooth | 3 + test/gtkrcs/thinice | 3 + test/torture | 2 +- test/torturetest.c | 261 +++++++++++++++++++++++++++++++++++---- 17 files changed, 285 insertions(+), 26 deletions(-) commit fb088e3764d6cee19f06de77f682b7d415c01051 Author: Runa Bhattacharjee Date: Mon May 28 08:45:47 2007 +0000 Added Entry for Bengali India Translation Addition and language name to language list in LINGUAS svn path=/trunk/; revision=730 po/ChangeLog | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit 1a27663d3598b800d70719d9698f33ce85d1278e Author: Runa Bhattacharjee Date: Mon May 28 08:45:09 2007 +0000 Added Bengali India (bn_IN) to the list of languages svn path=/trunk/; revision=729 po/LINGUAS | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 9d4d33ae3bfe198b9a87e09dfd996dd68629ba7a Author: Runa Bhattacharjee Date: Mon May 28 08:44:39 2007 +0000 Added Bengali India Translation svn path=/trunk/; revision=728 po/bn_IN.po | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 150 insertions(+), 0 deletions(-) commit a6526f3278b37360c296201ce740e521e6d78ca1 Author: Benjamin Berg Date: Fri May 25 21:13:03 2007 +0000 Assume grey colors if the minimum and maximum are only sligthly different. 2007-05-25 Benjamin Berg * engines/support/cairo-support.c: (ge_hsb_from_color): Assume grey colors if the minimum and maximum are only sligthly different. svn path=/trunk/; revision=727 ChangeLog | 6 ++++++ engines/support/cairo-support.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) commit 16817fa6690a49b0833bf3e17370a990149e072f Author: Benjamin Berg Date: Wed May 23 14:36:24 2007 +0000 Use 65535.0 instead of 65536.0. 2007-05-23 Benjamin Berg * engines/support/cairo-support.c: (ge_gdk_color_to_cairo), (ge_cairo_color_to_gtk): Use 65535.0 instead of 65536.0. svn path=/trunk/; revision=725 ChangeLog | 6 ++++++ engines/support/cairo-support.c | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) commit b33b1caea1037f2b3963d338a5ca37a33f840250 Author: Benjamin Berg Date: Mon May 21 17:18:48 2007 +0000 Counting is hard ... fixed a bit field. 2007-05-21 Benjamin Berg * test/torturetest.c: Counting is hard ... fixed a bit field. svn path=/trunk/; revision=723 ChangeLog | 5 +++++ test/torturetest.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit b88de3b5fb33adb03e4d9eab9ab0c01677d85a84 Author: Benjamin Berg Date: Mon May 21 15:21:08 2007 +0000 Removed the gtk_widget_grab_focus. This fixes tabbing out of a 2007-05-21 Benjamin Berg * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_focus): Removed the gtk_widget_grab_focus. This fixes tabbing out of a GtkComboBoxEntry. svn path=/trunk/; revision=721 ChangeLog | 6 ++++++ engines/glide/src/glide_gtk2_drawing.c | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) commit 71607ef13b1f711f4a345af488798cc2cda0644a Author: Benjamin Berg Date: Tue May 15 18:02:14 2007 +0000 Forgot to add the clearlooks-gummy rc file to the list. 2007-05-15 Benjamin Berg * test/Makefile.am: Forgot to add the clearlooks-gummy rc file to the list. svn path=/trunk/; revision=716 ChangeLog | 5 +++++ test/Makefile.am | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) commit 03c02f1a05af66f5ce47ee84b1bbbabcf5508a30 Author: Ignacio Casal Quinteiro Date: Tue May 15 09:11:32 2007 +0000 Updated Galician Translation svn path=/trunk/; revision=715 po/ChangeLog | 4 ++++ po/gl.po | 49 +++++++++++++++++++++++++------------------------ 2 files changed, 29 insertions(+), 24 deletions(-) commit 7388b1481390ce0d7ef3db04ec6a96597eeac569 Author: Benjamin Berg Date: Tue May 15 08:36:59 2007 +0000 Replace g_free with gtk_border_free and gtk_requisition_free where 2007-05-15 Benjamin Berg * engines/smooth/src/engine/smooth_gtk2_misc.c: (smooth_gtk_button_get_props): * engines/support/widget-information.c: (ge_option_menu_get_props), (ge_button_get_default_border): Replace g_free with gtk_border_free and gtk_requisition_free where appropriate. Bug #438456, based on patch by Carlos Garnacho. svn path=/trunk/; revision=714 ChangeLog | 9 +++++++++ engines/smooth/src/engine/smooth_gtk2_misc.c | 4 ++-- engines/support/widget-information.c | 6 +++--- 3 files changed, 14 insertions(+), 5 deletions(-) commit dd2557066cb55e3bb00ca268da35c161e51044b1 Author: Benjamin Berg Date: Tue May 15 08:04:54 2007 +0000 Correct some C89. Bug #438397, patch by Jens Granseuer. 2007-05-15 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_gummy_draw_scrollbar_slider): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap), (clearlooks_style_draw_option), (clearlooks_style_draw_layout): Correct some C89. Bug #438397, patch by Jens Granseuer. svn path=/trunk/; revision=713 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw_gummy.c | 4 ++-- engines/clearlooks/src/clearlooks_style.c | 12 ++++++------ 3 files changed, 17 insertions(+), 8 deletions(-) commit b4038d95e5e5e43dc6b9449c563c847f066478b6 Author: Benjamin Berg Date: Tue May 15 08:02:22 2007 +0000 Added rc style to torture test Clearlooks' Gummy style. 2007-05-15 Benjamin Berg * test/gtkrcs/clearlooks-gummy: Added rc style to torture test Clearlooks' Gummy style. svn path=/trunk/; revision=712 ChangeLog | 5 +++++ test/gtkrcs/clearlooks-gummy | 9 +++++++++ 2 files changed, 14 insertions(+), 0 deletions(-) commit 35330c3c27f8007d349295fc6e65f3ff0bac00fe Author: Benjamin Berg Date: Mon May 14 17:27:54 2007 +0000 Define clearlooks_register_style_gummy and make it internal. This fixes 2007-05-14 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.h: Define clearlooks_register_style_gummy and make it internal. This fixes "make check". This commit is part of the 2.11.0 release. svn path=/trunk/; revision=710 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.h | 1 + 2 files changed, 7 insertions(+), 0 deletions(-) commit 1552c953dc4e108386f5c9d31a816b832e573fa7 Author: Benjamin Berg Date: Mon May 14 17:06:13 2007 +0000 Update for the 2.11.0 release. 2007-05-14 Benjamin Berg * NEWS: * configure.ac: Update for the 2.11.0 release. svn path=/trunk/; revision=709 ChangeLog | 6 ++++++ NEWS | 22 ++++++++++++++++++++++ configure.ac | 3 ++- 3 files changed, 30 insertions(+), 1 deletions(-) commit b3d875d5bb9908f829f0d407538289940d57770c Author: Andrea Cimitan Date: Sun May 13 21:50:32 2007 +0000 Improvements in glossy: Glossy inactive tabs Less glassy listview headers 2007-05-13 Andrea Cimitan * engines/clearlooks/Makefile.am: * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry), (clearlooks_draw_statusbar): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_draw_glossy_gradient), (clearlooks_glossy_draw_inset), (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_progressbar_fill), (clearlooks_glossy_draw_tab), (clearlooks_glossy_draw_list_view_header), (clearlooks_glossy_draw_menuitem), (clearlooks_glossy_draw_menubaritem), (clearlooks_glossy_draw_selected_cell): Improvements in glossy: Glossy inactive tabs Less glassy listview headers Small fixes * engines/clearlooks/src/clearlooks_draw_gummy.c: (clearlooks_draw_gummy_gradient), (clearlooks_set_mixed_color), (clearlooks_gummy_draw_highlight_and_shade), (clearlooks_gummy_draw_button), (clearlooks_gummy_draw_entry), (clearlooks_gummy_draw_progressbar_trough), (clearlooks_gummy_draw_progressbar_fill), (clearlooks_gummy_scale_draw_gradient), (clearlooks_gummy_draw_scale_trough), (clearlooks_gummy_draw_tab), (clearlooks_gummy_draw_separator), (clearlooks_gummy_draw_slider), (clearlooks_gummy_draw_slider_button), (clearlooks_gummy_draw_scrollbar_stepper), (clearlooks_gummy_draw_scrollbar_slider), (clearlooks_gummy_draw_list_view_header), (clearlooks_gummy_draw_toolbar), (clearlooks_gummy_draw_menuitem), (clearlooks_gummy_draw_menubaritem), (clearlooks_gummy_draw_selected_cell), (clearlooks_gummy_draw_statusbar), (clearlooks_gummy_draw_radiobutton), (clearlooks_gummy_draw_checkbox), (clearlooks_register_style_gummy): New "Gummy" style * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_tab): * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_gtk2_rc_parse_style): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_flat_box), (clearlooks_style_draw_box), (clearlooks_style_draw_slider), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_types.h: Other fixes and more order in the code svn path=/trunk/; revision=708 ChangeLog | 51 + engines/clearlooks/Makefile.am | 1 + engines/clearlooks/src/clearlooks_draw.c | 22 +- engines/clearlooks/src/clearlooks_draw_glossy.c | 92 +- engines/clearlooks/src/clearlooks_draw_gummy.c | 1360 +++++++++++++++++++++ engines/clearlooks/src/clearlooks_draw_inverted.c | 16 +- engines/clearlooks/src/clearlooks_rc_style.c | 7 +- engines/clearlooks/src/clearlooks_style.c | 8 +- engines/clearlooks/src/clearlooks_types.h | 3 +- 9 files changed, 1488 insertions(+), 72 deletions(-) commit 5d980503b34924990d5020fbf4bc58ab348f6df4 Author: Yannig MARCHEGAY Date: Sun May 13 13:01:35 2007 +0000 Occitan translation update svn path=/trunk/; revision=707 po/oc.po | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 151 insertions(+), 0 deletions(-) commit 5afa780a97a111a66cca94d3d1afecca6998c33a Author: Yannig MARCHEGAY Date: Sun May 13 13:00:52 2007 +0000 + Occitan svn path=/trunk/; revision=706 po/LINGUAS | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit c00c83c8a180da36ca641eecfcc3ce1cc9ab31c6 Author: Subhransu Behera Date: Fri May 11 06:33:26 2007 +0000 Updated Oriya Translation svn path=/trunk/; revision=705 po/ChangeLog | 4 ++++ po/or.po | 50 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 25 deletions(-) commit 90f01753ecfaa053dd858b5f79160f96056d15d4 Author: Subhransu Behera Date: Fri May 11 05:50:39 2007 +0000 Updated Oriya Translation svn path=/trunk/; revision=704 po/ChangeLog | 4 ++ po/or.po | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 156 insertions(+), 0 deletions(-) commit aae03b37e828ca13e29f02cba43719f516d0d7b0 Author: Subhransu Behera Date: Thu May 10 10:34:56 2007 +0000 Added Oriya (or) to the list svn path=/trunk/; revision=703 po/ChangeLog | 4 ++++ po/LINGUAS | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) commit 2c7bc28b4a0421dbd0dce05aed255ea79134b2fa Author: Andrea Cimitan Date: Tue May 8 22:45:07 2007 +0000 Improved shadow on frames 2007-05-09 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_shadow), (clearlooks_draw_highlight_and_shade): Improved shadow on frames * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_list_view_header): Changed separator color svn path=/trunk/; revision=702 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw.c | 4 ++-- engines/clearlooks/src/clearlooks_draw_glossy.c | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) commit ddedb8d585caf6ae5aaf543236fc66c2af1d9ca0 Author: Andrea Cimitan Date: Tue May 8 21:07:16 2007 +0000 Rounded frames and notebook :) 2007-05-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow), (clearlooks_style_draw_box_gap), (clearlooks_style_draw_shadow_gap): Rounded frames and notebook :) svn path=/trunk/; revision=701 ChangeLog | 7 +++ engines/clearlooks/src/clearlooks_style.c | 81 +++++++++++++++++++++++++++-- 2 files changed, 84 insertions(+), 4 deletions(-) commit 68a694e2621336a2de188ba18b40c118805d16ae Author: Yang Zhang Date: Tue May 8 15:28:28 2007 +0000 Revert zh_CN translation to primal svn path=/trunk/; revision=700 po/zh_CN.po | 26 ++++++++++++++------------ 1 files changed, 14 insertions(+), 12 deletions(-) commit e401c30c61c62600112efbde9df79bd959f44b2a Author: Andrea Cimitan Date: Tue May 8 11:38:14 2007 +0000 Use ge_cairo_set_color where possible (we still need to update 2007-05-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_highlight_and_shade), (clearlooks_draw_spinbutton), (clearlooks_draw_frame), (clearlooks_draw_separator), (clearlooks_draw_list_view_header), (clearlooks_draw_statusbar), (clearlooks_draw_resize_grip): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_list_view_header): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow): Use ge_cairo_set_color where possible (we still need to update cairo_set_source_rgba) svn path=/trunk/; revision=699 ChangeLog | 14 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 34 ++++++++++---------- engines/clearlooks/src/clearlooks_draw_inverted.c | 2 +- engines/clearlooks/src/clearlooks_style.c | 2 +- 4 files changed, 33 insertions(+), 19 deletions(-) commit 0c605011cffc36eac345ab44e406708ba8491171 Author: Andrea Cimitan Date: Mon May 7 23:48:24 2007 +0000 Less shadows on prelight... ok thos? :) 2007-05-08 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Less shadows on prelight... ok thos? :) svn path=/trunk/; revision=698 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) commit 5cfe05079f9a240adecb037dd4fc03cf2c076669 Author: Andrea Cimitan Date: Mon May 7 21:11:25 2007 +0000 Reverted back, update to 696 if you want shadows... we will think 2007-05-07 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Reverted back, update to 696 if you want shadows... we will think svn path=/trunk/; revision=697 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 12 ++++++++---- engines/clearlooks/src/clearlooks_style.c | 4 ++-- 3 files changed, 18 insertions(+), 6 deletions(-) commit c4d70f674c118bdde90a0068e94902179e94a0e6 Author: Andrea Cimitan Date: Mon May 7 20:54:18 2007 +0000 thos: Cimi, it is difficult when I am doing 100 things at once :) Thos is 2007-05-07 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): (22:48:08) thos: Cimi, it is difficult when I am doing 100 things at once :) Thos is not multitasking :D (AKA useless commit to show shadows on buttons) svn path=/trunk/; revision=696 ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 12 ++++-------- engines/clearlooks/src/clearlooks_style.c | 4 ++-- 3 files changed, 16 insertions(+), 10 deletions(-) commit 2369b5c67e243b5971fe94ac57acc1cced1e5854 Author: Andrea Cimitan Date: Mon May 7 12:00:41 2007 +0000 Is it correct as I've added a left inner shadow? Benzea please take a look 2007-05-07 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Is it correct as I've added a left inner shadow? Benzea please take a look ;) svn path=/trunk/; revision=695 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) commit 3cd6be580bf70e4e457e398baddaa0200c39a908 Author: Andrea Cimitan Date: Mon May 7 11:24:54 2007 +0000 Added comments /* code */ to try buttons with a shadow instead the inset 2007-05-07 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_progressbar_trough): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Added comments /* code */ to try buttons with a shadow instead the inset svn path=/trunk/; revision=694 ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 17 +++++++++++++++-- engines/clearlooks/src/clearlooks_style.c | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) commit 4a841be0eabcbf9fb0062d92357a7dba1c4cf51e Author: Andrea Cimitan Date: Mon May 7 01:04:51 2007 +0000 Toolbar now uses bg[NORMAL] Adjust some shades 2007-05-07 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_highlight_and_shade), (clearlooks_draw_frame), (clearlooks_draw_separator), (clearlooks_draw_toolbar), (clearlooks_draw_menubaritem): Toolbar now uses bg[NORMAL] Adjust some shades * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_draw_button_gloss), (clearlooks_glossy_draw_light_inset), (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_menubaritem): Adjust inset for inactive buttons More hilight on inactive buttons (less usable?) Menubar item now has rounded support * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_layout), (clearlooks_style_class_init): Now the shadow on inactive text is a shade of the bg, Fix rendering with dark themes * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): Few tweaks to get the correct parentbg svn path=/trunk/; revision=693 ChangeLog | 26 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 28 +++++---- engines/clearlooks/src/clearlooks_draw_glossy.c | 74 ++++++++++++++++++++--- engines/clearlooks/src/clearlooks_style.c | 49 +++++++++++++++ engines/clearlooks/src/support.c | 2 +- 5 files changed, 158 insertions(+), 21 deletions(-) commit 43272c2dd2ca004025de38ada2b3872b93477501 Author: Benjamin Berg Date: Sun May 6 10:22:32 2007 +0000 Use const CairoColor pointer everywhere as the color should never be 2007-05-06 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_inverted.c: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_types.h: Use const CairoColor pointer everywhere as the color should never be modified. Also removed some unused variables. svn path=/trunk/; revision=692 ChangeLog | 11 ++++ engines/clearlooks/src/clearlooks_draw.c | 61 ++++++++++----------- engines/clearlooks/src/clearlooks_draw_glossy.c | 42 +++++++-------- engines/clearlooks/src/clearlooks_draw_inverted.c | 26 +++++----- engines/clearlooks/src/clearlooks_style.c | 2 +- engines/clearlooks/src/clearlooks_types.h | 2 +- 6 files changed, 76 insertions(+), 68 deletions(-) commit fa2b18e1bdc4426fde17bd4ec2c8a769583f8c38 Author: Benjamin Berg Date: Sun May 6 09:29:35 2007 +0000 Added missing sanity checks. 2007-05-06 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap), (clearlooks_style_draw_extension), (clearlooks_style_draw_option), (clearlooks_style_draw_check), (clearlooks_style_draw_vline), (clearlooks_style_draw_hline), (clearlooks_style_draw_shadow_gap), (clearlooks_style_draw_resize_grip), (clearlooks_style_draw_tab), (clearlooks_style_draw_arrow): Added missing sanity checks. svn path=/trunk/; revision=691 ChangeLog | 11 ++++++++ engines/clearlooks/src/clearlooks_style.c | 38 +++++++++++++++++++++++----- 2 files changed, 42 insertions(+), 7 deletions(-) commit 6e18e6ccf74ee30645e1809fc507afa5b886c8a2 Author: Andrea Cimitan Date: Sat May 5 01:29:58 2007 +0000 Fixed inset shadow on pressed buttons 2007-05-05 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Fixed inset shadow on pressed buttons svn path=/trunk/; revision=690 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 3266a1be0c2e55a58240da2bbc0fc282706a5108 Author: Yang Zhang Date: Fri May 4 16:54:44 2007 +0000 Updated zh_CN translation svn path=/trunk/; revision=689 po/zh_CN.po | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 5ef41dc195d4964326b620880502fcd5916371de Author: Yang Zhang Date: Fri May 4 16:51:59 2007 +0000 Added zh_CN translation svn path=/trunk/; revision=688 po/zh_CN.po | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 149 insertions(+), 0 deletions(-) commit 69feefe8adb7718d295419bedbf3ef4e95f112a4 Author: Benjamin Berg Date: Thu May 3 21:13:07 2007 +0000 Correctly align the resize grip. 2007-05-03 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_resize_grip): Correctly align the resize grip. svn path=/trunk/; revision=687 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) commit 71d9f7d391f630a14c8b849cd1fe566e30aa21c5 Author: Andrea Cimitan Date: Thu May 3 16:42:54 2007 +0000 Few fixes on ge_mix_color 2007-05-03 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_set_mixed_color), (clearlooks_glossy_draw_button): * engines/support/cairo-support.c: (ge_mix_color): * engines/support/cairo-support.h: Few fixes on ge_mix_color svn path=/trunk/; revision=686 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 10 +++------- engines/support/cairo-support.c | 6 +++--- engines/support/cairo-support.h | 2 +- 4 files changed, 15 insertions(+), 11 deletions(-) commit a7545ee5a2bc54b80cb8bc6d22b9ac258c6e0743 Author: Andrea Cimitan Date: Thu May 3 01:22:40 2007 +0000 Renamed set_border_color to set_mixed_color Improved prelight on radio and 2007-05-03 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_set_mixed_color), (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_progressbar_trough), (clearlooks_glossy_scale_draw_gradient), (clearlooks_glossy_draw_slider), (clearlooks_glossy_draw_scrollbar_stepper), (clearlooks_glossy_draw_scrollbar_slider), (clearlooks_glossy_draw_radiobutton), (clearlooks_glossy_draw_checkbox): Renamed set_border_color to set_mixed_color Improved prelight on radio and checks, fixes usability problems svn path=/trunk/; revision=685 ChangeLog | 14 ++++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 26 ++++++++++++++-------- 2 files changed, 30 insertions(+), 10 deletions(-) commit f216e5e8af7b31f0ac217c9b01fa4aded228708f Author: Andrea Cimitan Date: Thu May 3 01:05:51 2007 +0000 Added inset and improved compatibility with dark themes 2007-05-03 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_radiobutton), (clearlooks_draw_checkbox), (clearlooks_register_style_classic): Added inset and improved compatibility with dark themes * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_radiobutton), (clearlooks_glossy_draw_checkbox), (clearlooks_register_style_glossy): Added a variation of default clearlooks radi oand check with a spot[2] border on prelight. Need more work but it seems less buggied and better looking svn path=/trunk/; revision=684 ChangeLog | 26 ++ engines/clearlooks/src/clearlooks_draw.c | 55 ++-- engines/clearlooks/src/clearlooks_draw_glossy.c | 401 +++++++++-------------- engines/clearlooks/src/clearlooks_types.h | 28 +- 4 files changed, 210 insertions(+), 300 deletions(-) commit 4dee5fb56213902f15e009cf278100c853aeb303 Author: Andrea Cimitan Date: Wed May 2 23:07:03 2007 +0000 Separator use a custom color 2007-05-03 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_optionmenu), (clearlooks_draw_separator), (clearlooks_draw_list_view_header): Separator use a custom color * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_list_view_header): Back to an old version, we will think * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_list_view_header): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_vline), (clearlooks_style_draw_hline): * engines/clearlooks/src/clearlooks_types.h: Updated usage of draw_separator svn path=/trunk/; revision=683 ChangeLog | 18 +++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 15 +++++------ engines/clearlooks/src/clearlooks_draw_glossy.c | 28 ++++++--------------- engines/clearlooks/src/clearlooks_draw_inverted.c | 4 +- engines/clearlooks/src/clearlooks_style.c | 4 +- engines/clearlooks/src/clearlooks_types.h | 2 +- 6 files changed, 38 insertions(+), 33 deletions(-) commit fc71c192b0a5910982d33d4314c8b63f8772b65a Author: Andrea Cimitan Date: Wed May 2 20:57:40 2007 +0000 Improved listview headers 2007-05-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_list_view_header): Improved listview headers svn path=/trunk/; revision=682 ChangeLog | 12 +++++++----- engines/clearlooks/src/clearlooks_draw_glossy.c | 18 +++++++++++++++--- 2 files changed, 22 insertions(+), 8 deletions(-) commit 3b31b16df0c53cd8c8458f0e031d3dd67c7818f0 Author: Andrea Cimitan Date: Wed May 2 16:46:06 2007 +0000 Using 2 stroke with alignment rather than one misaligned, this fixes 1 px 2007-05-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Using 2 stroke with alignment rather than one misaligned, this fixes 1 px rendering bug of ge_cairo_rounded_rectangle with alpha colors (I have a 2 px more shaded inthe top-left corner) svn path=/trunk/; revision=681 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) commit e93e11817373cc77aba6d5339270e4934df85797 Author: Andrea Cimitan Date: Wed May 2 12:26:10 2007 +0000 Updated prelight of active buttons 2007-05-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Updated prelight of active buttons svn path=/trunk/; revision=680 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) commit 0513b49a218d9fd381a31067f0e2c920911d65a1 Author: Andrea Cimitan Date: Wed May 2 12:06:47 2007 +0000 Use new mix code 2007-05-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_set_border_color), (clearlooks_glossy_draw_button): Use new mix code * engines/support/cairo-support.c: (ge_saturate_color), (ge_mix_color): * engines/support/cairo-support.h: Added a function to mix colors: ge_mix_color (cr, color1, color2, factor, new_color) svn path=/trunk/; revision=679 ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 19 ++++++++++--------- engines/support/cairo-support.c | 14 +++++++++++++- engines/support/cairo-support.h | 1 + 4 files changed, 36 insertions(+), 10 deletions(-) commit fc6f5f7933507f79332481640b2212dc6b06c2e4 Author: Andrea Cimitan Date: Wed May 2 02:07:14 2007 +0000 Shadow now is shifted to be more bottom-right 2007-05-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): Shadow now is shifted to be more bottom-right svn path=/trunk/; revision=678 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 7 ++++--- 2 files changed, 15 insertions(+), 3 deletions(-) commit ee0b3177aa25372db4c1dd696945ba725556fb34 Author: Andrea Cimitan Date: Wed May 2 01:31:06 2007 +0000 Now "glow" becomes a shadow for 3d effects on prelight buttons 2007-05-02 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_slider): Now "glow" becomes a shadow for 3d effects on prelight buttons Draw_sliders now use params->state_type for the filled area Check out new gtkrc updates on module gnome-themes for the new buttons svn path=/trunk/; revision=677 ChangeLog | 10 +++++++++- engines/clearlooks/src/clearlooks_draw_glossy.c | 14 ++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) commit 88fc9267b7163c738fa480b4cdf615f75e067a35 Author: Benjamin Berg Date: Tue May 1 19:04:13 2007 +0000 Forgot a multiplication by 3. 2007-05-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_resize_grip): Forgot a multiplication by 3. svn path=/trunk/; revision=676 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit b545daf9b8be5e50856fd4702b8434853db39854 Author: Andrea Cimitan Date: Tue May 1 16:25:21 2007 +0000 k2007-05-01 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_draw_button_gloss), (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_tab), (clearlooks_glossy_draw_list_view_header), (clearlooks_register_style_glossy): New listview headers for GLossy style Shaded inset for pressed buttons * engines/clearlooks/src/clearlooks_draw_inverted.c: Update in copyright notice * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_slider): Small mistake from the last commit svn path=/trunk/; revision=675 ChangeLog | 16 +++ engines/clearlooks/src/clearlooks_draw_glossy.c | 112 ++++++++++++++++----- engines/clearlooks/src/clearlooks_draw_inverted.c | 7 +- engines/clearlooks/src/clearlooks_style.c | 5 +- 4 files changed, 108 insertions(+), 32 deletions(-) commit 0ef4cbdb8b4196f0f10569f7a14ac14e679ae833 Author: Andrea Cimitan Date: Tue May 1 13:59:42 2007 +0000 Glossy Style rewritten to be *cool* :) New Ideas came from my experience 2007-05-01 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_draw_button_gloss), (clearlooks_set_border_color), (clearlooks_glossy_draw_inset), (clearlooks_glossy_draw_highlight_and_shade), (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_progressbar_trough), (clearlooks_glossy_draw_progressbar_fill), (clearlooks_glossy_scale_draw_gradient), (clearlooks_glossy_draw_scale_trough), (clearlooks_glossy_draw_tab), (clearlooks_glossy_draw_slider), (clearlooks_glossy_draw_scrollbar_stepper), (clearlooks_glossy_draw_scrollbar_slider), (clearlooks_register_style_glossy): Glossy Style rewritten to be *cool* :) New Ideas came from my experience with "Murrine Engine" * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_slider): If scrollbar_color is not set then scrollbars will use bg[SELECTED] by default. Nice! svn path=/trunk/; revision=674 ChangeLog | 24 + engines/clearlooks/src/clearlooks_draw_glossy.c | 817 ++++++++++++++++++++--- engines/clearlooks/src/clearlooks_style.c | 10 +- 3 files changed, 742 insertions(+), 109 deletions(-) commit 4091742d00bc674facd7d6bedc69036d2198edd3 Author: Benjamin Berg Date: Thu Apr 26 17:35:02 2007 +0000 Implement resize grips for all corners. Fixes bug #427265, Christian 2007-04-26 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_resize_grip): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_resize_grip): Implement resize grips for all corners. Fixes bug #427265, Christian Persch. svn path=/trunk/; revision=673 ChangeLog | 9 +++++ engines/clearlooks/src/clearlooks_draw.c | 55 ++++++++++++++++++++++++----- engines/clearlooks/src/clearlooks_style.c | 5 --- 3 files changed, 55 insertions(+), 14 deletions(-) commit 50c008969457672041887d78def96c14cfafd6ad Author: Benjamin Berg Date: Sun Apr 22 20:24:41 2007 +0000 Set a minimum radius of 6 pixel for radio buttons. Otherwise the treeview 2007-04-22 Benjamin Berg * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_option): Set a minimum radius of 6 pixel for radio buttons. Otherwise the treeview radio buttons are too small. (In theory the indicator-size is 12, but GTK+ subtracts one, and then it gets rounded down to 10 by the engine) svn path=/trunk/; revision=672 ChangeLog | 9 +++++++++ engines/redmond/src/redmond_gtk2_drawing.c | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) commit e84d3984544b74248801ade43f0676626f6f0562 Author: Benjamin Berg Date: Sun Apr 22 18:44:24 2007 +0000 Call a helper function and added a comment to clarify what the code is 2007-04-22 Benjamin Berg * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: (smooth_arrow_merge): Call a helper function and added a comment to clarify what the code is for. svn path=/trunk/; revision=671 ChangeLog | 7 +++++++ .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 7 +++---- 2 files changed, 10 insertions(+), 4 deletions(-) commit dc49951b745402b190afe5bb7dcaf306faf54613 Author: Andrea Cimitan Date: Sat Apr 21 15:29:57 2007 +0000 Last time I forgot to fix radius of new inset function, Fixed. 2007-04-21 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_button): Last time I forgot to fix radius of new inset function, Fixed. svn path=/trunk/; revision=670 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 2 +- engines/clearlooks/src/clearlooks_draw_inverted.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) commit 5d8256851656876d3495e4688247545a74eab3f6 Author: Andrea Cimitan Date: Thu Apr 19 23:44:27 2007 +0000 Improved inset porting few code originally written by ECHM. Now it is 2007-04-20 Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_scale_trough): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_button), (clearlooks_register_style_inverted): * engines/clearlooks/src/clearlooks_types.h: Improved inset porting few code originally written by ECHM. Now it is top-left/bottom-right and it is rounded. Fixed problems with alpha backgrounds. svn path=/trunk/; revision=669 ChangeLog | 15 ++++ engines/clearlooks/src/clearlooks_draw.c | 72 +++++++++++++-------- engines/clearlooks/src/clearlooks_draw_glossy.c | 2 +- engines/clearlooks/src/clearlooks_draw_inverted.c | 42 +----------- engines/clearlooks/src/clearlooks_types.h | 7 +- 5 files changed, 66 insertions(+), 72 deletions(-) commit a77fb500fc39b8b91ffded74e7703a8ac4af92e9 Author: Benjamin Berg Date: Sun Apr 15 17:34:24 2007 +0000 Replaced two // comments with /* */ ones. Fixes crux build for me. 2007-04-15 Benjamin Berg * engines/crux/src/crux-draw.c: Replaced two // comments with /* */ ones. Fixes crux build for me. svn path=/trunk/; revision=668 ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit 651d7e96239b745055b1cc7b71667cd5ba6429a1 Author: Benjamin Berg Date: Sun Apr 15 17:28:21 2007 +0000 Remove some unneccessary casts that break build on Solaris. Patch from 2007-04-15 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_inverted.c: Remove some unneccessary casts that break build on Solaris. Patch from Damien Carbery, bug #428772. svn path=/trunk/; revision=667 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 4 ++-- engines/clearlooks/src/clearlooks_draw_inverted.c | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) commit 94475a2f7e2d107d79c869f5f4173df4e6c4a369 Author: Benjamin Berg Date: Sun Apr 15 17:10:20 2007 +0000 Use the correct colors for the radio bullet. (Bug #429730, Tiago 2007-04-15 Benjamin Berg * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_option): Use the correct colors for the radio bullet. (Bug #429730, Tiago Cogumbreiro) svn path=/trunk/; revision=666 ChangeLog | 7 +++++++ engines/redmond/src/redmond_gtk2_drawing.c | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) commit f52929d20647146efdc778df153b34ac72c7d376 Author: Benjamin Berg Date: Sun Apr 15 16:55:15 2007 +0000 Changes to the radius of the radio button and the bullet. (Bug #429761, 2007-04-15 Benjamin Berg * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_option): Changes to the radius of the radio button and the bullet. (Bug #429761, Tiago Cogumbreiro) * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_extension): Better fake the original redmond tabs. (Bug #430012, Tiago Cogumbreiro) * themes/Redmond/gtk-2.0/gtkrc: - Set appears-as-list mode for GtkComboBox (Bug #429988, Tiago Cogumbreiro) - Set tab-overlap to 4 pixel. svn path=/trunk/; revision=665 ChangeLog | 15 +++++++++++++ engines/redmond/src/redmond_gtk2_drawing.c | 31 +++++++++++++++++++++++---- themes/Redmond/gtk-2.0/gtkrc | 2 + 3 files changed, 43 insertions(+), 5 deletions(-) commit 0284715267b97d5052e4bb25158d8380f3a321dc Author: Thomas Wood Date: Sun Apr 15 11:09:36 2007 +0000 Add hu translation to LINGUAS 2007-04-15 Thomas Wood * LINGUAS: Add hu translation to LINGUAS svn path=/trunk/; revision=664 po/ChangeLog | 4 ++++ po/LINGUAS | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) commit f6eecc19e3fba764559f9da6653ad470bf949a52 Author: Gintautas Miliauskas Date: Thu Apr 12 07:37:14 2007 +0000 Added Lithuanian translation. Added Lithuanian (lt) to the list. 2007-04-12 Gintautas Miliauskas * lt.po: Added Lithuanian translation. * LINGUAS: Added Lithuanian (lt) to the list. svn path=/trunk/; revision=663 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/lt.po | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 159 insertions(+), 0 deletions(-) commit 4f2b1f46bbe1c6afc5c5b68da63fbddd3c64cc3c Author: Thomas Wood Date: Tue Apr 10 23:54:06 2007 +0000 Updated for 2.10.1 2007-04-11 Thomas Wood * NEWS: * configure.ac: Updated for 2.10.1 * themes/Clearlooks/gtk-2.0/gtkrc: Remove seperate styling of tooltips. Fixes bug 412982. svn path=/trunk/; revision=660 ChangeLog | 9 +++++++++ NEWS | 11 +++++++++++ configure.ac | 2 +- engines/clearlooks/src/config.h.in | 21 +++++++++++++++++++++ themes/Clearlooks/gtk-2.0/gtkrc | 10 ---------- 5 files changed, 42 insertions(+), 11 deletions(-) commit 4dae3dc081e206c1abf1da2a022be56595a2e34e Author: Andrea Cimitan Date: Tue Apr 10 21:59:37 2007 +0000 Fixes to thickness 2007-04-10 Andrea Cimitan * themes/Clearlooks/gtk-2.0/gtkrc: Fixes to thickness svn path=/trunk/; revision=659 ChangeLog | 7 ++++++- themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) commit ec30ebb8bd972cb11d9c3e9be5215340b48224e1 Author: Priit Laes Date: Tue Apr 10 20:54:02 2007 +0000 Added Estonian translation by Ivar Smolin . Added Estonian 2007-04-12 Priit Laes * et.po: Added Estonian translation by Ivar Smolin . * LINGUAS: Added Estonian (et) to the list. svn path=/trunk/; revision=658 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/et.po | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 157 insertions(+), 0 deletions(-) commit 85adbc527204a89a49a3633921e507f06f222264 Author: Gabor Kelemen Date: Mon Apr 9 08:24:16 2007 +0000 Translation added. 2007-04-09 Gabor Kelemen * hu.po: Translation added. svn path=/trunk/; revision=657 po/ChangeLog | 4 ++ po/hu.po | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) commit a18c1c0d1fb07197cf3dd211f3e5e40fac5cceb0 Author: Andrea Cimitan Date: Sun Apr 8 23:42:32 2007 +0000 Trying to improve menuitems, following old clearlooks style. Changed 2007-04-08 Andrea Cimitan,,, * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem), (clearlooks_draw_menubaritem): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_menuitem), (clearlooks_inverted_draw_menubaritem): * themes/Clearlooks/gtk-2.0/gtkrc: Trying to improve menuitems, following old clearlooks style. Changed thickness of menuitems in Clearlooks's gtkrc. svn path=/trunk/; revision=656 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_draw.c | 12 +++++++----- engines/clearlooks/src/clearlooks_draw_inverted.c | 12 +++++++----- themes/Clearlooks/gtk-2.0/gtkrc | 4 ++-- 4 files changed, 27 insertions(+), 12 deletions(-) commit 10528c5ee0ccadc7fcd89485e80930c9e817d80a Author: Thomas Wood Date: Fri Apr 6 14:54:03 2007 +0000 Remove the use of some fixed colours and shading 2007-04-06 Thomas Wood * engines/crux/src/crux-draw.c: (paint_button), (paint_shadow), (paint_entry_shadow), (paint_scrollbar_trough), (paint_scale_trough), (paint_progress_bar), (draw_arrow), (draw_check), (draw_option), (draw_box_gap), (draw_extension), (draw_focus), (draw_slider): Remove the use of some fixed colours and shading svn path=/trunk/; revision=655 ChangeLog | 8 +++ engines/crux/src/crux-draw.c | 122 ++++++++++++++++++++++++++---------------- 2 files changed, 84 insertions(+), 46 deletions(-) commit 84d97a3676bb0ecc8fdad1b9fb8448cb6cc91c93 Author: Leonardo Ferreira Fontenelle Date: Tue Apr 3 22:43:21 2007 +0000 Fix in Brazilian Portuguese translation. 2007-04-03 Leonardo Ferreira Fontenelle * pt_BR.po: Fix in Brazilian Portuguese translation. svn path=/trunk/; revision=654 po/ChangeLog | 4 ++++ po/pt_BR.po | 11 ++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) commit 59e941824cb6404f95b4a5b53e1aa267729c8000 Author: Amanpreet Singh Alam Date: Tue Apr 3 02:16:04 2007 +0000 adding Punjabi Language svn path=/trunk/; revision=653 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/pa.po | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 157 insertions(+), 0 deletions(-) commit 9b530abadfb1a6147c56181430288dfb5e4dce5b Author: Leonardo Ferreira Fontenelle Date: Sun Apr 1 21:58:25 2007 +0000 Added pt_BR. Added Brazilian Portuguese translation by Washington Ferreira 2007-04-01 Leonardo Ferreira Fontenelle * LINGUAS: Added pt_BR. * pt_BR.po: Added Brazilian Portuguese translation by Washington Ferreira Lins Neto and me, Leonardo Ferreira Fontenelle . svn path=/trunk/; revision=652 po/ChangeLog | 7 +++ po/LINGUAS | 1 + po/pt_BR.po | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+), 0 deletions(-) commit 6646ca67d33814aa75834faee2b8de85719988bf Author: Benjamin Berg Date: Sun Apr 1 21:29:22 2007 +0000 Fix appears-as-list mode of GtkComboBox: 2007-04-01 Benjamin Berg Fix appears-as-list mode of GtkComboBox: * engines/support/widget-information.c: (ge_combo_box_is_using_list): * engines/support/widget-information.h: Fixed ge_combo_box_is_using_list and make it privat * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow): * themes/Clearlooks/gtk-2.0/gtkrc: Add a workaround for GtkComboBox as it uses a GtkFrame instead of an entry. svn path=/trunk/; revision=651 ChangeLog | 15 +++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 7 ++++--- engines/support/widget-information.c | 8 ++++---- engines/support/widget-information.h | 2 -- themes/Clearlooks/gtk-2.0/gtkrc | 2 ++ 5 files changed, 25 insertions(+), 9 deletions(-) commit f66eba23738c4a22fbf7d7b8caeaf85b6fdd1b3b Author: Benjamin Berg Date: Sun Apr 1 21:11:06 2007 +0000 Rework the arrow drawing: - Always use clearlooks arrows (Fixes Bug 2007-04-01 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_normal_arrow), (clearlooks_draw_combo_arrow), (_clearlooks_draw_arrow), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_arrow), (clearlooks_style_realize): * engines/clearlooks/src/clearlooks_types.h: Rework the arrow drawing: - Always use clearlooks arrows (Fixes Bug #412647) - Use foreground color instead of text - New scalable arrow design, no fixed sizes anymore svn path=/trunk/; revision=650 ChangeLog | 13 +++++ engines/clearlooks/src/clearlooks_draw.c | 76 ++++++++++++++--------------- engines/clearlooks/src/clearlooks_style.c | 45 ++++++++--------- engines/clearlooks/src/clearlooks_types.h | 1 + 4 files changed, 73 insertions(+), 62 deletions(-) commit 0f6b22bc10da4db8b9ae4f08e3027d1bbc1009f9 Author: Claudio Saavedra Date: Thu Mar 29 18:39:22 2007 +0000 Add 'es'. Added Spanish translation by Jorge González. 2007-03-29 Claudio Saavedra * LINGUAS: Add 'es'. * es.po: Added Spanish translation by Jorge González. svn path=/trunk/; revision=649 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/es.po | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 162 insertions(+), 0 deletions(-) commit 152e361edae5d8e3e2a288e201c20149bfc97c32 Author: Changwoo Ryu Date: Thu Mar 29 00:36:05 2007 +0000 Added 'ko' (Korean). Added Korean translation. 2007-03-29 Changwoo Ryu * LINGUAS: Added 'ko' (Korean). * ko.po: Added Korean translation. svn path=/trunk/; revision=648 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/ko.po | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 153 insertions(+), 0 deletions(-) commit b7d506f93389b6ca4bec177e1ca842cc6d589fa3 Author: Maxim Dziumanenko Date: Wed Mar 28 11:49:37 2007 +0000 Update Ukrainian translation. 2007-03-28 Maxim Dziumanenko * Update Ukrainian translation. svn path=/trunk/; revision=647 po/uk.po | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 149 insertions(+), 0 deletions(-) commit cdc3e2baffab70e48f7a6dfb80e986514d007b76 Author: Maxim Dziumanenko Date: Wed Mar 28 11:24:24 2007 +0000 Add Ukrainian translation 2007-03-28 Maxim Dziumanenko * Add Ukrainian translation svn path=/trunk/; revision=646 po/ChangeLog | 5 +++++ po/LINGUAS | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) commit 301611ce9ed3831d9ef3b2e268f77d0e7e652f1b Author: Benjamin Berg Date: Wed Mar 28 00:13:09 2007 +0000 Copy the style. This fixes a bug where the CLASSIC style is used instead 2007-03-28 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_copy): Copy the style. This fixes a bug where the CLASSIC style is used instead of the user specified one. Reported by Andrea Cimitan. svn path=/trunk/; revision=645 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 1 + 2 files changed, 8 insertions(+), 0 deletions(-) commit a2494bada7f364f6eaa3aefef5230f3a4c023ec8 Author: Peter Bach Date: Sun Mar 25 21:52:33 2007 +0000 Updated Danish translation svn path=/trunk/; revision=644 po/da.po | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 70b7de5fbe422d57ed2a3b4ff22b5b28437d5d91 Author: Peter Bach Date: Sat Mar 24 15:03:20 2007 +0000 Added Danish translation svn path=/trunk/; revision=643 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/da.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 0 deletions(-) commit c57d5341f89ba385d94237bc02253d8dae05ad71 Author: Jovan Naumovski Date: Wed Mar 21 13:58:11 2007 +0000 2007-03-21 Jovan Naumovski *mk.po: Added Macedonian translation. svn path=/trunk/; revision=642 po/LINGUAS | 1 + po/mk.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+), 0 deletions(-) commit 1cbb18457221a33a1491e1951fee5ff26c9f9bd2 Author: Jovan Naumovski Date: Wed Mar 21 13:57:18 2007 +0000 2007-03-21 Jovan Naumovski *mk.po: Updated Macedonian translation. svn path=/trunk/; revision=641 po/ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 3dea0c8f3d9ddf307409639789e6ec385f454595 Author: Alexander Shopov Date: Wed Mar 21 05:28:14 2007 +0000 Added "bg" (Bulgarian). Added Bulgarian translation by Alexander Shopov 2007-03-21 Alexander Shopov * LINGUAS: Added "bg" (Bulgarian). * bg.po: Added Bulgarian translation by Alexander Shopov svn path=/trunk/; revision=640 po/ChangeLog | 6 ++ po/LINGUAS | 1 + po/bg.po | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 0 deletions(-) commit b6146858b7998009ed6277ccfc065c9672fe3235 Author: Stéphane Raimbault Date: Tue Mar 20 21:59:05 2007 +0000 Added 'fr'. Added French translation by Jonathan Ernst and Claude Paroz. 2007-03-20 Stéphane Raimbault * LINGUAS: Added 'fr'. * fr.po: Added French translation by Jonathan Ernst and Claude Paroz. svn path=/trunk/; revision=639 po/ChangeLog | 6 ++ po/LINGUAS | 1 + po/fr.po | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 161 insertions(+), 0 deletions(-) commit c4a3b6b21cd67dcd41dc7c0d963c5880a3fbb0a8 Author: Djihed Afifi Date: Tue Mar 20 12:59:48 2007 +0000 Updated Arabic Translation by Djihed Afifi. svn path=/trunk/; revision=638 po/ar.po | 79 ++++++++++++++++++++++++++++++++----------------------------- 1 files changed, 41 insertions(+), 38 deletions(-) commit 6539f5af459a94369e460f6e77d908a61084195d Author: Djihed Afifi Date: Tue Mar 20 12:40:10 2007 +0000 Updated Arabic Translation by . svn path=/trunk/; revision=637 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/ar.po | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 154 insertions(+), 0 deletions(-) commit ceee6d200bb0d3a3315ddbf10192e082fd911cba Author: Ignacio Casal Quinteiro Date: Tue Mar 20 11:23:06 2007 +0000 Added Galician Translation svn path=/trunk/; revision=636 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/gl.po | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 0 deletions(-) commit d04edb960aad4cfc4a34a8139d174f8c71ccbc26 Author: Josep Puigdemont i Casamajó Date: Tue Mar 20 07:47:55 2007 +0000 Added Catalan translation by Gil Forcada and Sílvia Miranda. svn path=/trunk/; revision=635 po/ChangeLog | 7 +++ po/LINGUAS | 1 + po/ca.po | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 163 insertions(+), 0 deletions(-) commit ed3c09a94f77b9fe32ad5007d9394bbb7c5b047f Author: Ankitkumar Rameshchandra Patel Date: Tue Mar 20 06:06:22 2007 +0000 Added Gujarati Translations svn path=/trunk/; revision=634 po/ChangeLog | 8 +++ po/LINGUAS | 1 + po/gu.po | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+), 0 deletions(-) commit 9e0bb8d8ca933d67258afb37b8674802fe21cc3e Author: Duarte Loreto Date: Mon Mar 19 23:20:18 2007 +0000 Added Portuguese translation. Added Portuguese (pt). 2007-03-19 Duarte Loreto * pt.po: Added Portuguese translation. * LINGUAS: Added Portuguese (pt). svn path=/trunk/; revision=633 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/pt.po | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 154 insertions(+), 0 deletions(-) commit 646a7062563ba37bd67e7f217179d92067092e1a Author: Daniel Nylander Date: Mon Mar 19 21:51:52 2007 +0000 sv.po: Added Swedish translation svn path=/trunk/; revision=632 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/sv.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 0 deletions(-) commit 85e177266ea7ad514be0a442e2d1a334b8ddc745 Author: Pema Geyleg Date: Mon Mar 19 03:57:43 2007 +0000 Added dzongkha translation svn path=/trunk/; revision=631 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/dz.po | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+), 0 deletions(-) commit 3bb9e31061c8ecd67b32b11bb41b9c845bc6ae1b Author: Thomas Wood Date: Wed Mar 14 23:52:12 2007 +0000 More tweaks to scrollbar shading from Andrea Cimitan 2007-03-14 Thomas Wood * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider): More tweaks to scrollbar shading from Andrea Cimitan svn path=/trunk/; revision=630 ChangeLog | 7 +++++ engines/clearlooks/src/clearlooks_draw.c | 37 ++++++++++++++++++----------- 2 files changed, 30 insertions(+), 14 deletions(-) commit 821676a9e3fb7cc6f9e86e3315589974971d3ea0 Author: Thomas Wood Date: Mon Mar 12 23:26:21 2007 +0000 Updated for 2.10.0 release 2007-03-12 Thomas Wood * NEWS: * configure.ac: Updated for 2.10.0 release * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_inverted.c: Minor tweaks to scrollbar shading from Andrea Cimitan svn path=/trunk/; revision=628 ChangeLog | 10 +++++++++ NEWS | 8 +++++++ configure.ac | 2 +- engines/clearlooks/src/clearlooks_draw.c | 20 +++++++++--------- engines/clearlooks/src/clearlooks_draw_inverted.c | 23 ++++++++++----------- 5 files changed, 40 insertions(+), 23 deletions(-) commit 4810802e2674c2a40c1fd2e5c5a175520e7f5ab6 Author: David Lodge Date: Mon Mar 12 07:06:44 2007 +0000 Updated en_GB translation svn path=/trunk/; revision=627 po/ChangeLog | 5 ++ po/LINGUAS | 1 + po/en_GB.po | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 0 deletions(-) commit a2a4637f18ea46e40e3b76a1d9a41a1301de5341 Author: Benjamin Berg Date: Sun Mar 11 22:13:15 2007 +0000 The cairo stroking performance bug has been fixed for a while. So removing 2007-03-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_inset): * engines/support/cairo-support.c: (ge_cairo_stroke_rectangle), (ge_cairo_simple_border): The cairo stroking performance bug has been fixed for a while. So removing the workaround again. svn path=/trunk/; revision=626 ChangeLog | 11 ++++ engines/clearlooks/src/clearlooks_draw.c | 10 ---- engines/clearlooks/src/clearlooks_draw_inverted.c | 10 ---- engines/support/cairo-support.c | 58 +-------------------- 4 files changed, 13 insertions(+), 76 deletions(-) commit c74d83ed64ef810e2175612ed5d020059591e82b Author: Wouter Bolsterlee Date: Sun Mar 11 14:27:12 2007 +0000 Added nl. 2007-03-11 Wouter Bolsterlee * LINGUAS: Added nl. svn path=/trunk/; revision=625 po/ChangeLog | 4 ++++ po/LINGUAS | 4 +++- 2 files changed, 7 insertions(+), 1 deletions(-) commit e92b0d4053911c99e7e8e2a4c09bc3d227d250dc Author: Wouter Bolsterlee Date: Sun Mar 11 13:44:42 2007 +0000 Define GETTEXT_PACKAGE. 2007-03-11 Wouter Bolsterlee * configure.ac: Define GETTEXT_PACKAGE. svn path=/trunk/; revision=624 ChangeLog | 4 ++++ configure.ac | 3 +++ 2 files changed, 7 insertions(+), 0 deletions(-) commit 296161061d9a78af70af4715c54d55e48a028148 Author: Wouter Bolsterlee Date: Sun Mar 11 13:41:08 2007 +0000 Initial Dutch translation by Wouter Bolsterlee. 2007-03-11 Wouter Bolsterlee * nl.po: Initial Dutch translation by Wouter Bolsterlee. svn path=/trunk/; revision=623 po/ChangeLog | 6 ++- po/nl.po | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 157 insertions(+), 1 deletions(-) commit 53cdaa22fdd5ccd5fe2e7c5f7980d3d3dbd9a0d1 Author: Benjamin Berg Date: Mon Mar 5 21:10:40 2007 +0000 Use "yes" instead of $defaultval for the schemas option. 2007-03-05 Benjamin Berg * configure.ac: Use "yes" instead of $defaultval for the schemas option. svn path=/trunk/; revision=622 ChangeLog | 5 +++++ configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 8ae6113a3fba8927d8388c43dbed582303a9d19d Author: Benjamin Berg Date: Mon Mar 5 20:49:14 2007 +0000 List *.xml.in.in in EXTRA_DIST, so that make dist is also possible if an 2007-03-05 Benjamin Berg * schema/Makefile.am: List *.xml.in.in in EXTRA_DIST, so that make dist is also possible if an engine is disabled. Also removed the ChangeLog from the schema directory. svn path=/trunk/; revision=621 ChangeLog | 8 ++++++++ schema/ChangeLog | 15 --------------- schema/Makefile.am | 13 +++++++++++-- 3 files changed, 19 insertions(+), 17 deletions(-) commit 9ae32f3fa944cb4cd84b71ec7441ff9a1c55a576 Author: Benjamin Berg Date: Mon Mar 5 20:45:59 2007 +0000 Fix make distcheck: 2007-03-05 Benjamin Berg Fix make distcheck: * POTFILES.in: * POTFILES.skip: List schema/*.xml.in.in in POTFILES.in and list schema/*.xml.in in POTFILES.skip. Also needed to add this ChangeLog. svn path=/trunk/; revision=620 po/ChangeLog | 11 +++++++++++ po/POTFILES.in | 18 +++++++++--------- po/POTFILES.skip | 9 +++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) commit 389634a4045797aa03172962c4990040c0a7b3d5 Author: Benjamin Berg Date: Mon Mar 5 00:28:18 2007 +0000 Remove the "foo" color. 2007-03-05 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: Remove the "foo" color. svn path=/trunk/; revision=619 ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 88c8c5a6b8104e1ba95472348564e884fb149e09 Author: Thomas Wood Date: Sun Mar 4 19:14:58 2007 +0000 Patch by: Werner Pantke 2007-03-04 Thomas Wood Patch by: Werner Pantke * .cvsignore: * schema/*: * Makefile.am: * autogen.sh: * configure.ac: * po/*: Patch from Werner Pantke to add xml descriptions of engine options. svn path=/trunk/; revision=618 .cvsignore | 3 + ChangeLog | 13 ++++ Makefile.am | 12 +++- autogen.sh | 10 +++ configure.ac | 54 ++++++++++++++++ po/LINGUAS | 1 + po/POTFILES.in | 9 +++ po/de.po | 149 +++++++++++++++++++++++++++++++++++++++++++ schema/ChangeLog | 15 ++++ schema/Makefile.am | 11 +++ schema/clearlooks.xml.in.in | 50 ++++++++++++++ schema/crux.xml.in.in | 27 ++++++++ schema/glide.xml.in.in | 15 ++++ schema/hc.xml.in.in | 30 +++++++++ schema/industrial.xml.in.in | 38 +++++++++++ schema/mist.xml.in.in | 19 ++++++ schema/redmond.xml.in.in | 19 ++++++ schema/smooth.xml.in.in | 15 ++++ schema/thinice.xml.in.in | 108 +++++++++++++++++++++++++++++++ 19 files changed, 596 insertions(+), 2 deletions(-) commit ac5362499795e1e1d817fcdebb0c98692dd6a745 Author: Benjamin Berg Date: Sat Mar 3 11:43:04 2007 +0000 List subdirectories in DIST_SUBDIRS. 2007-03-03 Benjamin Berg * themes/Makefile.am: List subdirectories in DIST_SUBDIRS. svn path=/trunk/; revision=617 ChangeLog | 5 +++++ themes/Makefile.am | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit 9a55ac94f39945313f7b6172b943e3eaa29e1072 Author: Benjamin Berg Date: Sat Mar 3 11:32:01 2007 +0000 - Make gtk-engines compile with --enable-paranoia set. - Don't use the 2007-03-03 Benjamin Berg * engines/clearlooks/src/animation.c: * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_inverted.c: * engines/clearlooks/src/clearlooks_style.c: * engines/crux/src/crux-draw.c: (draw_box): * engines/industrial/src/parse_rc_style.h: * engines/support/cairo-support.c: * test/Makefile.am: * test/torturetest.c: - Make gtk-engines compile with --enable-paranoia set. - Don't use the development cflags for the torture test. The string constants are too long and gcc complains. * engines/glide/src/glide_gtk2_support.c: Fixed some typos. A wrong variable was used in some comparisons and the result could never be true. svn path=/trunk/; revision=616 ChangeLog | 22 +++++++++++++++++++++ engines/clearlooks/src/animation.c | 5 ++- engines/clearlooks/src/clearlooks_draw.c | 22 ++++++++++---------- engines/clearlooks/src/clearlooks_draw_glossy.c | 16 ++++++++++---- engines/clearlooks/src/clearlooks_draw_inverted.c | 16 ++++++-------- engines/clearlooks/src/clearlooks_style.c | 7 +++++- engines/crux/src/crux-draw.c | 1 - engines/glide/src/glide_gtk2_support.c | 8 +++--- engines/industrial/src/parse_rc_style.h | 2 +- engines/support/cairo-support.c | 2 +- test/Makefile.am | 2 +- test/torturetest.c | 6 ++-- 12 files changed, 70 insertions(+), 39 deletions(-) commit 5ab7c4486ed1f3157975559196283e082ab618c4 Author: Thomas Wood Date: Mon Feb 26 23:33:08 2007 +0000 Update for 2.9.4 release 2007-02-26 Thomas Wood * NEWS: * configure.ac: Update for 2.9.4 release svn path=/trunk/; revision=614 ChangeLog | 7 +++++++ NEWS | 18 +++++++++++++++++- configure.ac | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) commit b34d3791892f205b42ceae8e4e18148c78194e76 Author: Thomas Wood Date: Mon Feb 26 23:15:58 2007 +0000 Revert the checkbox mark style from a tick to a cross 2007-02-26 Thomas Wood * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_checkbox): Revert the checkbox mark style from a tick to a cross svn path=/trunk/; revision=613 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 16 ++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) commit 357b0205bfa47445cedc3509e3b6b57481037837 Author: Benjamin Berg Date: Sun Feb 25 21:29:03 2007 +0000 - Use quarks with the engines name in them. - Don't free thinice's RC 2007-02-25 Benjamin Berg * engines/mist/src/mist-rc-style.c: (mist_rc_style_parse): * engines/thinice/src/thinice_rc_style.c: (thinice_rc_style_parse): - Use quarks with the engines name in them. - Don't free thinice's RC style on parse failure. GTK+ will take care of that. (Thanks to Werner Pantke for reporting) svn path=/trunk/; revision=612 ChangeLog | 8 ++++++++ engines/mist/src/mist-rc-style.c | 2 +- engines/thinice/src/thinice_rc_style.c | 4 +--- 3 files changed, 10 insertions(+), 4 deletions(-) commit a83642bec90786d74de62ec7f45d3d15ffd7518d Author: Benjamin Berg Date: Tue Feb 20 21:38:35 2007 +0000 - Do not use the real active state of the widget. Instead use the passed 2007-02-20 Benjamin Berg * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_box): - Do not use the real active state of the widget. Instead use the passed in state type. This fixes inconsistent toggle buttons. svn path=/trunk/; revision=611 ChangeLog | 6 ++++++ engines/redmond/src/redmond_gtk2_drawing.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 176ec65eb28f4a74c80a8bd4d620b2eb9f3fbf3a Author: Benjamin Berg Date: Tue Feb 20 21:31:13 2007 +0000 - cairo_mask ignores the current path, so we need to clip the rectangle or 2007-02-20 Benjamin Berg * engines/redmond/src/redmond_gtk2_misc.c: (do_redmond_draw_masked_fill): - cairo_mask ignores the current path, so we need to clip the rectangle or everything gets filled. svn path=/trunk/; revision=610 ChangeLog | 7 +++++++ engines/redmond/src/redmond_gtk2_misc.c | 3 +++ 2 files changed, 10 insertions(+), 0 deletions(-) commit 59538f14deb34af944e5cea3d49c24ca7306b86a Author: Benjamin Berg Date: Tue Feb 20 21:27:45 2007 +0000 Remove ge_toggle_get_inconsistent and 2007-02-20 Benjamin Berg * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_check), (glide_draw_option): * engines/hc/src/hc-style.c: (hc_draw_check), (hc_draw_option): * engines/mist/src/mist-style.c: (mist_style_draw_option): * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_check), (redmond_draw_option): * engines/smooth/src/engine/smooth_gtk2_drawing.c: (smooth_draw_option), (smooth_draw_check): * engines/support/widget-information.c: * engines/support/widget-information.h: Remove ge_toggle_get_inconsistent and ge_cell_renderer_toggle_get_inconsistent, instead rely on the passed in shadow type. svn path=/trunk/; revision=609 ChangeLog | 17 ++ engines/glide/src/glide_gtk2_drawing.c | 34 ++--- engines/hc/src/hc-style.c | 43 +++--- engines/mist/src/mist-style.c | 42 ++--- engines/redmond/src/redmond_gtk2_drawing.c | 202 ++++++++++------------ engines/smooth/src/engine/smooth_gtk2_drawing.c | 16 +- engines/support/widget-information.c | 19 -- engines/support/widget-information.h | 3 - 8 files changed, 165 insertions(+), 211 deletions(-) commit 535a3edcbbe7dac3a24d04ac77ec5857ec8be227 Author: Benjamin Berg Date: Mon Feb 19 13:05:22 2007 +0000 - Change valgrind options - Set some enviroment variables for glib to make 2007-02-19 Benjamin Berg * test/Makefile.am: * test/valgrind-suppressions: - Change valgrind options - Set some enviroment variables for glib to make it more valgrind friendly - some modifications to the suppressions file svn path=/trunk/; revision=608 ChangeLog | 9 +++++++++ test/Makefile.am | 7 ++++--- test/valgrind-suppressions | 38 +++++++------------------------------- 3 files changed, 20 insertions(+), 34 deletions(-) commit 71750ff3105f9915183684f1773819c1da02ce60 Author: Benjamin Berg Date: Sun Feb 18 13:29:06 2007 +0000 - Add clearlooks inverted style to the tests. 2007-02-18 Benjamin Berg * test/Makefile.am: * test/gtkrcs/clearlooks-inverted: - Add clearlooks inverted style to the tests. svn path=/trunk/; revision=607 ChangeLog | 6 ++++++ test/Makefile.am | 1 + test/gtkrcs/clearlooks-inverted | 9 +++++++++ 3 files changed, 16 insertions(+), 0 deletions(-) commit 4e0ba9bf7173699d55d4e419180ba3a20315df33 Author: Benjamin Berg Date: Sat Feb 17 21:29:41 2007 +0000 Patch from Andrea Cimitan : 2007-02-17 Benjamin Berg Patch from Andrea Cimitan : * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_slider), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider), (clearlooks_draw_radiobutton), (clearlooks_draw_checkbox): * engines/clearlooks/src/clearlooks_draw_inverted.c: (clearlooks_inverted_draw_button), (clearlooks_inverted_draw_slider), (clearlooks_inverted_draw_list_view_header), (clearlooks_inverted_draw_scrollbar_stepper), (clearlooks_inverted_draw_scrollbar_slider), (clearlooks_inverted_draw_selected_cell): - Color, shading and style changes - Removal of some comments and other small changes - Use text[NORMAL] for ACTIVE checkmarks. (Fixes Bug #407440) svn path=/trunk/; revision=606 ChangeLog | 21 ++++++ engines/clearlooks/src/clearlooks_draw.c | 32 +++------ engines/clearlooks/src/clearlooks_draw_inverted.c | 72 ++++++-------------- 3 files changed, 53 insertions(+), 72 deletions(-) commit ed9726077ffb362eb9105d2bbe60476187f0fe06 Author: Benjamin Berg Date: Tue Feb 13 15:25:33 2007 +0000 - Skip toreture tests if buildin fails (eg. no X server or crashes in 2007-02-13 Benjamin Berg * test/Makefile.am: * test/exported: * test/torture: - Skip toreture tests if buildin fails (eg. no X server or crashes in GTK+) - Minor changes svn path=/trunk/; revision=605 ChangeLog | 9 +++++++++ test/Makefile.am | 1 + test/exported | 7 ++----- test/torture | 41 ++++++++++++++++++++++++++++++++++++----- 4 files changed, 48 insertions(+), 10 deletions(-) commit f6e3b7452709293ccdfcea011ed2fde724ac1704 Author: Thomas Wood Date: Tue Feb 13 01:28:59 2007 +0000 Updated for 2.9.3 2007-02-13 Thomas Wood * NEWS: * configure.ac: Updated for 2.9.3 svn path=/trunk/; revision=604 ChangeLog | 7 +++++++ NEWS | 11 +++++++++++ configure.ac | 2 +- 3 files changed, 19 insertions(+), 1 deletions(-) commit f8fffcc062b693dc23d34e2f43228d581edb1483 Author: Thomas Wood Date: Tue Feb 13 01:15:25 2007 +0000 Based on patch by: Andrea Cimitan 2007-02-13 Thomas Wood Based on patch by: Andrea Cimitan * engines/clearlooks/Makefile.am: * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_draw_glossy.c: * engines/clearlooks/src/clearlooks_draw_inverted.c: * engines/clearlooks/src/clearlooks_rc_style.c: * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_types.h: - Changes to checkbox style (use cross rather than tick mark) - Use text[] colour for radio and check marks - Improve arrows style (more similar to original Clearlooks) - Improve borders, treeview selection and scrollbar style - Added new INVERTED style option - Also includes many c90 fixes by Thomas Wood svn path=/trunk/; revision=603 ChangeLog | 22 + engines/clearlooks/Makefile.am | 1 + engines/clearlooks/src/clearlooks_draw.c | 297 ++++-- engines/clearlooks/src/clearlooks_draw.h | 1 + engines/clearlooks/src/clearlooks_draw_glossy.c | 10 +- engines/clearlooks/src/clearlooks_draw_inverted.c | 1084 +++++++++++++++++++++ engines/clearlooks/src/clearlooks_rc_style.c | 7 +- engines/clearlooks/src/clearlooks_rc_style.h | 2 +- engines/clearlooks/src/clearlooks_style.c | 70 ++- engines/clearlooks/src/clearlooks_types.h | 14 +- 10 files changed, 1406 insertions(+), 102 deletions(-) commit 31228773f856371936e18803b53edd0acd7a58a9 Author: Thomas Wood Date: Mon Feb 12 23:29:18 2007 +0000 Use exit rather than return 2007-02-12 Thomas Wood * test/torture: Use exit rather than return svn path=/trunk/; revision=602 ChangeLog | 4 ++++ test/torture | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit 057fbe8e174ebadf695b0a6149b422010d81c512 Author: Benjamin Berg Date: Mon Feb 12 16:18:58 2007 +0000 - Mark some things static/GE_INTERNAL 2007-02-12 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/crux/src/crux-draw.c: * engines/glide/src/glide_gtk2_drawing.h: * engines/hc/src/hc_gtk2_engine.c: - Mark some things static/GE_INTERNAL * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.h: - Two functions got defined with the wrong name (prefix was missing) * engines/smooth/src/engine/smooth_gtk2_drawing.c: (smooth_draw_option), (smooth_draw_check): * engines/smooth/src/engine/smooth_gtk2_misc.c: - Remove gtk_cell_renderer_toggle_get_inconsistent in favor of ge_cell_renderer_toggle_get_inconsistent. svn path=/trunk/; revision=601 ChangeLog | 17 +++++++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- engines/crux/src/crux-draw.c | 2 +- engines/glide/src/glide_gtk2_drawing.h | 2 +- engines/hc/src/hc_gtk2_engine.c | 2 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 8 ++++---- engines/smooth/src/engine/smooth_gtk2_drawing.c | 5 +++-- engines/smooth/src/engine/smooth_gtk2_misc.c | 9 --------- 8 files changed, 28 insertions(+), 19 deletions(-) commit 074c6edc28dc90fed6ff8b0a8f5642a8404f5b8d Author: Benjamin Berg Date: Mon Feb 12 16:11:39 2007 +0000 - Remove debug.c and debug.h. 2007-02-12 Benjamin Berg * engines/crux/Makefile.am: * engines/crux/src/crux-main.c: * engines/crux/src/crux-rc-style.c: * engines/crux/src/debug.c: * engines/crux/src/debug.h: - Remove debug.c and debug.h. svn path=/trunk/; revision=600 ChangeLog | 9 +++ engines/crux/Makefile.am | 2 - engines/crux/src/crux-main.c | 2 - engines/crux/src/crux-rc-style.c | 2 - engines/crux/src/debug.c | 109 -------------------------------------- engines/crux/src/debug.h | 7 --- 6 files changed, 9 insertions(+), 122 deletions(-) commit 8e9d49e17cb3aef63f6953bf409bd43fa78436a0 Author: Benjamin Berg Date: Mon Feb 12 16:00:26 2007 +0000 Add some "make check" stuff. I hope this is sane enough :-) 2007-02-12 Benjamin Berg * configure.ac: * Makefile.am: * test/*: Add some "make check" stuff. I hope this is sane enough :-) svn path=/trunk/; revision=599 ChangeLog | 7 + Makefile.am | 6 +- configure.ac | 1 + test/Makefile.am | 130 ++++++++++++ test/exported | 28 +++ test/gtkrcs/buildin | 7 + test/gtkrcs/clearlooks | 7 + test/gtkrcs/clearlooks-glossy | 9 + test/gtkrcs/crux | 7 + test/gtkrcs/glide | 7 + test/gtkrcs/hc | 7 + test/gtkrcs/industrial | 7 + test/gtkrcs/mist | 7 + test/gtkrcs/redmond | 7 + test/gtkrcs/smooth | 7 + test/gtkrcs/thinice | 7 + test/torture | 30 +++ test/torturetest.c | 462 +++++++++++++++++++++++++++++++++++++++++ test/valgrind-suppressions | 78 +++++++ 19 files changed, 820 insertions(+), 1 deletions(-) commit d843eb405cb4d226a85fe0463b13b1a45c78f675 Author: Thomas Wood Date: Sun Feb 11 23:17:04 2007 +0000 Patch by: Luca Ferretti 2007-02-11 Thomas Wood Patch by: Luca Ferretti * themes/Crux/gtk-2.0/gtkrc: Use symbollic colors. Fixes bug 399097. svn path=/trunk/; revision=598 ChangeLog | 6 +++++ themes/Crux/gtk-2.0/gtkrc | 54 ++++++++++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 25 deletions(-) commit cb75aa7200419fc1dc3feb73dd488d5f2d103366 Author: Thomas Wood Date: Sat Feb 3 00:28:13 2007 +0000 Based on patch by: Andrea Cimitan 2007-02-03 Thomas Wood Based on patch by: Andrea Cimitan * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_shadow), (clearlooks_draw_top_left_highlight), (clearlooks_draw_highlight_and_shade), (clearlooks_draw_gripdots), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_spinbutton), (clearlooks_draw_spinbutton_down), (clearlooks_scale_draw_gradient), (clearlooks_draw_scale_trough), (clearlooks_draw_slider), (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_menubar), (clearlooks_get_frame_gap_clip), (clearlooks_draw_frame), (clearlooks_draw_tab), (clearlooks_draw_separator), (clearlooks_draw_list_view_header), (clearlooks_draw_scrollbar_trough), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider), (clearlooks_draw_statusbar), (clearlooks_draw_menu_frame), (clearlooks_draw_handle), (clearlooks_draw_resize_grip), (clearlooks_draw_checkbox), (clearlooks_register_style_classic): * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_slider_button): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_vline), (clearlooks_style_draw_hline): * engines/clearlooks/src/clearlooks_types.h: - Use shading rather than hardcoded black and white values - Improved support for dark themes (fixes bug 333615) - All shadow functions now accept the colour parameter - New shadow for ACTIVE button state svn path=/trunk/; revision=597 ChangeLog | 34 +++ engines/clearlooks/src/clearlooks_draw.c | 260 +++++++++++++++-------- engines/clearlooks/src/clearlooks_draw_glossy.c | 4 +- engines/clearlooks/src/clearlooks_style.c | 12 +- engines/clearlooks/src/clearlooks_types.h | 9 +- 5 files changed, 222 insertions(+), 97 deletions(-) commit 9abe044f56c8a1ce2351623049e4d60549da5598 Author: Thomas Wood Date: Thu Feb 1 17:37:41 2007 +0000 Patch by: Andrea Cimitan 2007-02-01 Thomas Wood Patch by: Andrea Cimitan * autogen.sh: Add support for automake 1.10 * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_shadow), (clearlooks_draw_top_left_highlight), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_progressbar_trough), (clearlooks_draw_tab), (clearlooks_draw_scrollbar_trough), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider), (clearlooks_draw_radiobutton), (clearlooks_draw_checkbox): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap): Miscellaneous tweaks to colours and shading. svn path=/trunk/; revision=596 ChangeLog | 18 +++++ autogen.sh | 5 +- engines/clearlooks/src/clearlooks_draw.c | 119 +++++++++++++++-------------- engines/clearlooks/src/clearlooks_style.c | 2 +- 4 files changed, 86 insertions(+), 58 deletions(-) commit 51121bc17c5f92477d1f796769d631746df71b7c Author: Thomas Wood Date: Mon Jan 22 17:02:19 2007 +0000 Update for 2.9.2 release 2007-01-22 Thomas Wood * NEWS: * configure.ac: Update for 2.9.2 release svn path=/trunk/; revision=594 ChangeLog | 7 +++++++ NEWS | 18 ++++++++++++++++++ configure.ac | 2 +- 3 files changed, 26 insertions(+), 1 deletions(-) commit dfdf223877c5be0c194a76c69dc3b732317aba17 Author: Thomas Wood Date: Mon Jan 22 16:43:02 2007 +0000 Don't force icons to 22x22. Fixes bug 356426 2007-01-22 Thomas Wood * themes/Crux/gtk-2.0/gtkrc: Don't force icons to 22x22. Fixes bug 356426 svn path=/trunk/; revision=593 ChangeLog | 4 ++++ themes/Crux/gtk-2.0/gtkrc | 12 +++++------- 2 files changed, 9 insertions(+), 7 deletions(-) commit 3cec096c5b16fcd5c6fe19757f3ff9839ae175ca Author: Benjamin Berg Date: Wed Jan 17 21:06:07 2007 +0000 - Hightlight the correct side of the trough on vertical ranges. 2007-01-17 Benjamin Berg * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_box): - Hightlight the correct side of the trough on vertical ranges. svn path=/trunk/; revision=591 ChangeLog | 6 ++++++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) commit 6a07c8b9e6833b2f22ce292d49c5ca50b1b4e4c3 Author: Benjamin Berg Date: Wed Jan 17 20:56:04 2007 +0000 - Fix memory corruption in smooth (Bug #393312, Colin Leroy) 2007-01-17 Benjamin Berg * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: (smooth_arrow_merge): * engines/smooth/src/utils/draw_arrows.c: (SmoothCopyArrowPart): * engines/smooth/src/utils/draw_arrows.h: - Fix memory corruption in smooth (Bug #393312, Colin Leroy) svn path=/trunk/; revision=590 ChangeLog | 8 +++ .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 9 ++-- engines/smooth/src/utils/draw_arrows.c | 49 ++++++++++++++++++++ engines/smooth/src/utils/draw_arrows.h | 2 + 4 files changed, 64 insertions(+), 4 deletions(-) commit fc2cea44a4ecccbd6d1d58cde9293c5d5d274ca9 Author: Benjamin Berg Date: Thu Jan 11 21:48:49 2007 +0000 Fix RTL locales for real. 2007-01-11 Benjamin Berg * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_box): Fix RTL locales for real. svn path=/trunk/; revision=587 ChangeLog | 5 +++++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit edb8c344910fc6cfb566c657872242d9ac60d863 Author: Benjamin Berg Date: Thu Jan 11 21:27:11 2007 +0000 Correct RTL locales. 2007-01-11 Benjamin Berg * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_box): Correct RTL locales. svn path=/trunk/; revision=586 ChangeLog | 5 +++++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) commit c7acd15648fcb83f33fa613e9c5cf8467e8c0feb Author: Benjamin Berg Date: Thu Jan 11 20:54:32 2007 +0000 Fix division by zero bug in smooth (Bug 395193, Stuart Whitman) also 2007-01-11 Benjamin Berg * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_box): Fix division by zero bug in smooth (Bug 395193, Stuart Whitman) also switch the highlighted side for inverted scales svn path=/trunk/; revision=585 ChangeLog | 7 ++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 68 +++++++++++++---------- 2 files changed, 45 insertions(+), 30 deletions(-) commit 226970851e94f724d3af360ab1725e82f79be594 Author: Thomas Wood Date: Wed Jan 10 09:52:08 2007 +0000 Fix a spacing issue in the menus 2007-01-10 Thomas Wood * themes/Mist/gtk-2.0/gtkrc: Fix a spacing issue in the menus svn path=/trunk/; revision=584 ChangeLog | 4 ++++ themes/Mist/gtk-2.0/gtkrc | 3 +++ 2 files changed, 7 insertions(+), 0 deletions(-) commit 1dd6ec1fe1e1d35b7b51c02378baaefa6590b81b Author: Benjamin Berg Date: Tue Jan 9 18:00:49 2007 +0000 Some C89 fixes for lua from TFKyle. 2007-01-09 Benjamin Berg * engines/lua/src/draw_lib.c: (alpha), (shade): * engines/lua/src/lua_style.c: (lua_style_prepare_lua), (lua_style_prepare_cairo), (lua_style_close_cairo): Some C89 fixes for lua from TFKyle. svn path=/trunk/; revision=583 ChangeLog | 8 ++++++++ engines/lua/src/draw_lib.c | 6 ++++-- engines/lua/src/lua_style.c | 13 ++++++++----- 3 files changed, 20 insertions(+), 7 deletions(-) commit acc7eaa1d61848eedf52c24ddbd4a0d114de1eda Author: Benjamin Berg Date: Tue Jan 9 17:54:44 2007 +0000 - Draw the border around the whole menuitem including the sides. 2007-01-09 Benjamin Berg * engines/clearlooks/src/clearlooks_draw_glossy.c: (clearlooks_glossy_draw_menuitem): - Draw the border around the whole menuitem including the sides. svn path=/trunk/; revision=582 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw_glossy.c | 18 ++---------------- 2 files changed, 8 insertions(+), 16 deletions(-) commit 8b1d7069fee9f90196a8149f09e3475937733837 Author: Thomas Wood Date: Mon Jan 8 23:17:38 2007 +0000 Updated for 2.9.1 release 2007-01-08 Thomas Wood * NEWS: * configure.ac: Updated for 2.9.1 release svn path=/trunk/; revision=580 ChangeLog | 7 +++++++ NEWS | 18 ++++++++++++++++++ configure.ac | 2 +- 3 files changed, 26 insertions(+), 1 deletions(-) commit 94bfe86fa9ebe05eb63bcf932cd7d75b4604c065 Author: Benjamin Berg Date: Mon Jan 8 20:57:44 2007 +0000 - Add DIST_SUBDIRS with all subdirs. This fixes make distcheck. 2007-01-08 Benjamin Berg * engines/Makefile.am: - Add DIST_SUBDIRS with all subdirs. This fixes make distcheck. svn path=/trunk/; revision=579 ChangeLog | 5 +++++ engines/Makefile.am | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) commit da13799d612a63b6cca147cb66366b80d0d7acf2 Author: Benjamin Berg Date: Mon Jan 8 20:30:37 2007 +0000 - Added save/restore to _trough. - Sanity check for the radius in _trough. 2007-01-08 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill): - Added save/restore to _trough. - Sanity check for the radius in _trough. - Radius support for the fill. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): - Again adjust the clip region differently. Only one pixel now, but in both direction if it is pulsing. * engines/support/cairo-support.c: (ge_cairo_rounded_rectangle): - Use cairo_rectangle if no corner is set. - Fix bug causing too many warnings svn path=/trunk/; revision=578 ChangeLog | 18 ++++ engines/clearlooks/src/clearlooks_draw.c | 136 ++++++++++++++++++++--------- engines/clearlooks/src/clearlooks_style.c | 39 ++++++--- engines/support/cairo-support.c | 4 +- 4 files changed, 143 insertions(+), 54 deletions(-) commit 2610c2536e4c9169453385d3f5f4cc445f5996c1 Author: Benjamin Berg Date: Sun Jan 7 14:00:20 2007 +0000 Rename clearlooks_style_glossy.c to clearlooks_draw_glossy.c 2007-01-07 Benjamin Berg * engines/clearlooks/Makefile.am: * engines/clearlooks/src/clearlooks_draw_glossy.c: Rename clearlooks_style_glossy.c to clearlooks_draw_glossy.c svn path=/trunk/; revision=577 ChangeLog | 6 + engines/clearlooks/Makefile.am | 2 +- engines/clearlooks/src/clearlooks_draw_glossy.c | 699 ++++++++++++++++++++++ engines/clearlooks/src/clearlooks_style_glossy.c | 685 --------------------- 4 files changed, 706 insertions(+), 686 deletions(-) commit 3c6b8ef51e6784941715a131e733d678bda76c73 Author: Benjamin Berg Date: Sun Jan 7 13:57:04 2007 +0000 - Follow the radius option when drawing the trough. - Cleaned up 2007-01-07 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill): - Follow the radius option when drawing the trough. - Cleaned up progressbar_fill * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Adjust the clip region by 3 pixel instead of one. * themes/Clearlooks/gtk-2.0/gtkrc: - Set the radius to 1.5 for the progress bar. svn path=/trunk/; revision=576 ChangeLog | 15 ++++ engines/clearlooks/src/clearlooks_draw.c | 105 +++++++++++++---------------- engines/clearlooks/src/clearlooks_style.c | 8 +- themes/Clearlooks/gtk-2.0/gtkrc | 6 ++ 4 files changed, 72 insertions(+), 62 deletions(-) commit c1e51dde2d86f2707451d984aa6c2ec1671aeb43 Author: Thomas Wood Date: Fri Jan 5 14:15:22 2007 +0000 Revert most of the changes from the last few commits. We can implement 2007-01-05 Thomas Wood * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_menuitem): * themes/Clearlooks/gtk-2.0/gtkrc: Revert most of the changes from the last few commits. We can implement most of the new menuitem style using GtkMenu style properties (bug 382634). svn path=/trunk/; revision=575 ChangeLog | 14 ++++++++++ engines/clearlooks/src/clearlooks_draw.c | 29 +++++---------------- engines/clearlooks/src/clearlooks_style.c | 29 ++++----------------- engines/clearlooks/src/clearlooks_style_glossy.c | 18 +------------ themes/Clearlooks/gtk-2.0/gtkrc | 8 ++++-- 5 files changed, 34 insertions(+), 64 deletions(-) commit 51f35baa7174f4cd1e72ab38a00f455029ae1d6f Author: Benjamin Berg Date: Thu Jan 4 20:08:39 2007 +0000 Use draw_menubaritem as the fallback. Also use draw_menubaritem if the 2007-01-04 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Use draw_menubaritem as the fallback. Also use draw_menubaritem if the padding is larger than one pixel in the menu. svn path=/trunk/; revision=574 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 29 +++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-) commit 7d746382bc85a33672bbd85f87c86bf3ce9321fa Author: Thomas Wood Date: Thu Jan 4 17:22:50 2007 +0000 Fix a co-ordinate (clearlooks_register_style_classic): Add 2007-01-04 Thomas Wood * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem): Fix a co-ordinate (clearlooks_register_style_classic): Add draw_menubaritem svn path=/trunk/; revision=573 ChangeLog | 6 ++++ engines/clearlooks/src/clearlooks_draw.c | 39 ++++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 4 deletions(-) commit bed9850251b347a1b2fcba797d3ecf9be4da4e48 Author: Thomas Wood Date: Thu Jan 4 16:31:38 2007 +0000 Fix a compiler warning Sharpen gloss colours 2007-01-04 Thomas Wood * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): Fix a compiler warning * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_draw_button_gloss): Sharpen gloss colours * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_register_style_classic): * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_menuitem), (clearlooks_register_style_glossy): * engines/clearlooks/src/clearlooks_types.h: Add draw_menubaritem function svn path=/trunk/; revision=572 ChangeLog | 16 ++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 1 + engines/clearlooks/src/clearlooks_style.c | 6 ++-- engines/clearlooks/src/clearlooks_style_glossy.c | 28 ++++++++++++++++++---- engines/clearlooks/src/clearlooks_types.h | 5 ++++ 5 files changed, 48 insertions(+), 8 deletions(-) commit d9ed49961f025a85850ca75ede1666b599d270dc Author: Benjamin Berg Date: Wed Jan 3 22:16:30 2007 +0000 - Fix problem found during "make distcheck". There is no 2007-01-03 Benjamin Berg * engines/lua/Makefile.am: - Fix problem found during "make distcheck". There is no config.h/config.h.in. svn path=/trunk/; revision=571 ChangeLog | 6 ++++++ engines/lua/Makefile.am | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) commit 687361e59ff52bea73685a1f4f4e8c91e86100b6 Author: Benjamin Berg Date: Tue Jan 2 23:08:54 2007 +0000 - Fix merging. Thanks to Werner Pantke for reporting this issue. 2007-01-03 Benjamin Berg * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_merge): - Fix merging. Thanks to Werner Pantke for reporting this issue. svn path=/trunk/; revision=570 ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_rc_style.c | 17 ++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) commit 501363d617e6b1ea816c611741363b3ff655a47a Author: Benjamin Berg Date: Tue Jan 2 10:56:35 2007 +0000 Patch from TFKyle: - A few M_PI slipped back in. - Fix for a C99ism. 2007-01-02 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_radiobutton): * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_radiobutton): Patch from TFKyle: - A few M_PI slipped back in. - Fix for a C99ism. svn path=/trunk/; revision=569 ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_draw.c | 8 ++++---- engines/clearlooks/src/clearlooks_style_glossy.c | 15 ++++++++------- 3 files changed, 23 insertions(+), 11 deletions(-) commit 4f83c1b5f5ad60cefc879477982291e62aa8cd23 Author: Benjamin Berg Date: Tue Dec 26 22:12:10 2006 +0000 - Move slider darwing to clearlooks_style_draw_slider. - Use support 2006-12-26 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box), (clearlooks_style_draw_slider): - Move slider darwing to clearlooks_style_draw_slider. - Use support macros to guard clearlooks_style_draw_box. ChangeLog | 7 ++ engines/clearlooks/src/clearlooks_style.c | 121 +++++++++++++++-------------- 2 files changed, 70 insertions(+), 58 deletions(-) commit 58c1e5b46536b6532f872326d09333f4600ca244 Author: Daniel Borgmann Date: Tue Dec 26 17:00:53 2006 +0000 added arc function, separator and radiobutton support ChangeLog | 9 ++++++ engines/lua/src/draw_lib.c | 29 ++++++++++++++++++++- engines/lua/src/lua_style.c | 58 +++++++++++++++++++++++++++++++++++++++++- 3 files changed, 92 insertions(+), 4 deletions(-) commit 79d3a94c272ccf20827b4b15079b695d4f78cc82 Author: Daniel Borgmann Date: Mon Dec 25 09:52:37 2006 +0000 - Minor refactoring, add list view header support. ChangeLog | 7 ++ engines/lua/src/lua_style.c | 250 +++++++++++++++++++++---------------------- 2 files changed, 127 insertions(+), 130 deletions(-) commit 08336462320a570404cb574df4fe105b7a098b88 Author: Benjamin Berg Date: Sat Dec 23 14:27:01 2006 +0000 - Radius option fixes. 2006-12-23 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry): - Radius option fixes. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 13 ++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) commit dc7d76059efdbe3e3c3b356d0e30233da0de255e Author: Benjamin Berg Date: Wed Dec 20 22:02:09 2006 +0000 - More radius works. 2006-12-20 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_spinbutton_down): * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_draw_button_gloss), (clearlooks_glossy_draw_button), (clearlooks_glossy_draw_tab), (clearlooks_glossy_draw_slider_button), (clearlooks_glossy_draw_menuitem), (clearlooks_glossy_draw_selected_cell): - More radius works. * engines/support/cairo-support.c: (ge_cairo_rounded_rectangle): - Less warnings. ChangeLog | 15 +++++++ engines/clearlooks/src/clearlooks_draw.c | 3 +- engines/clearlooks/src/clearlooks_style_glossy.c | 48 +++++++++++++++------- engines/support/cairo-support.c | 4 +- 4 files changed, 53 insertions(+), 17 deletions(-) commit 3f1815aa1fb4a8c6e58a2b7329e86a50eec87476 Author: Benjamin Berg Date: Wed Dec 20 20:58:23 2006 +0000 - Print a warning if the radius is too large for the width/height. This is 2006-12-20 Benjamin Berg * engines/support/cairo-support.c: (ge_cairo_rounded_rectangle): - Print a warning if the radius is too large for the width/height. This is only during development. * engines/support/cairo-support.c: (ge_cairo_rounded_corner), (ge_cairo_rounded_rectangle): * engines/support/cairo-support.h: - Added ge_cairo_rounded_corner to draw one corner of a rounded rectangle more easily. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_shadow), (clearlooks_draw_top_left_highlight), (clearlooks_draw_highlight_and_shade), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_slider), (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_frame), (clearlooks_draw_tab), (clearlooks_draw_scrollbar_stepper): - Fix the radius option. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): - Allow 0 radius, as it should be working fine now. ChangeLog | 26 ++++++ engines/clearlooks/src/clearlooks_draw.c | 136 +++++++++++++--------------- engines/clearlooks/src/clearlooks_style.c | 2 +- engines/support/cairo-support.c | 46 ++++++++++ engines/support/cairo-support.h | 1 + 5 files changed, 137 insertions(+), 74 deletions(-) commit dfc1de0d8a0f4d3ea32ee938e60b7b09f7b7bfab Author: Thomas Wood Date: Mon Dec 18 16:46:52 2006 +0000 Implement suggestions for menu selection from bug 382634 2006-12-18 Thomas Wood * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem), (clearlooks_draw_menu_frame): * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_menuitem): * themes/Clearlooks/gtk-2.0/gtkrc: Implement suggestions for menu selection from bug 382634 ChangeLog | 10 ++++++ engines/clearlooks/src/clearlooks_draw.c | 34 +++++++++++++++------ engines/clearlooks/src/clearlooks_style_glossy.c | 21 +++++++++++-- themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 4 files changed, 53 insertions(+), 14 deletions(-) commit b7428a47347ed8acf1a4b405026773fb30d19caf Author: Benjamin Berg Date: Sun Dec 17 12:38:34 2006 +0000 - Move selected cell drawing into the style functions. 2006-12-17 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_selected_cell), (clearlooks_register_style_classic): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_flat_box): * engines/clearlooks/src/clearlooks_types.h: - Move selected cell drawing into the style functions. * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_menuitem), (clearlooks_glossy_draw_selected_cell), (clearlooks_register_style_glossy): - Add menuitem and selected cell drawing to the glossy theme. ChangeLog | 16 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 39 ++++++++++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 34 +++---------------- engines/clearlooks/src/clearlooks_style_glossy.c | 35 +++++++++++++++++++ engines/clearlooks/src/clearlooks_types.h | 5 +++ 5 files changed, 100 insertions(+), 29 deletions(-) commit f9700b079d85aef9904286e2548bfbfaaba8c650 Author: Benjamin Berg Date: Sun Dec 17 00:05:47 2006 +0000 - Nicer variable names. 2006-12-17 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_top_left_highlight): - Nicer variable names. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_copy): - Copy the radius option. ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw.c | 16 ++++++++-------- engines/clearlooks/src/clearlooks_style.c | 1 + 3 files changed, 19 insertions(+), 8 deletions(-) commit fca83e52142808ba6d0dfa99ce25edb6a78865ae Author: Benjamin Berg Date: Thu Dec 14 18:41:26 2006 +0000 - Remove unused options, the engine now warns about their usage. - Also 2006-12-14 Benjamin Berg * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (clearlooks_gtk2_rc_parse_dummy), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (clearlooks_style_draw_box_gap), (clearlooks_style_draw_extension), (clearlooks_style_draw_handle), (clearlooks_style_draw_box), (clearlooks_style_init_from_rc), (clearlooks_style_copy), (clearlooks_style_draw_render_icon): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_types.h: - Remove unused options, the engine now warns about their usage. - Also removed some commentted out code, and clarified a few comments. * themes/Clearlooks/gtk-2.0/gtkrc: - Remove options that don't have any effect. ChangeLog | 21 ++++++++ engines/clearlooks/src/clearlooks_rc_style.c | 67 +++++++++++++++----------- engines/clearlooks/src/clearlooks_rc_style.h | 16 +----- engines/clearlooks/src/clearlooks_style.c | 53 ++------------------ engines/clearlooks/src/clearlooks_style.h | 3 - engines/clearlooks/src/clearlooks_types.h | 12 +---- themes/Clearlooks/gtk-2.0/gtkrc | 3 - 7 files changed, 71 insertions(+), 104 deletions(-) commit 0786458b8a0ddc4d0d670812548f70d547fd3a4b Author: Benjamin Berg Date: Wed Dec 13 16:46:07 2006 +0000 - Remove arrow drawing code - Use buildin draw_tab, the difference is only 2006-12-13 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_types.h: - Remove arrow drawing code - Use buildin draw_tab, the difference is only minimal - Call gtk_paint_tab for the combobox arrow ChangeLog | 9 +++ engines/clearlooks/src/clearlooks_draw.c | 110 ----------------------------- engines/clearlooks/src/clearlooks_style.c | 52 +------------- engines/clearlooks/src/clearlooks_types.h | 6 -- 4 files changed, 13 insertions(+), 164 deletions(-) commit 208f36ebc946fd6ff8cd038143424734d9f859e8 Author: Benjamin Berg Date: Tue Dec 12 19:36:06 2006 +0000 - Don't set shadow type to NONE if the detail is not one of the known 2006-12-12 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_shadow): - Don't set shadow type to NONE if the detail is not one of the known ones. (Bug #385106, Carlos Garnacho Parro) ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) commit 9a8d18f03debb531a44558e54f13cc1ea3510a28 Author: Benjamin Berg Date: Tue Dec 12 18:36:04 2006 +0000 - Added preliminary radius option. Still a lot of sanity checks and other 2006-12-12 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_rc_style.c: * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_style_glossy.c: * engines/clearlooks/src/clearlooks_types.h: - Added preliminary radius option. Still a lot of sanity checks and other things missing. ChangeLog | 12 ++++ engines/clearlooks/src/clearlooks_draw.c | 60 ++++++++++------------ engines/clearlooks/src/clearlooks_rc_style.c | 21 +++++-- engines/clearlooks/src/clearlooks_rc_style.h | 22 ++++---- engines/clearlooks/src/clearlooks_style.c | 4 +- engines/clearlooks/src/clearlooks_style.h | 1 + engines/clearlooks/src/clearlooks_style_glossy.c | 16 +++--- engines/clearlooks/src/clearlooks_types.h | 3 + 8 files changed, 80 insertions(+), 59 deletions(-) commit 1a3279845cc38fb2cd573dd7fa6ceaf3384aced5 Author: Daniel Borgmann Date: Tue Dec 12 12:02:27 2006 +0000 - Use absolute include path 2006-12-12 Daniel Borgmann * engines/lua/Makefile.am: - Use absolute include path * engines/lua/src/lua_style.c: (lua_style_draw_box): - Support more widgets ChangeLog | 7 ++++++ engines/lua/Makefile.am | 2 +- engines/lua/src/lua_style.c | 44 ++++++++++++++++++++++++++++++++++++++---- 3 files changed, 47 insertions(+), 6 deletions(-) commit 3ab362ec53833ed986eadb5c08d30e3d56d6f38c Author: Daniel Borgmann Date: Wed Dec 6 04:23:44 2006 +0000 properly rotate and mirror some widgets ChangeLog | 6 ++++++ engines/lua/src/lua_style.c | 40 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 43 insertions(+), 3 deletions(-) commit 32a144c8029673be194fb84f6c3965f5968c8f6f Author: Daniel Borgmann Date: Wed Dec 6 00:00:21 2006 +0000 Added Lua engine ChangeLog | 7 + configure.ac | 13 + engines/lua/AUTHORS | 1 + engines/lua/Makefile.am | 87 +++ engines/lua/src/draw_lib.c | 430 ++++++++++++ engines/lua/src/draw_lib.h | 20 + engines/lua/src/draw_utils.c | 48 ++ engines/lua/src/draw_utils.h | 9 + engines/lua/src/liblua/lapi.c | 1080 ++++++++++++++++++++++++++++++ engines/lua/src/liblua/lapi.h | 16 + engines/lua/src/liblua/lauxlib.c | 653 ++++++++++++++++++ engines/lua/src/liblua/lauxlib.h | 174 +++++ engines/lua/src/liblua/lbaselib.c | 643 ++++++++++++++++++ engines/lua/src/liblua/lcode.c | 823 +++++++++++++++++++++++ engines/lua/src/liblua/lcode.h | 76 +++ engines/lua/src/liblua/ldblib.c | 397 +++++++++++ engines/lua/src/liblua/ldebug.c | 620 +++++++++++++++++ engines/lua/src/liblua/ldebug.h | 33 + engines/lua/src/liblua/ldo.c | 516 ++++++++++++++ engines/lua/src/liblua/ldo.h | 57 ++ engines/lua/src/liblua/ldump.c | 164 +++++ engines/lua/src/liblua/lfunc.c | 174 +++++ engines/lua/src/liblua/lfunc.h | 34 + engines/lua/src/liblua/lgc.c | 711 ++++++++++++++++++++ engines/lua/src/liblua/lgc.h | 110 +++ engines/lua/src/liblua/linit.c | 38 + engines/lua/src/liblua/liolib.c | 532 +++++++++++++++ engines/lua/src/liblua/llex.c | 461 +++++++++++++ engines/lua/src/liblua/llex.h | 81 +++ engines/lua/src/liblua/llimits.h | 128 ++++ engines/lua/src/liblua/lmathlib.c | 263 ++++++++ engines/lua/src/liblua/lmem.c | 86 +++ engines/lua/src/liblua/lmem.h | 49 ++ engines/lua/src/liblua/loadlib.c | 663 ++++++++++++++++++ engines/lua/src/liblua/lobject.c | 214 ++++++ engines/lua/src/liblua/lobject.h | 381 +++++++++++ engines/lua/src/liblua/lopcodes.c | 102 +++ engines/lua/src/liblua/lopcodes.h | 268 ++++++++ engines/lua/src/liblua/loslib.c | 233 +++++++ engines/lua/src/liblua/lparser.c | 1337 +++++++++++++++++++++++++++++++++++++ engines/lua/src/liblua/lparser.h | 82 +++ engines/lua/src/liblua/lstate.c | 214 ++++++ engines/lua/src/liblua/lstate.h | 168 +++++ engines/lua/src/liblua/lstring.c | 111 +++ engines/lua/src/liblua/lstring.h | 31 + engines/lua/src/liblua/lstrlib.c | 868 ++++++++++++++++++++++++ engines/lua/src/liblua/ltable.c | 588 ++++++++++++++++ engines/lua/src/liblua/ltable.h | 40 ++ engines/lua/src/liblua/ltablib.c | 278 ++++++++ engines/lua/src/liblua/ltm.c | 75 ++ engines/lua/src/liblua/ltm.h | 54 ++ engines/lua/src/liblua/lua.h | 385 +++++++++++ engines/lua/src/liblua/luaconf.h | 762 +++++++++++++++++++++ engines/lua/src/liblua/lualib.h | 53 ++ engines/lua/src/liblua/lundump.c | 223 ++++++ engines/lua/src/liblua/lundump.h | 36 + engines/lua/src/liblua/lvm.c | 763 +++++++++++++++++++++ engines/lua/src/liblua/lvm.h | 36 + engines/lua/src/liblua/lzio.c | 82 +++ engines/lua/src/liblua/lzio.h | 67 ++ engines/lua/src/lua_rc_style.c | 275 ++++++++ engines/lua/src/lua_rc_style.h | 29 + engines/lua/src/lua_style.c | 691 +++++++++++++++++++ engines/lua/src/lua_style.h | 45 ++ engines/lua/src/lua_utils.c | 28 + engines/lua/src/lua_utils.h | 8 + engines/lua/src/main.c | 23 + engines/lua/src/misc_utils.c | 56 ++ engines/lua/src/misc_utils.h | 5 + 69 files changed, 17808 insertions(+), 0 deletions(-) commit 662a2d4fe8c55d18477452d2ec3a6680db8dc732 Author: Benjamin Berg Date: Tue Dec 5 20:02:06 2006 +0000 - C89 fixes (Bug #382704, Jens Granseuer) 2006-12-05 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_option), (clearlooks_style_draw_check): - C89 fixes (Bug #382704, Jens Granseuer) ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) commit 60624132f97f955999186e82fbf330737d58ab7b Author: Benjamin Berg Date: Tue Dec 5 15:59:14 2006 +0000 - Use @selected_fg_color for text[PRELIGHT] inside menus and for 2006-12-05 Benjamin Berg * themes/Clearlooks/gtk-2.0/gtkrc: - Use @selected_fg_color for text[PRELIGHT] inside menus and for fg[PRELIGHT] in GtkProgressBar (Bug #382397, Michael Monreal) ChangeLog | 6 ++++++ themes/Clearlooks/gtk-2.0/gtkrc | 3 ++- 2 files changed, 8 insertions(+), 1 deletions(-) commit b7e56182e7458db2bec1bd38cb5d273e86b056fb Author: Thomas Wood Date: Tue Dec 5 00:04:34 2006 +0000 Updated for 2.9.0 2006-12-04 Thomas Wood * NEWS: Updated for 2.9.0 ChangeLog | 4 ++++ NEWS | 11 +++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) commit 0baa8da7a3edded0cecc71add0fbedc32cb9891f Author: Benjamin Berg Date: Mon Dec 4 20:45:23 2006 +0000 - Added glossy tabs. 2006-12-04 Benjamin Berg * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_tab), (clearlooks_register_style_glossy): - Added glossy tabs. ChangeLog | 6 ++ engines/clearlooks/src/clearlooks_style_glossy.c | 86 ++++++++++++++++++++++ 2 files changed, 92 insertions(+), 0 deletions(-) commit d03cd1618ee263c988a5187b0cdd90a059ac66a7 Author: Thomas Wood Date: Mon Dec 4 10:22:16 2006 +0000 Use gtk-color-scheme 2006-12-04 Thomas Wood * themes/Mist/gtk-2.0/gtkrc: Use gtk-color-scheme ChangeLog | 4 +++ themes/Mist/gtk-2.0/gtkrc | 50 ++++++++++++++++++++++++-------------------- 2 files changed, 31 insertions(+), 23 deletions(-) commit bf0deaa9611ab25f438764be64cf926f80e5d738 Author: Benjamin Berg Date: Tue Nov 28 16:08:18 2006 +0000 - Don't draw the bullet in the inconsistent state. 2006-11-28 Benjamin Berg * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_radiobutton): - Don't draw the bullet in the inconsistent state. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style_glossy.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit f2b052372987ef1cd8f419c897f5d6a12091d654 Author: Benjamin Berg Date: Tue Nov 28 16:03:42 2006 +0000 - Draw Evolution ETree headers as headers instead of buttons. 2006-11-28 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): - Draw Evolution ETree headers as headers instead of buttons. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) commit f2a54444a8b0a2fe2b3a316e70ba2955d3f5dc2d Author: Benjamin Berg Date: Sat Nov 25 23:57:58 2006 +0000 Support rounded corners correctly. 2006-11-25 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_frame): Support rounded corners correctly. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_extension): - Set the corners correctly in the widget parameters * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tab): - Use the corners value from the parameters * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_draw_button_gloss), (clearlooks_glossy_draw_button): - removed fill option from clearlooks_draw_button_gloss ChangeLog | 16 +++++++++++ engines/clearlooks/src/clearlooks_draw.c | 32 ++++++++------------- engines/clearlooks/src/clearlooks_style.c | 18 +++++++++--- engines/clearlooks/src/clearlooks_style_glossy.c | 23 +++++----------- 4 files changed, 49 insertions(+), 40 deletions(-) commit b91132f1d9340a7a46754db7fa78a2aed92545e2 Author: Benjamin Berg Date: Sat Nov 25 11:33:46 2006 +0000 - Don't use parentbg, but always bg[STATE] 2006-11-25 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tab): - Don't use parentbg, but always bg[STATE] * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box_gap): - Fill the notebook background with bg[NORMAL] ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 +----- engines/clearlooks/src/clearlooks_style.c | 4 ++++ 3 files changed, 14 insertions(+), 5 deletions(-) commit 28adb36c58571552bdffa1174d93711d9d6025bb Author: Benjamin Berg Date: Sat Nov 25 11:12:41 2006 +0000 - Add some cairo_save/restore pairs - clearlooks_draw_option_menu now uses 2006-11-25 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_spinbutton), (clearlooks_draw_optionmenu), (clearlooks_draw_separator): * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_button): - Add some cairo_save/restore pairs - clearlooks_draw_option_menu now uses the separator routine - draw_spinbutton and optionmenu used the fact that drawing the button modified the cairo context. - pixel align the end of the separator lines * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): - Make the progressbar clipbox larger by one pixel to leave space for the shadow. * themes/Clearlooks/gtk-2.0/gtkrc: - Set x/ythickness for GtkSeparator to 2, otherwise they may get clipped. ChangeLog | 22 ++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 39 +++++++++++---------- engines/clearlooks/src/clearlooks_style.c | 26 ++++++++++++++- engines/clearlooks/src/clearlooks_style_glossy.c | 2 + themes/Clearlooks/gtk-2.0/gtkrc | 19 +++++----- 5 files changed, 79 insertions(+), 29 deletions(-) commit 1440e4bbc86f667b005ea90c0886ec6710e35822 Author: Benjamin Berg Date: Fri Nov 24 20:27:45 2006 +0000 - replace cairo_set_source_rgb with ge_cairo_set_color where possible. 2006-11-24 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_style_glossy.c: - replace cairo_set_source_rgb with ge_cairo_set_color where possible. ChangeLog | 6 + engines/clearlooks/src/clearlooks_draw.c | 149 +++++++++------------- engines/clearlooks/src/clearlooks_style_glossy.c | 18 +-- 3 files changed, 73 insertions(+), 100 deletions(-) commit fc85eeb0b4e879ff137e4c87b9da37b583758835 Author: Benjamin Berg Date: Fri Nov 24 20:01:03 2006 +0000 - Move glossy check- and radiobuttons to clearlooks_style_glossy.c - 2006-11-24 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_radiobutton), (clearlooks_draw_checkbox): * engines/clearlooks/src/clearlooks_style_glossy.c: (clearlooks_glossy_draw_checkbox), (clearlooks_glossy_draw_radiobutton), (clearlooks_register_style_glossy): - Move glossy check- and radiobuttons to clearlooks_style_glossy.c - Resurrect normal checkbutton from an older version * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_flat_box): - special case highlight drawing between the two styles ChangeLog | 15 + engines/clearlooks/src/clearlooks_draw.c | 369 ++++++++-------------- engines/clearlooks/src/clearlooks_style.c | 4 +- engines/clearlooks/src/clearlooks_style_glossy.c | 287 +++++++++++++++++ 4 files changed, 430 insertions(+), 245 deletions(-) commit 685ad5c399525ac462f492d5490dc71fa8c945d6 Author: Benjamin Berg Date: Fri Nov 24 19:26:49 2006 +0000 - removed clearlooks_rotate_mirror_translate 2006-11-24 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill), (clearlooks_draw_scrollbar_trough), (clearlooks_draw_scrollbar_slider), (_clearlooks_draw_arrow): - removed clearlooks_rotate_mirror_translate ChangeLog | 8 +++ engines/clearlooks/src/clearlooks_draw.c | 95 ++++++------------------------ 2 files changed, 26 insertions(+), 77 deletions(-) commit 125399202f3875ba799bd37f485f55e466fceaed Author: Benjamin Berg Date: Fri Nov 24 19:03:10 2006 +0000 - separate the glossy functions into clearlooks_style_glossy.c. Created a 2006-11-24 Benjamin Berg * engines/clearlooks/*: * engines/clearlooks/src/clearlooks_style_glossy.c: - separate the glossy functions into clearlooks_style_glossy.c. Created a ClearlooksStyleFunctions struct containing function pointer for the different styles. - add "style" option to the gtkrc, valid values are CLASSIC and GLOSSY (removed gloss option) - fix merging of rc styles, before it was not possible to override only some options. - Changed some things to use support (ge_cairo_rounded_rectangle, CairoCorner) * engines/support/cairo-support.c: (ge_cairo_mirror), (ge_cairo_exchange_axis): * engines/support/cairo-support.h: - Add ge_cairo_exchange_axis, a common operation done by clearlooks. - fix ge_cairo_mirror * themes/Clearlooks/gtk-2.0/gtkrc: - set "style = CLASSIC" not some glossy stuff ChangeLog | 23 + engines/clearlooks/Makefile.am | 1 + engines/clearlooks/src/clearlooks_draw.c | 642 ++++++++-------------- engines/clearlooks/src/clearlooks_draw.h | 168 +------ engines/clearlooks/src/clearlooks_rc_style.c | 97 +++- engines/clearlooks/src/clearlooks_rc_style.h | 43 +- engines/clearlooks/src/clearlooks_style.c | 168 +++--- engines/clearlooks/src/clearlooks_style.h | 12 +- engines/clearlooks/src/clearlooks_style_glossy.c | 254 +++++++++ engines/clearlooks/src/clearlooks_types.h | 195 ++++++- engines/support/cairo-support.c | 32 +- engines/support/cairo-support.h | 1 + themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 13 files changed, 917 insertions(+), 721 deletions(-) commit 984e2ed9e7d028d9bbacc6d63cb40c14d003476a Author: Daniel Borgmann Date: Mon Nov 20 18:13:15 2006 +0000 hide radiobutton border on menus ChangeLog | 5 + engines/clearlooks/src/clearlooks_draw.c | 123 +++++++++++++++--------------- 2 files changed, 68 insertions(+), 60 deletions(-) commit 2e018035fcc5e52d158c0bf785dd1321133f7f26 Author: Benjamin Berg Date: Mon Nov 20 15:32:12 2006 +0000 - Wrong variable names in the codepath using stroke. 2006-11-20 Benjamin Berg * engines/support/cairo-support.c: (ge_cairo_stroke_rectangle): - Wrong variable names in the codepath using stroke. ChangeLog | 5 +++++ engines/support/cairo-support.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 709455097664b863126283526370704a08be727a Author: Daniel Borgmann Date: Sun Nov 19 19:40:49 2006 +0000 Tweak base[PRELIGHT] ChangeLog | 4 ++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit 2be388d1486317e75031462ca7a2e5b026f67fd8 Author: Thomas Wood Date: Sun Nov 19 18:55:23 2006 +0000 Draw buttons with inset border 2006-11-19 Thomas Wood * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button_with_gloss): Draw buttons with inset border ChangeLog | 5 +++++ engines/clearlooks/src/clearlooks_draw.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) commit 42418a28600d26a8912d9c9514ffee719dc8ca32 Author: Benjamin Berg Date: Fri Nov 17 22:07:38 2006 +0000 - Initial color scheme support 2006-11-17 Benjamin Berg * themes/Industrial/gtk-2.0/gtkrc: - Initial color scheme support ChangeLog | 5 + themes/Industrial/gtk-2.0/gtkrc | 196 +++++++++++++++++++++----------------- 2 files changed, 113 insertions(+), 88 deletions(-) commit a959eff4b2399fa4d1705a68916a9670084fa5c6 Author: Benjamin Berg Date: Fri Nov 17 22:01:41 2006 +0000 - definition for clearlooks_draw_button_with_gloss was missing 2006-11-17 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.h: - definition for clearlooks_draw_button_with_gloss was missing * engines/support/cairo-support.c: (ge_gdk_color_to_cairo), (ge_cairo_color_to_gtk), (ge_cairo_set_color), (ge_cairo_pattern_add_color_stop_color), (ge_cairo_pattern_add_color_stop_shade), (ge_cairo_simple_border), (ge_cairo_polygon), (ge_cairo_line): * engines/support/cairo-support.h: - Add "const" to some arguments where it seemed appropriate (fixes some warnings in clearlooks) ChangeLog | 14 ++++++++++++++ engines/clearlooks/src/clearlooks_draw.h | 6 ++++++ engines/support/cairo-support.c | 16 ++++++++-------- engines/support/cairo-support.h | 16 ++++++++-------- 4 files changed, 36 insertions(+), 16 deletions(-) commit d0f4d6be0dacdc9a8898723eab5b5ca28a9a621f Author: Benjamin Berg Date: Fri Nov 17 18:41:26 2006 +0000 - Don't reverse engineer the trough side, but use the new GTK+ detail 2006-11-17 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_scale_trough): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box): * engines/clearlooks/src/clearlooks_types.h: * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_box): - Don't reverse engineer the trough side, but use the new GTK+ detail strings. * themes/Clearlooks/gtk-2.0/gtkrc: - Turn on GtkRange::trough-side-details style property for GtkScale for the above changes. ChangeLog | 15 ++++++ engines/clearlooks/src/clearlooks_draw.c | 42 +++++----------- engines/clearlooks/src/clearlooks_style.c | 11 +--- engines/clearlooks/src/clearlooks_types.h | 3 +- engines/glide/src/glide_gtk2_drawing.c | 79 ++++++++--------------------- themes/Clearlooks/gtk-2.0/gtkrc | 8 ++- 6 files changed, 59 insertions(+), 99 deletions(-) commit c978325feec713c4d5ea6d828309675acee2c9dc Author: Daniel Borgmann Date: Thu Nov 16 23:59:45 2006 +0000 Enable experimental gloss option ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) commit 53211f155230f6e9b38c7ba2d6bd64b9756e04e6 Author: Daniel Borgmann Date: Thu Nov 16 23:48:03 2006 +0000 - Ported ubuntulooks buttonstyle and use if gloss option is set. - Tweaked * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button_gloss), (clearlooks_draw_button_with_gloss), (clearlooks_draw_spinbutton), (clearlooks_draw_slider), (clearlooks_draw_slider_button), (clearlooks_draw_optionmenu), (clearlooks_draw_scrollbar_slider), (clearlooks_draw_handle), (clearlooks_draw_resize_grip), (clearlooks_draw_checkbox), (clearlooks_draw_radiobutton): * engines/clearlooks/src/clearlooks_draw.h: - Ported ubuntulooks buttonstyle and use if gloss option is set. - Tweaked glossy scrollbar. - Changed to gripdots. - Ported ubuntulooks checkboxes and radiobuttons. * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: - Add global gloss engine option. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (clearlooks_style_draw_flat_box), (clearlooks_style_draw_box), (clearlooks_style_draw_option), (clearlooks_style_draw_check), (clearlooks_style_init_from_rc), (clearlooks_style_realize): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_types.h: - Use gloss option. ChangeLog | 30 + engines/clearlooks/src/clearlooks_draw.c | 744 +++++++++++++++++++++----- engines/clearlooks/src/clearlooks_draw.h | 12 + engines/clearlooks/src/clearlooks_rc_style.c | 11 +- engines/clearlooks/src/clearlooks_rc_style.h | 1 + engines/clearlooks/src/clearlooks_style.c | 289 +++-------- engines/clearlooks/src/clearlooks_style.h | 1 + engines/clearlooks/src/clearlooks_types.h | 9 + 8 files changed, 745 insertions(+), 352 deletions(-) commit 1f8a6862681f6dcaaaf75a4a7154276e269e6679 Author: Thomas Wood Date: Thu Nov 16 23:14:44 2006 +0000 Pre-release version bump, and require GTK+ 2.10 First attempt at using 2006-11-16 Thomas Wood * configure.ac: Pre-release version bump, and require GTK+ 2.10 * themes/Clearlooks/gtk-2.0/gtkrc: First attempt at using gtk-color-scheme ChangeLog | 6 +++ configure.ac | 6 ++-- themes/Clearlooks/gtk-2.0/gtkrc | 75 ++++++++++++++++++++------------------ 3 files changed, 48 insertions(+), 39 deletions(-) commit 13542ca38a5ef0d3b42dce3feea37a32093deeb6 Author: Thomas Wood Date: Thu Nov 16 23:06:03 2006 +0000 Updated for 2.8.2 2006-11-16 Thomas Wood * NEWS: * configure.ac: Updated for 2.8.2 ChangeLog | 7 +++++++ NEWS | 23 +++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 31 insertions(+), 1 deletions(-) commit 1f2b2c7ad7efcff9db97c98ca4f3eabfe7423082 Author: Benjamin Berg Date: Tue Nov 14 01:17:26 2006 +0000 - a buggy cairo_fill_preserve which should have been a cairo_fill caused 2006-11-14 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_tab): - a buggy cairo_fill_preserve which should have been a cairo_fill caused active tabs to have the wrong color ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 5a24c6e0b48e4c08b1ef1057af5e64884121fd07 Author: Thomas Wood Date: Mon Nov 13 17:13:25 2006 +0000 Attempt to improve arrows. All arrows are now fixed size. 2006-11-13 Thomas Wood * engines/crux/src/crux-draw.c: (draw_arrow), (draw_tab): Attempt to improve arrows. All arrows are now fixed size. ChangeLog | 5 ++++ engines/crux/src/crux-draw.c | 54 +++++++++++------------------------------ 2 files changed, 20 insertions(+), 39 deletions(-) commit ed2b364898b2ba2c1e64d78f948d900912db48d0 Author: Benjamin Berg Date: Sat Nov 11 20:48:25 2006 +0000 - don't use g_return_val_if_fail instead just return. It is not critical 2006-11-11 Benjamin Berg * engines/clearlooks/src/support.c: (clearlooks_scrollbar_get_stepper): - don't use g_return_val_if_fail instead just return. It is not critical if the widget is not a GtkRange. ChangeLog | 7 +++++++ engines/clearlooks/src/support.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletions(-) commit 766749d2a6a457c1f9f9ad15e194e20943bf0060 Author: Benjamin Berg Date: Sat Nov 11 19:03:21 2006 +0000 - Fix smooth to compile with VC++ 2006-11-11 Benjamin Berg * engines/smooth/src/engine/smooth_gtk2_misc.c: (smooth_gtk_button_get_props): - Fix smooth to compile with VC++ Thanks to TFKyle for all the win32 fixes. ChangeLog | 8 ++++++++ engines/smooth/src/engine/smooth_gtk2_misc.c | 14 ++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) commit ed6e09368c639e1805176968a896a7a47a6169f0 Author: Benjamin Berg Date: Sat Nov 11 18:39:43 2006 +0000 - Fix a few minor warnings. 2006-11-11 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_slider): * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: (smooth_style_get_arrow): - Fix a few minor warnings. ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 +++--- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 6 +++++- 3 files changed, 16 insertions(+), 4 deletions(-) commit 443a28c73830affa86fe8e0c6ce81a0953f99b06 Author: Benjamin Berg Date: Sat Nov 11 18:13:32 2006 +0000 - replace G_MODULE_EXPORT with GE_EXPORT - removed GE_HIDDEN, not used - 2006-11-11 Benjamin Berg * engines/*: - replace G_MODULE_EXPORT with GE_EXPORT - removed GE_HIDDEN, not used - GE_EXPORT: - defined to G_MODULE_EXPORT - special cases for SUNPRO_C and if G_HAVE_GNUC_VISIBILITY is set. This makes compiling with -fvisibility=hidden possible. - GE_INTERNAL - defined to G_GNUC_INTERNAL - special case for SUNPRO_C - replace M_PI* with G_PI* and removed unneeded definitions - removed include of sys/time.h from clearlooks - removed some min/max defines, and replaced them with MIN/MAX and CLAMP gtk-engines should now work on win32 ChangeLog | 19 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 42 +++++++++---------- engines/clearlooks/src/clearlooks_style.c | 9 ++-- engines/clearlooks/src/clearlooks_theme_main.c | 6 +- engines/crux/src/crux-draw.c | 9 ++-- engines/crux/src/crux-main.c | 6 +- engines/crux/src/crux.h | 12 ++--- engines/glide/src/glide_gtk2_engine.c | 6 +- engines/glide/src/glide_gtk2_support.c | 24 +++++----- engines/hc/src/hc-style.c | 12 +++--- engines/hc/src/hc_gtk2_engine.c | 6 +- engines/industrial/src/industrial_style.c | 18 ++++---- engines/industrial/src/industrial_theme_main.c | 6 +- engines/mist/src/mist-style.c | 12 +++--- engines/mist/src/mist.c | 6 +- engines/redmond/src/redmond_gtk2_drawing.c | 10 ++-- engines/redmond/src/redmond_gtk2_engine.c | 6 +- engines/redmond/src/redmond_gtk2_misc.c | 12 +++--- engines/smooth/src/engine/smooth_gtk2_engine.c | 6 +- engines/smooth/src/engine/smooth_gtk2_misc.h | 15 ------- .../src/interfaces/shared/gdk/gdk_type_defines.h | 12 ----- engines/smooth/src/utils/draw_border.c | 6 +- engines/smooth/src/utils/draw_grips.c | 8 ++-- engines/support/cairo-support.c | 10 ++-- engines/support/cairo-support.h | 12 ----- engines/support/general-support.h | 24 ++++++---- engines/thinice/src/thinice_main.c | 6 +- engines/thinice/src/thinice_theme_draw.c | 44 +++++++------------- 28 files changed, 165 insertions(+), 199 deletions(-) commit 5539a89ac7cafeed27d4f10d2a8a561b10a05dd6 Author: Benjamin Berg Date: Fri Nov 10 20:53:22 2006 +0000 - possible crash bug 2006-11-10 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_flat_box): - possible crash bug * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: (smooth_arrow_merge): - fix a leak that happend when rc styles were merged ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 5 ++++- 3 files changed, 15 insertions(+), 2 deletions(-) commit b466fc1bcf5c9fd56f06ac3108b338eeeb423e89 Author: Thomas Wood Date: Tue Nov 7 18:14:58 2006 +0000 Improve scollbar trough sharpness Set some "Redmond" style icon sizes 2006-11-07 Thomas Wood * engines/crux/src/crux-draw.c: (paint_scrollbar_trough): Improve scollbar trough sharpness * themes/Redmond/gtk-2.0/gtkrc: Set some "Redmond" style icon sizes ChangeLog | 6 ++++++ engines/crux/src/crux-draw.c | 19 +++++++++++-------- themes/Redmond/gtk-2.0/gtkrc | 3 +++ 3 files changed, 20 insertions(+), 8 deletions(-) commit 1a1994b7ece914eea4f5a85cf549b27514748440 Author: Benjamin Berg Date: Sun Nov 5 21:25:26 2006 +0000 - correctly fallback to the current style if it is not possible to 2006-11-05 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters): * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): - correctly fallback to the current style if it is not possible to retrieve the parents bg. * engines/mist/src/mist-style.c: (mist_style_draw_shadow_gap): * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_extension): - added missing cairo_destroy * engines/thinice/src/thinice_misc.c: (thinice_draw_separator): * engines/thinice/src/thinice_misc.h: * engines/thinice/src/thinice_theme_draw.c: (thinice_style_draw_hline), (thinice_style_draw_vline), (thinice_style_draw_box): Fix bug #364750: - Draw lines with the correct length - Use the dark/light colors from the style ChangeLog | 22 ++++++++++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 4 ++-- engines/clearlooks/src/support.c | 5 +---- engines/mist/src/mist-style.c | 2 ++ engines/redmond/src/redmond_gtk2_drawing.c | 2 ++ engines/thinice/src/thinice_misc.c | 21 ++++++++++++++------- engines/thinice/src/thinice_misc.h | 8 ++++++-- engines/thinice/src/thinice_theme_draw.c | 22 +++++++++++++++++++--- 8 files changed, 68 insertions(+), 18 deletions(-) commit f342dd03f37d854ae55604d8011960b6bfeb062c Author: Andrew Johnson Date: Fri Nov 3 23:34:07 2006 +0000 - Fix background fill for redmond scales 2006-11-03 Andrew Johnson * engines/redmond/src/redmond_gtk2_drawing.c: - Fix background fill for redmond scales * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: * engines/smooth/src/engine/smooth_gtk2_drawing.c: - Smooth Fix for bug 352602 ChangeLog | 8 +++ engines/redmond/src/redmond_gtk2_drawing.c | 2 +- .../src/engine/shared/gtk/smooth_gtk_drawing.c | 15 ++++-- engines/smooth/src/engine/smooth_gtk2_drawing.c | 50 ++++++++++++++------ 4 files changed, 55 insertions(+), 20 deletions(-) commit 01b0537e4b7f3789e31a79fce4836cf22bfe9200 Author: Benjamin Berg Date: Fri Nov 3 20:19:23 2006 +0000 - Just return for shadow_type == NONE. Fixes bug #366716 (John Cupitt) 2006-11-03 Benjamin Berg * engines/mist/src/mist-style.c: (mist_style_draw_shadow): - Just return for shadow_type == NONE. Fixes bug #366716 (John Cupitt) * engines/mist/src/mist-style.c: (mist_style_draw_check): - Use the passed in style instead of widget->style. Fixes a possible crasher. - Clip the gc correctly. ChangeLog | 10 ++++++++++ engines/mist/src/mist-style.c | 37 ++++++++++++++++++++----------------- 2 files changed, 30 insertions(+), 17 deletions(-) commit 46185ce4251f48d4bb19a22003ad5218a99ad2f6 Author: Benjamin Berg Date: Fri Nov 3 19:24:50 2006 +0000 - Fix some broken parent accesses. 2006-11-03 Benjamin Berg * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_combobox_button), (redmond_draw_handle): - Fix some broken parent accesses. ChangeLog | 6 ++++++ engines/redmond/src/redmond_gtk2_drawing.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) commit 308d21171f3dc3716f6e94249510fd434811b2ab Author: Benjamin Berg Date: Fri Nov 3 19:00:56 2006 +0000 - Fix bug 352602 for glide and hc. hc now doesn't use cached colors but 2006-11-03 Benjamin Berg * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_combobox_button): * engines/hc/src/hc-style.c: (hc_draw_shadow): - Fix bug 352602 for glide and hc. hc now doesn't use cached colors but recalculates them from the GtkStyle. glide called internal drawing functions that I replaced with their gtk_paint_* equivalent. ChangeLog | 9 +++++++++ engines/glide/src/glide_gtk2_drawing.c | 16 ++++++++-------- engines/hc/src/hc-style.c | 17 +++++++---------- 3 files changed, 24 insertions(+), 18 deletions(-) commit 2e588c1b825f70a6d09248aa8eb7cc21ee25546b Author: Andrew Johnson Date: Tue Oct 10 19:51:03 2006 +0000 - Merge Tab function into Extension - Replace common return if.... with 2006-10-10 Andrew Johnson * engines/mist/src/mist-style.c: - Merge Tab function into Extension - Replace common return if.... with CHECK_ARGS macro ChangeLog | 6 ++ engines/mist/src/mist-style.c | 147 +++++++++++++++------------------------- 2 files changed, 61 insertions(+), 92 deletions(-) commit b1c555a3b2708c5d64c69603b54d5da51cff7546 Author: Andrew Johnson Date: Tue Oct 10 17:52:23 2006 +0000 - Move Glide/Redmond Pattern Fill into Support 2006-10-10 Andrew Johnson * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_engine.c: * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.c: * engines/glide/src/glide_gtk2_support.h: * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_engine.c: * engines/redmond/src/redmond_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_misc.c: * engines/redmond/src/redmond_gtk2_misc.h: * engines/support/cairo-support.c: * engines/support/cairo-support.h: - Move Glide/Redmond Pattern Fill into Support * engines/thinice/src/thinice_theme_draw.c: - Merge Tab function into Extension ChangeLog | 19 ++ engines/glide/src/glide_gtk2_drawing.c | 85 +++++----- engines/glide/src/glide_gtk2_engine.c | 128 +++------------ engines/glide/src/glide_gtk2_engine.h | 47 +----- engines/glide/src/glide_gtk2_support.c | 93 ----------- engines/glide/src/glide_gtk2_support.h | 10 - engines/redmond/src/redmond_gtk2_drawing.c | 38 ++-- engines/redmond/src/redmond_gtk2_engine.c | 58 +------ engines/redmond/src/redmond_gtk2_engine.h | 20 +-- engines/redmond/src/redmond_gtk2_misc.c | 64 ------- engines/redmond/src/redmond_gtk2_misc.h | 8 - engines/support/cairo-support.c | 249 +++++++++++++++++++++++++++- engines/support/cairo-support.h | 44 +++++ engines/thinice/src/thinice_theme_draw.c | 129 ++++++--------- 14 files changed, 461 insertions(+), 531 deletions(-) commit 500add23ea6f780b2dc4ac3081056d12290e04f2 Author: Benjamin Berg Date: Tue Oct 10 16:18:03 2006 +0000 - The fills overlapped if the two colors are the same causing edge pixels 2006-10-10 Benjamin Berg * engines/support/cairo-support.c: (ge_cairo_simple_border): - The fills overlapped if the two colors are the same causing edge pixels not to be painted. Fixed with a special case. ChangeLog | 6 ++++++ engines/support/cairo-support.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) commit b9df52f5d86aa907b98dd5a87312ee98d8ffa657 Author: Thomas Wood Date: Mon Oct 9 09:19:20 2006 +0000 Don't draw boxes around handles on gnome-panels 2006-10-09 Thomas Wood * engines/mist/src/mist-style.c: (mist_style_draw_handle): Don't draw boxes around handles on gnome-panels ChangeLog | 5 +++++ engines/mist/src/mist-style.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 61e700744dcd0ff043804f2a1b1939013907e733 Author: Benjamin Berg Date: Sat Oct 7 16:06:08 2006 +0000 - Add a --disable-all option, so that it is possible to build one engine 2006-10-07 Benjamin Berg * configure.ac: - Add a --disable-all option, so that it is possible to build one engine without requiring to disable every other engine manually. ChangeLog | 6 ++++++ configure.ac | 19 ++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) commit 0a65d405639f49a355796dc32694d38545d02d3e Author: Benjamin Berg Date: Sat Oct 7 12:35:29 2006 +0000 - One rectangle was placed wrong 2006-10-07 Benjamin Berg * engines/support/cairo-support.c: (ge_cairo_simple_border): - One rectangle was placed wrong ChangeLog | 5 +++++ engines/support/cairo-support.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit d7c63cb8da2cb4d3addf89ca7c6c8b224aade38c Author: Benjamin Berg Date: Fri Oct 6 16:17:33 2006 +0000 - Add ge_cairo_stroke_rectangle helper function that uses cairo_fill 2006-10-06 Benjamin Berg * engines/support/cairo-support.c: * engines/support/cairo-support.h: - Add ge_cairo_stroke_rectangle helper function that uses cairo_fill internally - Make ge_cairo_simple_border use cairo_fill * engines/clearlooks/src/clearlooks_draw.c: * engines/crux/src/crux-draw.c: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_support.c: * engines/hc/src/hc-style.c: * engines/hc/src/hc_gtk2_support.c: * engines/mist/src/mist-style.c: * engines/redmond/src/redmond_gtk2_drawing.c: * engines/support/cairo-support.c: * engines/support/cairo-support.h: * engines/thinice/src/thinice_misc.c: * engines/thinice/src/thinice_theme_draw.c: - Use ge_cairo_stroke_rectangle instead of creating a rectangle and stroking that - In some places, use fills instead of strokes - Change the notebook and tabs of mist and thinice to use ge_cairo_simple_border combined with clipping. - Fix the _dot functions of mist, hc and thinice to use aligned fills instead of disabling antialias and do weird stroking. - changed placement of the hc dots in the GtkHandleBox handle. ChangeLog | 29 ++++ engines/clearlooks/src/clearlooks_draw.c | 65 ++++----- engines/crux/src/crux-draw.c | 22 +-- engines/glide/src/glide_gtk2_drawing.c | 24 ++-- engines/glide/src/glide_gtk2_support.c | 22 ++-- engines/hc/src/hc-style.c | 26 ++-- engines/hc/src/hc_gtk2_support.c | 27 ++-- engines/mist/src/mist-style.c | 233 +++++----------------------- engines/redmond/src/redmond_gtk2_drawing.c | 6 +- engines/support/cairo-support.c | 64 ++++++++- engines/support/cairo-support.h | 1 + engines/thinice/src/thinice_misc.c | 33 ++--- engines/thinice/src/thinice_theme_draw.c | 147 ++++-------------- 13 files changed, 258 insertions(+), 441 deletions(-) commit 570d856933d25ad3aa8d7216a6e59a45befd03dc Author: Thomas Wood Date: Mon Oct 2 18:59:51 2006 +0000 Updated for 2.8.1 2006-10-02 Thomas Wood * NEWS: * configure.ac: Updated for 2.8.1 ChangeLog | 7 +++++++ NEWS | 10 ++++++++++ configure.ac | 2 +- 3 files changed, 18 insertions(+), 1 deletions(-) commit cc837e31136d8902f1be99ebc39a3cdda91d600a Author: Benjamin Berg Date: Mon Oct 2 18:28:46 2006 +0000 - Metal and Lighthouseblue are not in gtk-engines anymore. - Add Glide 2006-10-02 Benjamin Berg * COPYING: - Metal and Lighthouseblue are not in gtk-engines anymore. - Add Glide * engines/industrial/AUTHORS: * engines/industrial/Makefile.am: * engines/industrial/src/industrial_rc_style.c: * engines/industrial/src/industrial_rc_style.h: * engines/industrial/src/industrial_style.c: * engines/industrial/src/industrial_style.h: * engines/industrial/src/industrial_style_versioned_code.h: * engines/industrial/src/industrial_style_versioned_include.h: * engines/industrial/src/parse_rc_style.h: - Add myself to AUTHORS and Copyright notices. - Implement a "contrast" option, that gets multiplied to the alpha values. - Remove unused/nonworking "wide" and "contrast_center" options. I don't think anyone has ever used them, so this should be safe. - Drop useless industrial_style_versioned_include.h - Some small cleanups COPYING | 3 +- ChangeLog | 23 +++++++ engines/industrial/AUTHORS | 3 + engines/industrial/Makefile.am | 1 - engines/industrial/src/industrial_rc_style.c | 13 +--- engines/industrial/src/industrial_rc_style.h | 10 +-- engines/industrial/src/industrial_style.c | 66 +++++++++---------- engines/industrial/src/industrial_style.h | 3 +- .../src/industrial_style_versioned_code.h | 28 -------- .../src/industrial_style_versioned_include.h | 12 ---- engines/industrial/src/parse_rc_style.h | 32 +++------ 11 files changed, 78 insertions(+), 116 deletions(-) commit fee525554a1f4d6b70fdc18da155a7e6f57711e7 Author: Thomas Wood Date: Mon Oct 2 17:57:25 2006 +0000 Improve insensitive outlines on various widgets. Add shadow to progress 2006-10-02 Thomas Wood * engines/crux/src/crux-draw.c: (paint_entry_shadow), (draw_box): Improve insensitive outlines on various widgets. Add shadow to progress bar background. * themes/Crux/gtk-2.0/gtkrc: Darken progress bar background. Tweak some insensitive colours ChangeLog | 17 +++++++-------- engines/crux/src/crux-draw.c | 46 ++++++++++++++++++++++++++++++++++++++--- themes/Crux/gtk-2.0/gtkrc | 8 +++--- 3 files changed, 54 insertions(+), 17 deletions(-) commit 9dda92475991fc3a780448190324d957ea858353 Author: Thomas Wood Date: Sun Oct 1 00:15:53 2006 +0000 New function to paint scale troughs (paint_progress_bar): GTK+ 2.10 now 2006-10-01 Thomas Wood * engines/crux/src/crux-draw.c: (paint_scale_trough): New function to paint scale troughs (paint_progress_bar): GTK+ 2.10 now clips the bar, so work round this for the end cap. (draw_box): See above (draw_option): Improve gradient contrast (draw_slider): Draw scale sliders differently. Implement prelight. * themes/Crux/gtk-2.0/gtkrc: Stop resize grip overlapping the status bar border. Added lapo's e-mail address. ChangeLog | 12 +++ engines/crux/src/crux-draw.c | 184 +++++++++++++++++++++++++++++++++--------- themes/Crux/gtk-2.0/gtkrc | 22 ++++-- 3 files changed, 174 insertions(+), 44 deletions(-) commit 8748e3f45cde4bad2741b1a7fc3112324dbb245c Author: Benjamin Berg Date: Fri Sep 29 18:47:44 2006 +0000 - Add myself - Industrial and Smooth are maintained in gtk-engines 2006-09-29 Benjamin Berg * MAINTAINERS: - Add myself - Industrial and Smooth are maintained in gtk-engines * configure.ac: - Do not use "echo -e" as some shells don't implement this ChangeLog | 9 +++++++++ MAINTAINERS | 4 +--- configure.ac | 7 ++++--- 3 files changed, 14 insertions(+), 6 deletions(-) commit 93fb7a6986b1d93a04dc2dc8c98ab837719c0420 Author: Thomas Wood Date: Thu Sep 7 20:25:49 2006 +0000 BROWN PAPER BAG PLEASE 2006-09-07 Thomas Wood * NEWS: BROWN PAPER BAG PLEASE ChangeLog | 4 ++++ NEWS | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit bbc57d9e48642230a355658caad23b3793b5dbf8 Author: Thomas Wood Date: Mon Sep 4 21:37:32 2006 +0000 Updated for 2.8.0 release 2006-09-04 Thomas Wood * NEWS: * configure.ac: Updated for 2.8.0 release * engines/crux/src/crux-draw.c: (draw_handle): Fix grip position * themes/Crux/gtk-2.0/gtkrc: Make sure icons are 22x22 in toolbars etc * themes/Mist/gtk-2.0/gtkrc: Use new Tango blue as "hilight" colour ChangeLog | 20 +++++++++++++ NEWS | 18 +++++++++++ configure.ac | 2 +- engines/clearlooks/src/config.h.in | 56 ++++++++++++++++++++++++++++++++++++ engines/crux/src/crux-draw.c | 13 ++------ themes/Crux/gtk-2.0/gtkrc | 9 +++++- themes/Mist/gtk-2.0/gtkrc | 4 +- 7 files changed, 108 insertions(+), 14 deletions(-) commit 457bce70d4eb1febd04dc6b4def9fd4f519726c3 Author: Andrew Johnson Date: Mon Sep 4 16:28:39 2006 +0000 - Add GE_WIDGET_HAS_DEFAULT to check for valid widget first 2006-09-04 Andrew Johnson * engines/clearlooks/src/clearlooks_style.c: * engines/glide/src/glide_gtk2_drawing.c: * engines/industrial/src/industrial_style.c: * engines/redmond/src/redmond_gtk2_drawing.c: * engines/smooth/src/engine/smooth_gtk2_drawing.c: * engines/support/widget-information.h: * engines/thinice/src/thinice_theme_draw.c: - Add GE_WIDGET_HAS_DEFAULT to check for valid widget first ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- engines/glide/src/glide_gtk2_drawing.c | 2 +- engines/industrial/src/industrial_style.c | 2 +- engines/redmond/src/redmond_gtk2_drawing.c | 2 +- engines/smooth/src/engine/smooth_gtk2_drawing.c | 4 ++-- engines/support/widget-information.h | 2 ++ engines/thinice/src/thinice_theme_draw.c | 2 +- 8 files changed, 21 insertions(+), 7 deletions(-) commit f10a73b947dd715e4bad34060292c714be93017b Author: Andrew Johnson Date: Mon Sep 4 16:07:44 2006 +0000 - Add some missing null widget checks 2006-09-04 Andrew Johnson * engines/smooth/src/engine/smooth_gtk2_drawing.c: * engines/smooth/src/engine/smooth_gtk2_misc.c: - Add some missing null widget checks ChangeLog | 7 +++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 6 +- engines/smooth/src/engine/smooth_gtk2_misc.c | 53 ++++++++++++----------- 3 files changed, 38 insertions(+), 28 deletions(-) commit dc871810c19d00a09a2250a2123278c2029f504e Author: Benjamin Berg Date: Mon Sep 4 15:52:09 2006 +0000 - Fix up the configure script - Remove the --disable-theme option 2006-09-04 Benjamin Berg * configure.ac: - Fix up the configure script - Remove the --disable-theme option ChangeLog | 6 +++ configure.ac | 137 +++++++++++++++++++++------------------------------------- 2 files changed, 56 insertions(+), 87 deletions(-) commit fd1744f42ccfb57d6f3845198fc867924e0bbbd2 Author: Andrew Johnson Date: Mon Sep 4 14:21:30 2006 +0000 - Add --enable-development flag - Fix thinice where default triangle used 2006-09-04 Andrew Johnson * configure.ac: * engines/clearlooks/Makefile.am: * engines/clearlooks/src/animation.c: * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/support.h: * engines/crux/Makefile.am: * engines/crux/src/crux-draw.c: * engines/glide/Makefile.am: * engines/hc/Makefile.am: * engines/hc/src/hc-style.c: * engines/industrial/Makefile.am: * engines/mist/Makefile.am: * engines/redmond/Makefile.am: * engines/support/Makefile.am: * engines/support/widget-information.c: * engines/thinice/Makefile.am: * engines/thinice/src/thinice_theme_draw.c: - Add --enable-development flag - Fix thinice where default triangle used un-set light/dark variables - Ensure all engines but smooth compile with paranoia ChangeLog | 25 +++++++++++++++++++++++++ configure.ac | 24 +++++++++++++++++++----- engines/clearlooks/Makefile.am | 2 +- engines/clearlooks/src/animation.c | 7 +++++-- engines/clearlooks/src/clearlooks_draw.c | 15 ++++++++------- engines/clearlooks/src/clearlooks_style.c | 20 +++++++++++--------- engines/clearlooks/src/support.h | 4 +++- engines/crux/Makefile.am | 2 +- engines/crux/src/crux-draw.c | 5 +---- engines/glide/Makefile.am | 2 +- engines/hc/Makefile.am | 2 +- engines/hc/src/hc-style.c | 2 +- engines/industrial/Makefile.am | 2 +- engines/mist/Makefile.am | 2 +- engines/redmond/Makefile.am | 2 +- engines/support/Makefile.am | 2 +- engines/support/widget-information.c | 4 +++- engines/thinice/Makefile.am | 2 +- engines/thinice/src/thinice_theme_draw.c | 5 ++--- 19 files changed, 87 insertions(+), 42 deletions(-) commit 3a33a6065b1226db359b11d6c7330359f80f6e8b Author: Benjamin Berg Date: Mon Sep 4 13:10:36 2006 +0000 - Create the cached colors inside realize instead of init_from_rc. 2006-09-04 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc), (clearlooks_style_realize), (clearlooks_style_class_init): - Create the cached colors inside realize instead of init_from_rc. * engines/industrial/src/industrial_style_versioned_code.h: - Add note that some code will need to be factored out to realize. * themes/Industrial/gtk-2.0/gtkrc: - Fix up WnckTasklist style properties - Decrease fade-loop-time to 2 seconds * themes/Clearlooks/gtk-2.0/gtkrc: - Make WnckTasklist change the bg color of fading tasks. ChangeLog | 17 ++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 23 +++++++++++++------ .../src/industrial_style_versioned_code.h | 1 + themes/Clearlooks/gtk-2.0/gtkrc | 2 + themes/Industrial/gtk-2.0/gtkrc | 5 ++- 5 files changed, 39 insertions(+), 9 deletions(-) commit 460e5264c84853b64ba0aa384c965a5436381c2b Author: Andrew Johnson Date: Mon Sep 4 00:59:39 2006 +0000 - Fix Missed GE_IS_STYLE -> GTK_IS_STYLE 2006-09-03 Andrew Johnson * engines/mist/src/mist-style.c: - Fix Missed GE_IS_STYLE -> GTK_IS_STYLE ChangeLog | 6 ++++++ engines/mist/src/mist-style.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit fcf0b1075c14227ce0a4539d6af5fc9ab75a5495 Author: Andrew Johnson Date: Sun Sep 3 21:07:46 2006 +0000 - Fixup widget->object in IS_* macros - Fix missed IS_* with GE_IS-* - 2006-09-03 Andrew Johnson * engines/clearlooks/src/animation.c: * engines/clearlooks/src/support.c: * engines/crux/src/crux-draw.c: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_support.c: * engines/hc/src/hc-style.c: * engines/hc/src/hc_gtk2_support.c: * engines/industrial/src/industrial_style.c: * engines/mist/src/mist-style.c: * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_misc.c: * engines/smooth/src/engine/smooth_gtk2_drawing.c: * engines/support/widget-information.c: * engines/support/widget-information.h: - Fixup widget->object in IS_* macros - Fix missed IS_* with GE_IS-* - Removed GE_IS_STYLE and revert to GTK_IS_STYLE (not a GObject!) ChangeLog | 21 +++++ engines/clearlooks/src/animation.c | 6 +- engines/clearlooks/src/clearlooks_style.c | 26 +++--- engines/clearlooks/src/support.c | 6 +- engines/crux/src/crux-draw.c | 6 +- engines/glide/src/glide_gtk2_drawing.c | 36 ++++---- engines/glide/src/glide_gtk2_support.c | 12 ++-- engines/hc/src/hc-style.c | 4 +- engines/hc/src/hc_gtk2_support.c | 12 ++-- engines/industrial/src/industrial_style.c | 2 +- engines/mist/src/mist-style.c | 4 +- engines/redmond/src/redmond_gtk2_drawing.c | 48 ++++++------ engines/redmond/src/redmond_gtk2_misc.c | 12 ++-- engines/smooth/src/engine/smooth_gtk2_drawing.c | 16 ++-- engines/support/widget-information.c | 43 +++++----- engines/support/widget-information.h | 99 +++++++++++------------ 16 files changed, 187 insertions(+), 166 deletions(-) commit 3267e24e07d2a8182447ca982c4e41e3c288141b Author: Andrew Johnson Date: Sun Sep 3 20:30:40 2006 +0000 - Fix IS_STATUS_BAR -> IS_STATUSBAR macro - Add Missing IS_* macros - 2006-09-03 Andrew Johnson * engines/clearlooks/src/animation.h: * engines/clearlooks/src/clearlooks_style.c: * engines/crux/src/crux-draw.c: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_support.c: * engines/hc/src/hc-style.c: * engines/hc/src/hc_gtk2_support.c: * engines/industrial/src/industrial_style.c: * engines/mist/src/mist-style.c: * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_misc.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: * engines/smooth/src/engine/smooth_gtk2_drawing.c: * engines/smooth/src/engine/smooth_gtk2_misc.c: * engines/support/widget-information.c: * engines/support/widget-information.h: - Fix IS_STATUS_BAR -> IS_STATUSBAR macro - Add Missing IS_* macros - Change ge_object_is_a to check a GObject instead of a GtkWidget - Rename All IS_* Macros to GE_IS_* - Replace last GTK_IS_* with GE_IS_* ChangeLog | 25 +++++ engines/clearlooks/src/animation.h | 2 +- engines/clearlooks/src/clearlooks_style.c | 32 +++--- engines/crux/src/crux-draw.c | 24 +++--- engines/glide/src/glide_gtk2_drawing.c | 54 +++++----- engines/glide/src/glide_gtk2_support.c | 6 +- engines/hc/src/hc-style.c | 6 +- engines/hc/src/hc_gtk2_support.c | 6 +- engines/industrial/src/industrial_style.c | 4 +- engines/mist/src/mist-style.c | 16 ++-- engines/redmond/src/redmond_gtk2_drawing.c | 28 +++--- engines/redmond/src/redmond_gtk2_misc.c | 6 +- .../src/engine/shared/gtk/smooth_gtk_drawing.c | 6 +- engines/smooth/src/engine/smooth_gtk2_drawing.c | 70 +++++++------- engines/smooth/src/engine/smooth_gtk2_misc.c | 14 ++-- engines/support/widget-information.c | 18 ++-- engines/support/widget-information.h | 100 ++++++++++--------- 17 files changed, 224 insertions(+), 193 deletions(-) commit 32162768973bec42776b895f7f42480569a76674 Author: Richard A. Stellingwerff Date: Sun Sep 3 19:56:35 2006 +0000 Sharper resize handle in statusbar. 2006-09-03 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_resize_grip): Sharper resize handle in statusbar. ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 19 +++++++++---------- engines/support/widget-information.h | 2 +- 3 files changed, 17 insertions(+), 11 deletions(-) commit 452948bac94034c3615dd84ab19e9260e4bad465 Author: Richard A. Stellingwerff Date: Sun Sep 3 19:16:11 2006 +0000 Drawing of arrows on optionmenus was broken in Firefox. 2006-09-03 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_tab): Drawing of arrows on optionmenus was broken in Firefox. ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) commit 8e66a7fce9a6797c182e9b32d9aec19db3e60a3b Author: Richard A. Stellingwerff Date: Sun Sep 3 11:23:25 2006 +0000 Arrows are now drawn with the right color and less fuzzy. 2006-09-03 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_box), (clearlooks_style_draw_tab), (clearlooks_style_draw_arrow): Arrows are now drawn with the right color and less fuzzy. ChangeLog | 8 +++ engines/clearlooks/src/clearlooks_style.c | 93 ++++++++++++---------------- 2 files changed, 48 insertions(+), 53 deletions(-) commit da49d529864667a2019e67b1a9068597cbb31f9e Author: Richard A. Stellingwerff Date: Sun Sep 3 09:12:41 2006 +0000 Added grip handles to scrollbars. 2006-09-03 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider): Added grip handles to scrollbars. ChangeLog | 8 +++ engines/clearlooks/src/clearlooks_draw.c | 96 ++++++++++++++++++++++-------- 2 files changed, 80 insertions(+), 24 deletions(-) commit 310b298ba5b3488e182b82b032939b0fa7ca334c Author: Richard A. Stellingwerff Date: Sat Sep 2 12:52:06 2006 +0000 Increased contrast of disabled radio/checkboxes. Fixes #326309. 2006-09-02 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_option), (clearlooks_style_draw_check): Increased contrast of disabled radio/checkboxes. Fixes #326309. ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) commit 249e51a10abee905b459490ed0da7eec3c263158 Author: Thomas Wood Date: Thu Aug 31 21:30:00 2006 +0000 Remove glossy scrollbars (with Richard's permission) for use as the GNOME 2006-08-31 Thomas Wood * themes/Clearlooks/gtk-2.0/gtkrc: Remove glossy scrollbars (with Richard's permission) for use as the GNOME default. ChangeLog | 5 +++++ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 18043aadcc9e0f6f49051098761ebcf1f97d467e Author: Benjamin Berg Date: Sun Aug 27 18:23:04 2006 +0000 - Fall back to draw_flat_box if shadow is NONE and something unkown gets 2006-08-27 Benjamin Berg * engines/industrial/src/industrial_style.c: (real_draw_box): - Fall back to draw_flat_box if shadow is NONE and something unkown gets drawn. This fixes inkscape rulers. Also added a now needed workaround for panel menubars. Fix based on a patch by Josselin Mouette from http://bugzilla.ximian.com/show_bug.cgi?id=45579 ChangeLog | 9 +++++++++ engines/industrial/src/industrial_style.c | 29 ++++++++++++++++++----------- 2 files changed, 27 insertions(+), 11 deletions(-) commit dd0a2e805e93c8a5280a22097e2a165889d6a680 Author: Benjamin Berg Date: Thu Aug 24 20:54:48 2006 +0000 - Fix a // comment 2006-08-24 Benjamin Berg * engines/hc/src/hc-style.c: (hc_draw_check): - Fix a // comment * engines/industrial/src/industrial_style.c: (draw_option): - Add a missing cairo_destroy call - Implement a basic inconsistent state ChangeLog | 9 +++++++++ engines/hc/src/hc-style.c | 2 +- engines/industrial/src/industrial_style.c | 10 +++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) commit e5baa99344741c9f34363f6f4a8df036b7e10a44 Author: Thomas Wood Date: Wed Aug 23 22:19:58 2006 +0000 Fix spinbutton background (draw_arrow), (draw_extension): Fix combobox 2006-08-23 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box): Fix spinbutton background (draw_arrow), (draw_extension): Fix combobox arrow sizes (draw_tab), (draw_box_gap): Fix inner stroke in notebook tabs ChangeLog | 7 ++++ engines/crux/src/crux-draw.c | 71 +++++++++++++++++++++-------------------- 2 files changed, 43 insertions(+), 35 deletions(-) commit d444c51d159e84a08fbf849e39603c446601f8e0 Author: Benjamin Berg Date: Wed Aug 23 21:40:27 2006 +0000 Forgot to mention a fixed bug. ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 8264013ae0038cb0550568e222c3c7beaf30c0a8 Author: Benjamin Berg Date: Wed Aug 23 21:05:17 2006 +0000 - Fix RTL locales - Remove // comments - Remove/comment out some debugging 2006-08-23 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_types.h: - Fix RTL locales - Remove // comments - Remove/comment out some debugging spew. Including some weird if block in draw_vline. ChangeLog | 10 ++ engines/clearlooks/src/clearlooks_draw.c | 25 +++-- engines/clearlooks/src/clearlooks_style.c | 140 +++++++++++++++------------- engines/clearlooks/src/clearlooks_types.h | 2 +- 4 files changed, 101 insertions(+), 76 deletions(-) commit 66d31180c3c6a75295200d6e7fb1daef0fe3d8ef Author: Thomas Wood Date: Wed Aug 23 19:26:31 2006 +0000 Update for 2.7.8 release 2006-08-21 Thomas Wood * NEWS: * configure.ac: Update for 2.7.8 release ChangeLog | 7 +++++++ NEWS | 23 +++++++++++++++++++++++ configure.ac | 2 +- 3 files changed, 31 insertions(+), 1 deletions(-) commit 71a7e17dbd61b9954b80cbf036998ec8414e81c1 Author: Andrew Johnson Date: Mon Aug 21 21:51:54 2006 +0000 - Start Cleanup of thinice - Add workaround for cell renderer check/radio 2006-08-21 Andrew Johnson * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_check): * engines/glide/src/glide_gtk2_support.c: (do_glide_draw_check), (do_glide_draw_dot), (do_glide_draw_grip): * engines/hc/src/hc-style.c: (hc_draw_check), (hc_draw_option): * engines/hc/src/hc_gtk2_engine.c: (hc_rc_style_parse), (hc_rc_style_merge), (hc_rc_style_init), (hc_style_copy), (hc_style_init_from_rc): * engines/hc/src/hc_gtk2_engine.h: * engines/support/widget-information.c: (ge_toggle_get_inconsistent): * engines/support/widget-information.h: * engines/thinice/src/thinice_theme_draw.c: (thinice_style_draw_box): - Start Cleanup of thinice - Add workaround for cell renderer check/radio till 2.12 style fix - Add ge_toggle_get_inconsistent for function ChangeLog | 20 ++ engines/glide/src/glide_gtk2_drawing.c | 5 +- engines/glide/src/glide_gtk2_support.c | 76 ++++---- engines/hc/src/hc-style.c | 39 ++--- engines/hc/src/hc_gtk2_engine.c | 17 ++- engines/hc/src/hc_gtk2_engine.h | 2 + engines/support/widget-information.c | 9 + engines/support/widget-information.h | 1 + engines/thinice/src/thinice_theme_draw.c | 291 +++++++++++++----------------- 9 files changed, 227 insertions(+), 233 deletions(-) commit d4e0baa37108bde6535f2f6c98a5658de5f7f58a Author: Benjamin Otte Date: Mon Aug 21 17:35:20 2006 +0000 only query style properties if the widget really is a GtkRange * engines/smooth/src/engine/smooth_gtk2_misc.c: (smooth_reverse_engineer_stepper_box): only query style properties if the widget really is a GtkRange ChangeLog | 6 ++++++ engines/smooth/src/engine/smooth_gtk2_misc.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit 54e0700fd0f22acc278afcba55a678ab7832425b Author: Benjamin Otte Date: Mon Aug 21 17:11:00 2006 +0000 not everything that uses the scrollbar details is a scrollbar * engines/clearlooks/src/support.c: (clearlooks_scrollbar_visible_steppers), (clearlooks_scrollbar_get_junction): not everything that uses the scrollbar details is a scrollbar ChangeLog | 7 +++++++ engines/clearlooks/src/support.c | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) commit c60e8f314180b7450821747eb8653b4c869ab5f6 Author: Benjamin Berg Date: Mon Aug 21 14:56:46 2006 +0000 - change the color of the grid slightly - speed up the grid by filling all 2006-08-21 Benjamin Berg * engines/industrial/src/industrial_style.c: (draw_grid_cairo): - change the color of the grid slightly - speed up the grid by filling all pixel at the same time. * engines/industrial/src/industrial_style.c: (real_draw_box), (draw_extension): - make some colors relative, fix "in" gradient for buttons ChangeLog | 10 ++++++ engines/industrial/src/industrial_style.c | 48 +++++++++++++++++----------- 2 files changed, 39 insertions(+), 19 deletions(-) commit 25543ad6dc6c6b104ec8d421ee72973e0b2d3ca6 Author: Benjamin Berg Date: Sat Aug 19 10:00:31 2006 +0000 small speed improvements all over the place: - draw_rounded_rect is now 2006-08-19 Benjamin Berg * engines/industrial/src/industrial_style.c: (draw_rounded_gradient), (draw_rounded_rect), (draw_grid_cairo), (real_draw_box), (draw_focus): small speed improvements all over the place: - draw_rounded_rect is now fixed and has some special cases. - the border color of default buttons is special cased instead of relying on transparency. - draw grid draws 5 pixel instead of an arc. ChangeLog | 12 ++ engines/industrial/src/industrial_style.c | 200 +++++++++++++++++------------ 2 files changed, 127 insertions(+), 85 deletions(-) commit 286c222bd28d8e53417789098e4681fc04cf2709 Author: Andrew Johnson Date: Fri Aug 18 19:13:22 2006 +0000 - Use the base/text values for expander arrow 2006-08-18 Andrew Johnson * engines/hc/src/hc-style.c: (hc_draw_expander): * engines/hc/src/hc_gtk2_drawing.h: * engines/hc/src/hc_gtk2_engine.c: (hc_style_class_init): - Use the base/text values for expander arrow ChangeLog | 8 +++ engines/hc/src/hc-style.c | 125 ++++++++++++++++++++++++++++++++++++++ engines/hc/src/hc_gtk2_drawing.h | 11 +++ engines/hc/src/hc_gtk2_engine.c | 1 + 4 files changed, 145 insertions(+), 0 deletions(-) commit c621fe2e0e3abea86f068bfecdfb269f31fc092d Author: Benjamin Berg Date: Fri Aug 18 16:02:03 2006 +0000 - add a slight shadow to the radiobutton - change in draw_rounded_gradient 2006-08-18 Benjamin Berg * engines/industrial/src/industrial_style.c: (draw_rounded_gradient), (draw_rounded_rect), (real_draw_box), (draw_box), (draw_option): - add a slight shadow to the radiobutton - change in draw_rounded_gradient to prevent blank pixel in the corners of buttons. - fixed menuitem border opacity - small cleanup * themes/Industrial/gtk-2.0/gtkrc: - Tweak the WnckTasklist glowing - cleanups ChangeLog | 15 ++++ engines/industrial/src/industrial_style.c | 112 +++++++++++++++++++++++------ themes/Industrial/gtk-2.0/gtkrc | 11 +-- 3 files changed, 109 insertions(+), 29 deletions(-) commit ba99bd3af8835627ec947a331c7904585a92f631 Author: Andrew Johnson Date: Fri Aug 18 14:45:52 2006 +0000 - Improve Visibility/Contrast of Checks, Still not right, but better 2006-08-18 Andrew Johnson * engines/hc/src/hc-style.c: (hc_draw_check): - Improve Visibility/Contrast of Checks, Still not right, but better ChangeLog | 6 ++++++ engines/hc/src/hc-style.c | 26 ++++++++++++++------------ 2 files changed, 20 insertions(+), 12 deletions(-) commit bd704a3e2bea7ec5e28e46cd55f409db76a0116c Author: Benjamin Berg Date: Wed Aug 16 22:28:13 2006 +0000 - added shadow to checkbutton 2006-08-17 Benjamin Berg * engines/industrial/src/industrial_style.c: (draw_slider), (draw_check): - added shadow to checkbutton * themes/Industrial/gtk-2.0/gtkrc: - enable trough-side-details - activate sliders - set x/ythickness of GtkProgress to 0px - some cleanups ChangeLog | 12 +++++++++ engines/industrial/src/industrial_style.c | 17 +++++++++++-- themes/Industrial/gtk-2.0/gtkrc | 37 +++++++++++++--------------- 3 files changed, 43 insertions(+), 23 deletions(-) commit bd2c8c60af382f304e9418f1bcfd19fc98c76ee2 Author: Benjamin Berg Date: Wed Aug 16 15:33:51 2006 +0000 - remove some debugging cruft 2006-08-16 Benjamin Berg * engines/industrial/src/industrial_style.c: (draw_focus): - remove some debugging cruft ChangeLog | 5 +++++ engines/industrial/src/industrial_style.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit bb737afd4b488f2578be1fd88ba44cefa8d883cb Author: Benjamin Berg Date: Wed Aug 16 15:19:07 2006 +0000 - Implement a focus for GtkEntry - Some cleanups. 2006-08-16 Benjamin Berg * engines/industrial/src/industrial_style.c: (real_draw_box), (draw_focus), (draw_shadow): * engines/industrial/src/industrial_style_versioned_code.h: - Implement a focus for GtkEntry - Some cleanups. * themes/Industrial/gtk-2.0/gtkrc: - Use the focus for GtkEntry - Some other small changes ChangeLog | 12 ++++ engines/industrial/src/industrial_style.c | 57 +++++++++++++++++--- .../src/industrial_style_versioned_code.h | 19 +------ themes/Industrial/gtk-2.0/gtkrc | 37 ++++++++----- 4 files changed, 87 insertions(+), 38 deletions(-) commit 94c8b8f131410277dc2d38dc735df1cffd156de5 Author: Andrew Johnson Date: Wed Aug 16 01:33:48 2006 +0000 - Fix Pattern Translate offset 2006-08-15 Andrew Johnson * engines/glide/src/glide_gtk2_support.c: (glide_draw_pattern_fill): - Fix Pattern Translate offset ChangeLog | 5772 ++++++++++++++++++++++++++++++++ engines/glide/src/glide_gtk2_support.c | 4 +- 2 files changed, 5774 insertions(+), 2 deletions(-) commit e07df242df21d12cbb52eca22dc8bcfdb6548bf1 Author: Benjamin Berg Date: Tue Aug 15 19:16:59 2006 +0000 - include ge-support.h in animation.h instead of animation.c. This is 2006-08-15 Benjamin Berg * engines/clearlooks/src/animation.c: * engines/clearlooks/src/animation.h: - include ge-support.h in animation.h instead of animation.c. This is needed for GE_INTERNAL. ChangeLog | 8 ++++++++ engines/clearlooks/src/animation.c | 1 - engines/clearlooks/src/animation.h | 1 + 3 files changed, 9 insertions(+), 1 deletions(-) commit 9bd60c6fe8aebc439066eb0481a9c4a0d4f2cedf Author: Benjamin Berg Date: Tue Aug 15 12:10:08 2006 +0000 - small improvements all over the place. ComboBoxes and Spinbuttons don't 2006-08-15 Benjamin Berg * engines/industrial/src/industrial_style.c: (draw_rounded_rect), (real_draw_box), (real_draw_box_gap), (draw_extension), (draw_check): - small improvements all over the place. ComboBoxes and Spinbuttons don't have a two pixel distance between buttons and entry anymore. * engines/support/cairo-support.c: (ge_cairo_rounded_rectangle): - Handle a small radius by using cairo_rectangle. * engines/support/widget-information.c: (ge_button_get_default_border): * engines/support/widget-information.h: - added ge_button_get_default_border which I need for industrial ChangeLog | 16 +++ engines/industrial/src/industrial_style.c | 205 +++++++++++++++++------------ engines/support/cairo-support.c | 6 + engines/support/widget-information.c | 23 +++- engines/support/widget-information.h | 3 + 5 files changed, 169 insertions(+), 84 deletions(-) commit 19f0888f98933118e11445928354ee1de7a79303 Author: Andrew Johnson Date: Sun Aug 13 19:18:41 2006 +0000 - Fixed cairo_t leak ala bug #351057 2006-08-13 Andrew Johnson * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_draw_arrow): - Fixed cairo_t leak ala bug #351057 ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) commit a73e983c76e5280a1ff0d37aa764039353435011 Author: Andrew Johnson Date: Wed Aug 9 22:48:06 2006 +0000 - Make sure all headers now using GE_INTERNAL include it via ge-support.h 2006-08-09 Andrew Johnson * engines/clearlooks/src/clearlooks_style.c: * engines/crux/src/crux-draw.h: * engines/crux/src/crux-rc-style.h: * engines/industrial/src/industrial_style.h: * engines/mist/src/mist-rc-style.h: * engines/smooth/src/interfaces/drawing_interface.h: * engines/support/cairo-support.c: * engines/support/general-support.h: * engines/support/widget-information.c: * engines/thinice/src/thinice_rc_style.h: - Make sure all headers now using GE_INTERNAL include it via ge-support.h ChangeLog | 15 +++++++++++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- engines/crux/src/crux-draw.h | 1 + engines/crux/src/crux-rc-style.h | 1 + engines/industrial/src/industrial_style.h | 2 ++ engines/mist/src/mist-rc-style.h | 1 + engines/smooth/src/interfaces/drawing_interface.h | 6 ++++-- engines/support/cairo-support.c | 1 + engines/support/general-support.h | 8 ++++---- engines/support/widget-information.c | 1 + engines/thinice/src/thinice_rc_style.h | 1 + 11 files changed, 32 insertions(+), 7 deletions(-) commit 253694746978a9b8d11eeb9f64c7079d0ec15d19 Author: Andrew Johnson Date: Wed Aug 9 21:29:26 2006 +0000 - Fix "trailing whitespace" silly automake 2006-08-09 Andrew Johnson * engines/smooth/Makefile.am: - Fix "trailing whitespace" silly automake ChangeLog | 5 +++++ engines/smooth/Makefile.am | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) commit 662f43402a499632a24f352bab08da4de4dce6cb Author: Andrew Johnson Date: Wed Aug 9 21:25:11 2006 +0000 Fix Bug #350606 - - Move G_GNUC_INTERNAL macro to the start of the line - 2006-08-09 Andrew Johnson * engines/clearlooks/src/animation.h: * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/support.h: * engines/crux/src/crux-draw.h: * engines/crux/src/crux-rc-style.h: * engines/crux/src/crux-style.h: * engines/glide/src/glide_gtk2_drawing.h: * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.h: * engines/hc/src/hc_gtk2_drawing.h: * engines/hc/src/hc_gtk2_engine.h: * engines/hc/src/hc_gtk2_support.h: * engines/industrial/src/industrial_rc_style.h: * engines/industrial/src/industrial_style.h: * engines/mist/src/mist-rc-style.h: * engines/mist/src/mist-style.h: * engines/redmond/src/redmond_gtk2_drawing.h: * engines/redmond/src/redmond_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_misc.h: * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.h: * engines/smooth/src/engine/shared/gtk/smooth_gtk_misc.h: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.h: * engines/smooth/src/engine/smooth_gtk2_drawing.h: * engines/smooth/src/engine/smooth_gtk2_engine.h: * engines/smooth/src/engine/smooth_gtk2_misc.h: * engines/smooth/src/engine/smooth_gtk2_rc.h: * engines/smooth/src/interfaces/abstract/abstract_drawing_interface .h: * engines/smooth/src/interfaces/drawing_interface.h: * engines/smooth/src/interfaces/gdk2/gdk2_drawing_interface.h: * engines/smooth/src/interfaces/shared/gdk/gdk_drawing_interface.h: * engines/smooth/src/interfaces/shared/gdk/gdk_private_drawing_inte rface.h: * engines/smooth/src/utils/calc_colors.h: * engines/smooth/src/utils/draw_arrows.h: * engines/smooth/src/utils/draw_border.h: * engines/smooth/src/utils/draw_checkmark.h: * engines/smooth/src/utils/draw_fill.h: * engines/smooth/src/utils/draw_grips.h: * engines/support/cairo-support.h: * engines/support/general-support.h: * engines/support/widget-information.h: * engines/thinice/src/thinice_misc.h: * engines/thinice/src/thinice_rc_style.h: * engines/thinice/src/thinice_style.h: Fix Bug #350606 - - Move G_GNUC_INTERNAL macro to the start of the line - Replace G_GNUC_INTERNAL with new GE_INTERNAL private macro ChangeLog | 54 +++ engines/clearlooks/src/animation.h | 10 +- engines/clearlooks/src/clearlooks_draw.h | 100 +++--- engines/clearlooks/src/clearlooks_rc_style.h | 4 +- engines/clearlooks/src/clearlooks_style.h | 4 +- engines/clearlooks/src/support.h | 20 +- engines/crux/src/crux-draw.h | 2 +- engines/crux/src/crux-rc-style.h | 4 +- engines/crux/src/crux-style.h | 4 +- engines/glide/src/glide_gtk2_drawing.h | 62 ++-- engines/glide/src/glide_gtk2_engine.h | 6 +- engines/glide/src/glide_gtk2_support.h | 46 ++-- engines/hc/src/hc_gtk2_drawing.h | 72 ++-- engines/hc/src/hc_gtk2_engine.h | 6 +- engines/hc/src/hc_gtk2_support.h | 20 +- engines/industrial/src/industrial_rc_style.h | 4 +- engines/industrial/src/industrial_style.h | 4 +- engines/mist/src/mist-rc-style.h | 4 +- engines/mist/src/mist-style.h | 4 +- engines/redmond/src/redmond_gtk2_drawing.h | 44 ++-- engines/redmond/src/redmond_gtk2_engine.h | 4 +- engines/redmond/src/redmond_gtk2_misc.h | 28 +- .../src/engine/shared/gtk/smooth_gtk_drawing.h | 20 +- .../smooth/src/engine/shared/gtk/smooth_gtk_misc.h | 8 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 164 +++++----- engines/smooth/src/engine/smooth_gtk2_drawing.h | 72 ++-- engines/smooth/src/engine/smooth_gtk2_engine.h | 10 +- engines/smooth/src/engine/smooth_gtk2_misc.h | 26 +- engines/smooth/src/engine/smooth_gtk2_rc.h | 14 +- .../abstract/abstract_drawing_interface.h | 4 +- engines/smooth/src/interfaces/drawing_interface.h | 356 ++++++++++---------- .../src/interfaces/gdk2/gdk2_drawing_interface.h | 6 +- .../interfaces/shared/gdk/gdk_drawing_interface.h | 34 +- .../shared/gdk/gdk_private_drawing_interface.h | 8 +- engines/smooth/src/utils/calc_colors.h | 4 +- engines/smooth/src/utils/draw_arrows.h | 8 +- engines/smooth/src/utils/draw_border.h | 28 +- engines/smooth/src/utils/draw_checkmark.h | 4 +- engines/smooth/src/utils/draw_fill.h | 4 +- engines/smooth/src/utils/draw_grips.h | 16 +- engines/support/cairo-support.h | 30 +- engines/support/general-support.h | 14 + engines/support/widget-information.h | 28 +- engines/thinice/src/thinice_misc.h | 22 +- engines/thinice/src/thinice_rc_style.h | 4 +- engines/thinice/src/thinice_style.h | 4 +- 46 files changed, 731 insertions(+), 663 deletions(-) commit d028842e2f2b9bc96738363fa221d66d4726cf9b Author: Andrew Johnson Date: Wed Aug 9 00:32:05 2006 +0000 - disable border for menus on panel 2006-08-08 Andrew Johnson * engines/hc/src/hc-style.c: (hc_draw_shadow): - disable border for menus on panel ChangeLog | 5 +++++ engines/hc/src/hc-style.c | 5 +++++ 2 files changed, 10 insertions(+), 0 deletions(-) commit a26c9c92867fb93e1288d76fb25dddb49d5d5b1f Author: Andrew Johnson Date: Tue Aug 8 23:02:23 2006 +0000 - Add paranoia and deprecated configure flags - Improve HC Check 2006-08-08 Andrew Johnson * configure.ac: * engines/clearlooks/Makefile.am: * engines/clearlooks/src/clearlooks_rc_style.c: * engines/clearlooks/src/clearlooks_style.c: * engines/crux/Makefile.am: * engines/crux/src/crux-draw.c: * engines/glide/Makefile.am: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_engine.c: * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.c: * engines/hc/Makefile.am: * engines/hc/src/hc-style.c: * engines/hc/src/hc_gtk2_engine.c: * engines/hc/src/hc_gtk2_engine.h: * engines/hc/src/hc_gtk2_support.c: * engines/industrial/Makefile.am: * engines/mist/Makefile.am: * engines/mist/src/mist-style.c: * engines/redmond/Makefile.am: * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_misc.c: * engines/smooth/Makefile.am: * engines/support/Makefile.am: * engines/support/cairo-support.c: * engines/support/cairo-support.h: * engines/support/widget-information.c: * engines/thinice/Makefile.am: * engines/thinice/src/thinice_misc.c: * engines/thinice/src/thinice_rc_style.c: * engines/thinice/src/thinice_theme_draw.c: - Add paranoia and deprecated configure flags - Improve HC Check Inconsistent - Add initial code for HC edge thickness RC flag - Fix broken Clearlooks menu on panel check - Make various little changes/fixes ChangeLog | 40 ++ configure.ac | 34 ++ engines/clearlooks/Makefile.am | 2 +- engines/clearlooks/src/clearlooks_rc_style.c | 2 - engines/clearlooks/src/clearlooks_style.c | 2 +- engines/crux/Makefile.am | 5 +- engines/crux/src/crux-draw.c | 21 +- engines/glide/Makefile.am | 2 +- engines/glide/src/glide_gtk2_drawing.c | 23 +- engines/glide/src/glide_gtk2_engine.c | 7 +- engines/glide/src/glide_gtk2_engine.h | 2 +- engines/glide/src/glide_gtk2_support.c | 39 +-- engines/hc/Makefile.am | 2 +- engines/hc/src/hc-style.c | 552 ++++++++++++-------------- engines/hc/src/hc_gtk2_engine.c | 185 +++++++++- engines/hc/src/hc_gtk2_engine.h | 3 + engines/hc/src/hc_gtk2_support.c | 2 - engines/industrial/Makefile.am | 2 +- engines/mist/Makefile.am | 2 +- engines/mist/src/mist-style.c | 20 +- engines/redmond/Makefile.am | 2 +- engines/redmond/src/redmond_gtk2_drawing.c | 2 +- engines/redmond/src/redmond_gtk2_misc.c | 28 +- engines/smooth/Makefile.am | 2 +- engines/support/Makefile.am | 2 +- engines/support/cairo-support.c | 3 +- engines/support/cairo-support.h | 15 +- engines/support/widget-information.c | 6 +- engines/thinice/Makefile.am | 2 +- engines/thinice/src/thinice_misc.c | 2 - engines/thinice/src/thinice_rc_style.c | 2 - engines/thinice/src/thinice_theme_draw.c | 5 - 32 files changed, 609 insertions(+), 409 deletions(-) commit 9790a92b12751ffed86f1f04355881c653290e6c Author: Andrew Johnson Date: Tue Aug 8 16:55:57 2006 +0000 - Last C89 Patch too close bug #349575 2006-08-07 Andrew Johnson * engines/clearlooks/src/clearlooks_style.c: * engines/crux/src/crux-draw.c: * engines/glide/src/glide_gtk2_drawing.c: - Last C89 Patch too close bug #349575 ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_style.c | 21 +++++++++++++-------- engines/crux/src/crux-draw.c | 15 ++++++++------- engines/glide/src/glide_gtk2_drawing.c | 3 ++- 4 files changed, 31 insertions(+), 16 deletions(-) commit 2a2f2abae44ef61be42ff382262625e01b8cd926 Author: Thomas Wood Date: Mon Aug 7 22:09:02 2006 +0000 Update for 2.7.7 release 2006-08-07 Thomas Wood * NEWS: * configure.ac: Update for 2.7.7 release ChangeLog | 7 +++++++ NEWS | 15 +++++++++++++++ configure.ac | 2 +- 3 files changed, 23 insertions(+), 1 deletions(-) commit 387e051fbb0064a93e8ce3b6fbfe823935c9848f Author: Andrew Johnson Date: Mon Aug 7 18:56:20 2006 +0000 - Add inconsistent state for option buttons per bug #347227 2006-08-07 Andrew Johnson * engines/clearlooks/src/clearlooks_style.c: - Add inconsistent state for option buttons per bug #347227 * engines/clearlooks/src/config.h.in: - Stupid autoheader ChangeLog | 7 ++++ engines/clearlooks/src/clearlooks_style.c | 54 ++++++++++++++++++++++------ engines/clearlooks/src/config.h.in | 56 ----------------------------- 3 files changed, 50 insertions(+), 67 deletions(-) commit 4ec51fd7808d6ef4a95aa530b3eeba781e968503 Author: Thomas Wood Date: Mon Aug 7 12:36:37 2006 +0000 - cairo based arrow drawing - improved scrollbar steppers - draw gradients 2006-08-07 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box), (draw_arrow), (draw_tab): - cairo based arrow drawing - improved scrollbar steppers - draw gradients on handle boxes (draw_extension): Match the inner stroke colour on bottom tabs to the colour in draw_box. (draw_handle): Don't draw boxes around handles that are on the panel ChangeLog | 15 ++ engines/crux/src/crux-draw.c | 296 ++++++++++++++++-------------------------- 2 files changed, 129 insertions(+), 182 deletions(-) commit 201eb4b701f7c41b2ee5364d4585ab3881e35e4a Author: Benjamin Berg Date: Thu Aug 3 23:34:30 2006 +0000 - Fix another possible crash bug. 2006-08-04 Benjamin Berg * engines/crux/src/crux-draw.c: (draw_box): - Fix another possible crash bug. ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit eac802b7686aed378e93d9deb3fa7b8d1e0471c6 Author: Andrew Johnson Date: Thu Aug 3 23:08:30 2006 +0000 - Remove evil reset clip code 2006-08-03 Andrew Johnson * engines/glide/src/glide_gtk2_support.c: (do_glide_draw_simple_circle): * engines/thinice/src/thinice_theme_draw.c: (thinice_style_draw_option): - Remove evil reset clip code ChangeLog | 9 +++++++++ engines/glide/src/glide_gtk2_support.c | 7 +++++-- engines/thinice/src/thinice_theme_draw.c | 7 +++++-- 3 files changed, 19 insertions(+), 4 deletions(-) commit a855c21751c419ce50c9c47a2e41c615168c5d5f Author: Andrew Johnson Date: Thu Aug 3 22:58:52 2006 +0000 - Quick fix to Use Min(width, height)/2 for option radius 2006-08-03 Andrew Johnson * engines/thinice/src/thinice_theme_draw.c: - Quick fix to Use Min(width, height)/2 for option radius ChangeLog | 5 +++++ engines/thinice/src/thinice_theme_draw.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit a93ff8aa1a7dc5543279352c4836623a81767eb5 Author: Andrew Johnson Date: Thu Aug 3 22:52:40 2006 +0000 - Namespace all engine symbols for thinice, smooth, mist, redmond, 2006-08-03 Andrew Johnson * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_rc_style.c: * engines/clearlooks/src/clearlooks_style.c: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_support.c: * engines/mist/src/mist-rc-style.c: * engines/mist/src/mist-style.c: * engines/redmond/src/redmond_gtk2_engine.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_misc.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_misc.h: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.h: * engines/smooth/src/engine/smooth_gtk2_drawing.c: * engines/smooth/src/engine/smooth_gtk2_engine.c: * engines/smooth/src/engine/smooth_gtk2_misc.c: * engines/smooth/src/engine/smooth_gtk2_misc.h: * engines/smooth/src/engine/smooth_gtk2_rc.c: * engines/smooth/src/engine/smooth_gtk2_rc.h: * engines/smooth/src/interfaces/abstract/abstract_drawing_interface.c: * engines/smooth/src/interfaces/abstract/abstract_drawing_interface.h: * engines/smooth/src/interfaces/abstract/src/abstract_gradient_routines.c: * engines/smooth/src/interfaces/abstract/src/abstract_gradient_routines.h: * engines/smooth/src/interfaces/abstract/src/abstract_tile_routines.c: * engines/smooth/src/interfaces/abstract/src/abstract_tile_routines.h: * engines/smooth/src/interfaces/drawing_interface.c: * engines/smooth/src/interfaces/drawing_interface.h: * engines/smooth/src/interfaces/gdk2/gdk2_drawing_interface.c: * engines/smooth/src/interfaces/gdk2/gdk2_drawing_interface.h: * engines/smooth/src/interfaces/gdk2/gdk2_type_defines.h: * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.h: * engines/smooth/src/interfaces/shared/gdk/gdk_drawing_interface.c: * engines/smooth/src/interfaces/shared/gdk/gdk_drawing_interface.h: * engines/smooth/src/interfaces/shared/gdk/gdk_private_drawing_interface.h: * engines/smooth/src/interfaces/shared/gdk/gdk_type_defines.h: * engines/smooth/src/utils/draw_grips.c: * engines/support/cairo-support.c: * engines/support/general-support.h: * engines/support/widget-information.c: * engines/thinice/src/thinice_rc_style.c: * engines/thinice/src/thinice_theme_draw.c: - Namespace all engine symbols for thinice, smooth, mist, redmond, clearlooks - Make Smooth use more Support functions/Macros - Start adding missing IS_* Macros ChangeLog | 48 ++ engines/clearlooks/src/clearlooks_draw.c | 26 +- engines/clearlooks/src/clearlooks_rc_style.c | 44 +- engines/clearlooks/src/clearlooks_style.c | 140 +++--- engines/glide/src/glide_gtk2_drawing.c | 2 +- engines/glide/src/glide_gtk2_support.c | 78 +++- engines/mist/src/mist-rc-style.c | 6 +- engines/mist/src/mist-style.c | 82 ++-- engines/redmond/src/redmond_gtk2_engine.c | 8 +- .../src/engine/shared/gtk/smooth_gtk_drawing.c | 26 +- .../smooth/src/engine/shared/gtk/smooth_gtk_misc.c | 16 +- .../smooth/src/engine/shared/gtk/smooth_gtk_misc.h | 6 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 308 ++++++------ .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 68 ++-- engines/smooth/src/engine/smooth_gtk2_drawing.c | 490 ++++++++++---------- engines/smooth/src/engine/smooth_gtk2_engine.c | 30 +- engines/smooth/src/engine/smooth_gtk2_misc.c | 51 +-- engines/smooth/src/engine/smooth_gtk2_misc.h | 22 +- engines/smooth/src/engine/smooth_gtk2_rc.c | 94 ++-- engines/smooth/src/engine/smooth_gtk2_rc.h | 2 +- .../abstract/abstract_drawing_interface.c | 250 +++++----- .../abstract/abstract_drawing_interface.h | 4 +- .../abstract/src/abstract_gradient_routines.c | 2 +- .../abstract/src/abstract_gradient_routines.h | 2 +- .../abstract/src/abstract_tile_routines.c | 10 +- .../abstract/src/abstract_tile_routines.h | 2 +- engines/smooth/src/interfaces/drawing_interface.c | 392 ++++++++-------- engines/smooth/src/interfaces/drawing_interface.h | 4 +- .../src/interfaces/gdk2/gdk2_drawing_interface.c | 296 ++++++------ .../src/interfaces/gdk2/gdk2_drawing_interface.h | 4 +- .../smooth/src/interfaces/gdk2/gdk2_type_defines.h | 2 +- .../interfaces/gdk2/src/gdk2_gradient_routines.c | 16 +- .../interfaces/gdk2/src/gdk2_gradient_routines.h | 2 +- .../interfaces/shared/gdk/gdk_drawing_interface.c | 294 ++++++------ .../interfaces/shared/gdk/gdk_drawing_interface.h | 24 +- .../shared/gdk/gdk_private_drawing_interface.h | 12 +- .../src/interfaces/shared/gdk/gdk_type_defines.h | 2 +- engines/smooth/src/utils/draw_grips.c | 16 +- engines/support/cairo-support.c | 2 +- engines/support/general-support.h | 6 +- engines/support/widget-information.c | 7 +- engines/thinice/src/thinice_rc_style.c | 44 +- engines/thinice/src/thinice_theme_draw.c | 84 ++-- 43 files changed, 1538 insertions(+), 1486 deletions(-) commit 8ec4e2f040b0259ff954dc64b4a66a5d8386232d Author: Benjamin Berg Date: Thu Aug 3 22:28:20 2006 +0000 - Fix potential crasher all over the place. 2006-08-04 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (draw_shadow): * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_spinbutton_stepper): * engines/hc/src/hc-style.c: (hc_draw_shadow): * engines/mist/src/mist-style.c: (mist_tab), (draw_shadow), (draw_box), (draw_extension): * engines/thinice/src/thinice_theme_draw.c: (draw_box): - Fix potential crasher all over the place. ChangeLog | 11 ++++++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- engines/glide/src/glide_gtk2_drawing.c | 8 +++--- engines/hc/src/hc-style.c | 2 +- engines/mist/src/mist-style.c | 31 +++++++++------------------- engines/thinice/src/thinice_theme_draw.c | 2 +- 6 files changed, 28 insertions(+), 28 deletions(-) commit 9382f1dde5c9e009904275105d446a1b34a93e04 Author: Benjamin Berg Date: Thu Aug 3 17:24:02 2006 +0000 - Fixes cases where the arguments to CHECK_DETAIL were swapped. 2006-08-03 Benjamin Berg * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_check), (glide_draw_option): * engines/hc/src/hc-style.c: (hc_draw_check), (hc_draw_option): * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_option): * engines/smooth/src/engine/smooth_gtk2_drawing.c: (smooth_draw_option), (smooth_draw_check): - Fixes cases where the arguments to CHECK_DETAIL were swapped. ChangeLog | 11 +++++++++++ engines/glide/src/glide_gtk2_drawing.c | 8 ++++---- engines/hc/src/hc-style.c | 8 ++++---- engines/redmond/src/redmond_gtk2_drawing.c | 2 +- engines/smooth/src/engine/smooth_gtk2_drawing.c | 8 ++++---- 5 files changed, 24 insertions(+), 13 deletions(-) commit 2ff9b9f4d9718df70cc588b39a632aaa8e301215 Author: Benjamin Berg Date: Thu Aug 3 09:52:53 2006 +0000 - Small bug/warning fixes all over the place. 2006-08-03 Benjamin Berg * engines/clearlooks/src/animation.c: (update_animation_info): * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_slider_button), (clearlooks_draw_handle): * engines/clearlooks/src/clearlooks_style.c: (draw_resize_grip): * engines/clearlooks/src/support.c: (clearlooks_scrollbar_visible_steppers): * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_check), (glide_draw_option): * engines/hc/src/hc-style.c: (hc_draw_check), (hc_draw_option): * engines/smooth/src/engine/smooth_gtk2_misc.c: (gtk_cell_renderer_toggle_get_inconsistent): * engines/support/cairo-support.c: (ge_gdk_drawable_to_cairo): * engines/support/widget-information.c: (ge_object_is_a), (ge_find_combo_box_widget_parent), (ge_cell_renderer_toggle_get_inconsistent): * engines/support/widget-information.h: * engines/thinice/src/thinice_theme_draw.c: (draw_arrow): - Small bug/warning fixes all over the place. ChangeLog | 22 +++++++++++++++ engines/clearlooks/src/animation.c | 4 +- engines/clearlooks/src/clearlooks_draw.c | 10 ++----- engines/clearlooks/src/clearlooks_style.c | 37 -------------------------- engines/clearlooks/src/support.c | 2 + engines/glide/src/glide_gtk2_drawing.c | 5 ++- engines/hc/src/hc-style.c | 4 +- engines/smooth/src/engine/smooth_gtk2_misc.c | 2 +- engines/support/cairo-support.c | 2 +- engines/support/widget-information.c | 12 +++++++- engines/support/widget-information.h | 11 +++++++- engines/thinice/src/thinice_theme_draw.c | 3 ++ 12 files changed, 60 insertions(+), 54 deletions(-) commit 16df73c4ff3f795cbd849bf3e35b47f1559b90e5 Author: Thomas Wood Date: Wed Aug 2 15:53:54 2006 +0000 Fix RTL combo boxes 2006-08-02 Thomas Wood * engines/crux/src/crux-draw.c: (draw_shadow), (draw_box): Fix RTL combo boxes ChangeLog | 5 +++++ engines/crux/src/crux-draw.c | 15 +++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) commit 4230e8672d1c7d9509e0343d3f87c72d451c87d4 Author: Andrew Johnson Date: Wed Aug 2 11:53:18 2006 +0000 - C89 Fixes from #349575 2006-08-02 Andrew Johnson * engines/clearlooks/src/clearlooks_style.c: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_engine.c: * engines/glide/src/glide_gtk2_support.c: * engines/hc/src/hc-style.c: * engines/hc/src/hc_gtk2_support.c: * engines/mist/src/mist-style.c: * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_engine.c: * engines/support/cairo-support.c: * engines/thinice/src/thinice_theme_draw.c: - C89 Fixes from #349575 ChangeLog | 16 +++ engines/clearlooks/src/clearlooks_style.c | 3 +- engines/glide/src/glide_gtk2_drawing.c | 177 ++++++++++++++++++---------- engines/glide/src/glide_gtk2_engine.c | 10 +- engines/glide/src/glide_gtk2_support.c | 8 +- engines/hc/src/hc-style.c | 118 ++++++++++++------- engines/hc/src/hc_gtk2_support.c | 2 - engines/mist/src/mist-style.c | 44 ++++--- engines/redmond/src/redmond_gtk2_drawing.c | 73 ++++++++---- engines/redmond/src/redmond_gtk2_engine.c | 15 +-- engines/support/cairo-support.c | 4 +- engines/thinice/src/thinice_theme_draw.c | 54 ++++++--- 12 files changed, 336 insertions(+), 188 deletions(-) commit 61c2bfe624a6aa6851f0682301df9f1ac156be99 Author: Benjamin Berg Date: Wed Aug 2 11:10:08 2006 +0000 - Marked loads of things G_GNUC_INTERNAL - smooths theme_symbols array is 2006-08-02 Benjamin Berg * engines/clearlooks/src/animation.h: * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_box): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/support.c: (clearlooks_scrollbar_get_junction): * engines/clearlooks/src/support.h: * engines/crux/src/crux-draw.h: * engines/crux/src/crux-rc-style.h: * engines/crux/src/crux-style.h: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_engine.h: * engines/hc/src/hc-style.c: * engines/hc/src/hc_gtk2_engine.h: * engines/industrial/src/industrial_rc_style.h: * engines/industrial/src/industrial_style.h: * engines/mist/src/mist-rc-style.h: * engines/mist/src/mist-style.h: * engines/redmond/src/redmond_gtk2_engine.h: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.h: * engines/smooth/src/engine/smooth_gtk2_engine.c: (smooth_rc_style_parse): * engines/smooth/src/engine/smooth_gtk2_engine.h: * engines/support/widget-information.h: * engines/thinice/src/thinice_rc_style.h: * engines/thinice/src/thinice_style.h: - Marked loads of things G_GNUC_INTERNAL - smooths theme_symbols array is now NULL terminated to save a variable - Changed clearlooks to use ge_widget_is_ltr ChangeLog | 35 ++++++++++++++++++++ engines/clearlooks/src/animation.h | 10 +++--- engines/clearlooks/src/clearlooks_rc_style.h | 2 +- engines/clearlooks/src/clearlooks_style.c | 12 +++--- engines/clearlooks/src/clearlooks_style.h | 2 +- engines/clearlooks/src/support.c | 28 ---------------- engines/clearlooks/src/support.h | 4 -- engines/crux/src/crux-draw.h | 2 +- engines/crux/src/crux-rc-style.h | 4 +- engines/crux/src/crux-style.h | 4 +- engines/glide/src/glide_gtk2_drawing.c | 2 - engines/glide/src/glide_gtk2_engine.h | 5 ++- engines/hc/src/hc-style.c | 2 - engines/hc/src/hc_gtk2_engine.h | 5 ++- engines/industrial/src/industrial_rc_style.h | 4 +- engines/industrial/src/industrial_style.h | 4 +- engines/mist/src/mist-rc-style.h | 2 +- engines/mist/src/mist-style.h | 2 +- engines/redmond/src/redmond_gtk2_engine.h | 4 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 7 ++-- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 3 +- engines/smooth/src/engine/smooth_gtk2_engine.c | 11 ++++-- engines/smooth/src/engine/smooth_gtk2_engine.h | 8 ++-- engines/support/widget-information.h | 2 +- engines/thinice/src/thinice_rc_style.h | 2 +- engines/thinice/src/thinice_style.h | 2 +- 26 files changed, 85 insertions(+), 83 deletions(-) commit 570cf13ca19948e15bc86cd6ecf33005db4a1133 Author: Benjamin Berg Date: Tue Aug 1 22:44:07 2006 +0000 - Initial port to cairo, there are still a lot of things missing 2006-08-02 Benjamin Berg * engines/industrial/*: - Initial port to cairo, there are still a lot of things missing (inconsistent states, the contrast option, etc.) - reindented everything. Pretty much all code was touched by the port anyways. - removed the xpm images * engines/support/cairo-support.c: (ge_cairo_pattern_add_color_stop_color), (ge_cairo_mirror): * engines/support/cairo-support.h: * engines/support/widget-information.c: (ge_widget_is_ltr): * engines/support/widget-information.h: - Added some more helper functions (ge_cairo_mirror, ge_widget_is_ltr, ge_cairo_pattern_add_color_stop_color) - Removed ge_cairo_rotate_mirror_translate - Removed #if 0'ed code. ChangeLog | 21 + engines/industrial/Makefile.am | 20 +- engines/industrial/src/industrial_rc_style.c | 122 +- engines/industrial/src/industrial_rc_style.h | 30 +- engines/industrial/src/industrial_style.c | 3473 ++++++-------------- engines/industrial/src/industrial_style.h | 21 +- .../src/industrial_style_versioned_code.h | 251 +- .../src/industrial_style_versioned_include.h | 11 - engines/industrial/src/industrial_theme_main.c | 23 +- engines/industrial/src/parse_rc_style.h | 247 +- engines/industrial/src/xpm/checkbox-mixed.xpm | 41 - engines/industrial/src/xpm/checkbox-off.xpm | 24 - engines/industrial/src/xpm/checkbox-on.xpm | 42 - engines/industrial/src/xpm/menu-checkbox-mixed.xpm | 36 - engines/industrial/src/xpm/menu-checkbox-off.xpm | 12 - engines/industrial/src/xpm/menu-checkbox-on.xpm | 45 - engines/industrial/src/xpm/menu-radio-mixed.xpm | 21 - engines/industrial/src/xpm/menu-radio-off.xpm | 18 - engines/industrial/src/xpm/menu-radio-on.xpm | 20 - engines/industrial/src/xpm/radio-mixed.xpm | 48 - engines/industrial/src/xpm/radio-off.xpm | 45 - engines/industrial/src/xpm/radio-on.xpm | 61 - .../industrial/src/xpm/table-checkbox-mixed.xpm | 39 - engines/industrial/src/xpm/table-checkbox-off.xpm | 22 - engines/industrial/src/xpm/table-checkbox-on.xpm | 45 - engines/support/cairo-support.c | 34 + engines/support/cairo-support.h | 10 + engines/support/widget-information.c | 16 + engines/support/widget-information.h | 38 +- 29 files changed, 1367 insertions(+), 3469 deletions(-) commit 4e92ba2abacccfac0b5e4e0bf162e4cb82a4aae7 Author: Andrew Johnson Date: Tue Aug 1 22:35:36 2006 +0000 - Fixed tooltip and scrollbars and scales in Glide - Fixed invalid symbol 2006-08-01 Andrew Johnson * engines/clearlooks/src/animation.c: * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_theme_main.c: * engines/clearlooks/src/support.c: * engines/clearlooks/src/support.h: * engines/crux/src/crux-main.c: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_drawing.h: * engines/glide/src/glide_gtk2_engine.c: * engines/glide/src/glide_gtk2_support.c: * engines/hc/src/hc_gtk2_engine.c: * engines/support/cairo-support.c: * engines/support/widget-information.h: - Fixed tooltip and scrollbars and scales in Glide - Fixed invalid symbol in Glide - More Clearlooks -> support integration - Moved GTK verson check too support and removed from crux and clearlooks (all engines need it) - More Symbol Cleanup - all but a few unprefixed in crux, 2 private exported in industrial, and 2 unprefixed in clearlooks are left The rest should be quick. ChangeLog | 29 ++ engines/clearlooks/src/animation.c | 6 +- engines/clearlooks/src/clearlooks_draw.c | 42 ++-- engines/clearlooks/src/clearlooks_draw.h | 50 ++-- engines/clearlooks/src/clearlooks_rc_style.h | 2 +- engines/clearlooks/src/clearlooks_style.c | 128 +++++----- engines/clearlooks/src/clearlooks_style.h | 2 +- engines/clearlooks/src/clearlooks_theme_main.c | 13 - engines/clearlooks/src/support.c | 327 +----------------------- engines/clearlooks/src/support.h | 61 +---- engines/crux/src/crux-main.c | 9 - engines/glide/src/glide_gtk2_drawing.c | 82 ++++-- engines/glide/src/glide_gtk2_drawing.h | 13 + engines/glide/src/glide_gtk2_engine.c | 3 +- engines/glide/src/glide_gtk2_support.c | 2 +- engines/hc/src/hc_gtk2_engine.c | 4 +- engines/support/cairo-support.c | 46 +--- engines/support/widget-information.h | 10 +- 18 files changed, 254 insertions(+), 575 deletions(-) commit 106e1ec0d9a760bea80ad64b797db56f3e49b958 Author: Andrew Johnson Date: Fri Jul 28 16:39:38 2006 +0000 - rename bg_pixmap[] patterns to bg_image[] so gdb knows whats what - add 2006-07-28 Andrew Johnson * engines/glide/src/glide_gtk2_engine.c: (glide_style_realize), (glide_style_unrealize): * engines/glide/src/glide_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_engine.c: (redmond_style_realize), (redmond_style_unrealize): * engines/redmond/src/redmond_gtk2_engine.h: - rename bg_pixmap[] patterns to bg_image[] so gdb knows whats what - add special check so that bg_pixmap == parent_relative doesn't crash gnome-power-manager Thanks for the heads up on this rtcm ChangeLog | 21 +++++++++++++++++++++ engines/glide/src/glide_gtk2_engine.c | 10 +++++----- engines/glide/src/glide_gtk2_engine.h | 4 ++-- engines/redmond/src/redmond_gtk2_engine.c | 11 ++++++----- engines/redmond/src/redmond_gtk2_engine.h | 4 ++-- 5 files changed, 36 insertions(+), 14 deletions(-) commit ba24ba4c55d2deae05e9b74c20692933670036a1 Author: Andrew Johnson Date: Mon Jul 24 22:48:15 2006 +0000 Update for 2.7.6 release 2006-07-24 Andrew Johnson * NEWS: * configure.ac: Update for 2.7.6 release NEWS | 15 +++++++++++++++ configure.ac | 2 +- 2 files changed, 16 insertions(+), 1 deletions(-) commit 18eb2fda121ea2ba637b805992c99c636428eb02 Author: Andrew Johnson Date: Mon Jul 24 19:54:26 2006 +0000 - Improve Slider, Tabs/Notebooks, Options, Checks, Arrows - Prevent Double 2006-07-24 Andrew Johnson * engines/hc/src/hc-style.c: * engines/hc/src/hc_gtk2_drawing.h: * engines/hc/src/hc_gtk2_engine.c: - Improve Slider, Tabs/Notebooks, Options, Checks, Arrows - Prevent Double Lines in Combo's and Spin's - Ensure Entry's Match State (for insensitive) - Obsessively start reorganizing code - Begin Commenting things - #Warning woohoo! * engines/hc/src/hc_gtk2_support.c: * engines/hc/src/hc_gtk2_support.h: - Add menu shell prelight hack from redmond ChangeLog | 29 ++ engines/hc/src/hc-style.c | 942 +++++++++++++++++++++++++------------- engines/hc/src/hc_gtk2_drawing.h | 36 +- engines/hc/src/hc_gtk2_engine.c | 2 + engines/hc/src/hc_gtk2_support.c | 202 ++++++++- engines/hc/src/hc_gtk2_support.h | 12 +- 6 files changed, 874 insertions(+), 349 deletions(-) commit 676bac4499d6826be6337c12679c8641a18b7f92 Author: Andrew Johnson Date: Sun Jul 23 05:41:16 2006 +0000 - Fix for Bug #343893 in clearlooks, hc, glide, thinice, and smooth - 2006-07-23 Andrew Johnson * engines/clearlooks/src/clearlooks_style.c: (draw_arrow): * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_arrow): * engines/glide/src/glide_gtk2_support.c: (do_glide_draw_arrow): * engines/glide/src/glide_gtk2_support.h: * engines/hc/src/hc-style.c: (hc_draw_check), (hc_draw_option), (hc_draw_tab), (hc_draw_arrow): * engines/hc/src/hc_gtk2_support.c: (do_hc_draw_arrow): * engines/hc/src/hc_gtk2_support.h: * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_arrow): * engines/redmond/src/redmond_gtk2_misc.c: (do_redmond_draw_arrow): * engines/redmond/src/redmond_gtk2_misc.h: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: (smooth_style_get_arrow): * engines/smooth/src/utils/draw_arrows.c: (SmoothDrawArrow): * engines/thinice/src/thinice_misc.c: (thinice_arrow): * engines/thinice/src/thinice_misc.h: * engines/thinice/src/thinice_theme_draw.c: (draw_arrow): - Fix for Bug #343893 in clearlooks, hc, glide, thinice, and smooth - Played with check & option in hc, but without fully resolving anything yet ChangeLog | 23 ++ engines/clearlooks/src/clearlooks_style.c | 3 + engines/glide/src/glide_gtk2_drawing.c | 6 +- engines/glide/src/glide_gtk2_support.c | 222 +++++++++---------- engines/glide/src/glide_gtk2_support.h | 1 + engines/hc/src/hc-style.c | 61 ++++-- engines/hc/src/hc_gtk2_support.c | 222 +++++++++---------- engines/hc/src/hc_gtk2_support.h | 1 + engines/redmond/src/redmond_gtk2_drawing.c | 6 +- engines/redmond/src/redmond_gtk2_misc.c | 224 +++++++++---------- engines/redmond/src/redmond_gtk2_misc.h | 3 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 2 +- engines/smooth/src/utils/draw_arrows.c | 5 + engines/thinice/src/thinice_misc.c | 236 ++++++++++---------- engines/thinice/src/thinice_misc.h | 3 +- engines/thinice/src/thinice_theme_draw.c | 8 +- 16 files changed, 527 insertions(+), 499 deletions(-) commit ef3653879564538ba7a5bb8b59aa11b68990bd40 Author: Andrew Johnson Date: Sat Jul 22 21:52:57 2006 +0000 - G_GNUC_INTERNAL Everything Glide, Mist, Redmond, Smooth, Thinice & 2006-07-22 Andrew Johnson * engines/glide/src/*: * engines/mist/src/*: * engines/redmond/src/*: * engines/smooth/Makefile.am: * engines/smooth/src/engine/*: * engines/smooth/src/interfaces/*: * engines/smooth/src/utils/*: * engines/support/cairo-support.h: * engines/thinice/src/*: - G_GNUC_INTERNAL Everything Glide, Mist, Redmond, Smooth, Thinice & Support - Switch Smooth to use widget-information macros - Rename hack functions in Redmond and Glide ChangeLog | 16 ++ engines/glide/src/glide_gtk2_drawing.c | 3 +- engines/glide/src/glide_gtk2_drawing.h | 30 ++-- engines/glide/src/glide_gtk2_engine.c | 6 +- engines/glide/src/glide_gtk2_engine.h | 3 - engines/glide/src/glide_gtk2_support.c | 99 +++++----- engines/glide/src/glide_gtk2_support.h | 28 ++-- engines/mist/src/mist-rc-style.h | 2 +- engines/mist/src/mist-style.h | 3 +- engines/redmond/src/redmond_gtk2_drawing.c | 2 +- engines/redmond/src/redmond_gtk2_drawing.h | 22 +- engines/redmond/src/redmond_gtk2_engine.c | 2 +- engines/redmond/src/redmond_gtk2_misc.c | 36 ++-- engines/redmond/src/redmond_gtk2_misc.h | 16 +- engines/smooth/Makefile.am | 5 +- .../src/engine/shared/gtk/smooth_gtk_drawing.c | 4 +- .../src/engine/shared/gtk/smooth_gtk_drawing.h | 10 +- .../smooth/src/engine/shared/gtk/smooth_gtk_misc.h | 8 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 114 ++++++------ engines/smooth/src/engine/smooth_gtk2_drawing.c | 48 +++--- engines/smooth/src/engine/smooth_gtk2_drawing.h | 36 ++-- engines/smooth/src/engine/smooth_gtk2_engine.h | 2 +- engines/smooth/src/engine/smooth_gtk2_misc.c | 195 +------------------- engines/smooth/src/engine/smooth_gtk2_misc.h | 86 ++------- engines/smooth/src/engine/smooth_gtk2_rc.h | 8 +- .../abstract/abstract_drawing_interface.c | 2 + .../abstract/abstract_drawing_interface.h | 4 +- engines/smooth/src/interfaces/drawing_interface.h | 184 +++++++++--------- .../src/interfaces/gdk2/gdk2_drawing_interface.c | 64 ++++---- .../src/interfaces/gdk2/gdk2_drawing_interface.h | 4 +- .../interfaces/shared/gdk/gdk_drawing_interface.c | 30 ++-- .../interfaces/shared/gdk/gdk_drawing_interface.h | 24 ++-- .../shared/gdk/gdk_private_drawing_interface.h | 5 + engines/smooth/src/utils/calc_colors.h | 2 +- engines/smooth/src/utils/draw_arrows.h | 4 +- engines/smooth/src/utils/draw_border.h | 14 +- engines/smooth/src/utils/draw_checkmark.h | 2 +- engines/smooth/src/utils/draw_fill.h | 2 +- engines/smooth/src/utils/draw_grips.h | 8 +- engines/support/cairo-support.h | 4 +- engines/thinice/src/thinice_misc.h | 12 +- engines/thinice/src/thinice_rc_style.h | 2 +- engines/thinice/src/thinice_style.h | 2 +- 43 files changed, 464 insertions(+), 689 deletions(-) commit 9a31f885677e17ebc466f689d48c1e81a319ad1c Author: Andrew Johnson Date: Sat Jul 22 01:49:13 2006 +0000 ----Let the evilness begin!--- - Revamp Default Apearance For Next Glider 2006-07-21 Andrew Johnson * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_check), (glide_draw_option), (glide_draw_arrow), (glide_draw_shadow), (glide_draw_combobox_button), (glide_draw_spinbutton_stepper), (glide_draw_box), (glide_draw_slider), (glide_draw_box_gap), (glide_draw_shadow_gap), (glide_draw_extension), (glide_draw_handle), (glide_draw_focus): * engines/glide/src/glide_gtk2_engine.c: (glide_simple_color_pattern), (glide_simple_pixmap_pattern), (glide_simple_linear_shade_gradient_pattern), (glide_linear_overlay_pattern), (glide_style_realize), (glide_style_unrealize): * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.c: (glide_draw_pattern_fill), (glide_simple_border_gap_clip), (do_glide_draw_border_with_gap), (do_glide_draw_border), (do_glide_draw_option_check), (do_glide_draw_round_option): * engines/glide/src/glide_gtk2_support.h: ----Let the evilness begin!--- - Revamp Default Apearance For Next Glider Version + Changed Edge Style + Changed Slider For Cleaner Appearance + Changed Menu Prelight Using Glass Overlay + Changed Progress Bar Fill + Minor Visual Cleanups + New Apearance 99% Complete - More work on Pattern Fill drawing - Add a hacked overlay option till layers implemented - Improved Edge Drawing For Gaps/Notebooks gtk 2.10 vs 2.8 - Add New Smoother edge - Use NORMAL state for most IN edge drawing - Rework multiple functions for cleaner size vs style vs drawing - Force Entry Select on Button focus in ComboEntry's - Partially Fix spin button centering/sizing * engines/glide/Makefile.am: - Fix include path, top_builddir -> top_srcdir. ala #335917 ChangeLog | 43 ++ engines/glide/Makefile.am | 2 +- engines/glide/src/glide_gtk2_drawing.c | 1216 ++++++++++++++++++++------------ engines/glide/src/glide_gtk2_engine.c | 66 ++- engines/glide/src/glide_gtk2_engine.h | 9 + engines/glide/src/glide_gtk2_support.c | 413 +++++++++-- engines/glide/src/glide_gtk2_support.h | 68 ++- 7 files changed, 1294 insertions(+), 523 deletions(-) commit 24be962eadf3da2b5795f446a98edcdfddf3cd5e Author: Thomas Wood Date: Fri Jul 21 21:58:08 2006 +0000 fix warning about assignment used as boolean (draw_check), (draw_option): 2006-07-21 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box): fix warning about assignment used as boolean (draw_check), (draw_option): add inconsistent state (draw_layout), (crux_draw_style_class_init): Override to prevent shadowed disabled text ChangeLog | 8 +++++ engines/crux/src/crux-draw.c | 59 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 64 insertions(+), 3 deletions(-) commit 66a13f9b1ffe4c1ce589be76337dc7494900a369 Author: Thomas Wood Date: Fri Jul 21 19:07:49 2006 +0000 - Improved colours for scroll and progress bars - Fix combobox focus line 2006-07-21 Thomas Wood * engines/crux/src/crux-draw.c: (paint_progress_bar), (draw_shadow), (draw_box), (draw_extension), (draw_slider): - Improved colours for scroll and progress bars - Fix combobox focus line drawing ChangeLog | 8 ++++++ engines/crux/src/crux-draw.c | 51 ++++++++++++++++++++++++++++++----------- 2 files changed, 45 insertions(+), 14 deletions(-) commit 4625cf14215d2e83ef610ea0f590ed023ee14aa0 Author: Thomas Wood Date: Fri Jul 21 13:02:42 2006 +0000 Remove directories no longer used in build 2006-07-21 Thomas Wood * engines/lighthouseblue/*: * engines/metal/*: * themes/LighthouseBlue/*: * themes/Metal/*: Remove directories no longer used in build ChangeLog | 9 + engines/lighthouseblue/AUTHORS | 9 - engines/lighthouseblue/Makefile.am | 19 - .../lighthouseblue/src/lighthouseblue_rc_style.c | 209 -- .../lighthouseblue/src/lighthouseblue_rc_style.h | 30 - engines/lighthouseblue/src/lighthouseblue_style.c | 1873 ------------------ engines/lighthouseblue/src/lighthouseblue_style.h | 35 - .../lighthouseblue/src/lighthouseblue_theme_main.c | 50 - engines/lighthouseblue/src/util.c | 453 ----- engines/metal/AUTHORS | 5 - engines/metal/Makefile.am | 17 - engines/metal/src/metal_gtk2_drawing.c | 2019 -------------------- engines/metal/src/metal_gtk2_drawing.h | 246 --- engines/metal/src/metal_gtk2_engine.c | 225 --- engines/metal/src/metal_gtk2_engine.h | 78 - engines/metal/src/metal_gtk2_misc.c | 980 ---------- engines/metal/src/metal_gtk2_misc.h | 194 -- themes/LighthouseBlue/Makefile.am | 1 - themes/LighthouseBlue/gtk-2.0/Makefile.am | 5 - themes/LighthouseBlue/gtk-2.0/gtkrc | 131 -- themes/Metal/Makefile.am | 1 - themes/Metal/gtk-2.0/Makefile.am | 5 - themes/Metal/gtk-2.0/gtkrc | 71 - 23 files changed, 9 insertions(+), 6656 deletions(-) commit d54a871ed4e96f2fe07c9b9f2640f554612445de Author: Thomas Wood Date: Thu Jul 20 18:54:31 2006 +0000 Remove crux/pixmaps directory. Fixes bug 348167 2006-07-20 Thomas Wood * configure.ac: Remove crux/pixmaps directory. Fixes bug 348167 ChangeLog | 4 ++++ configure.ac | 1 - 2 files changed, 4 insertions(+), 1 deletions(-) commit b284defce4226aabbf9d13c1ad72ed81b3e2e074 Author: Benjamin Otte Date: Thu Jul 20 14:10:28 2006 +0000 fix drawing issues with box gaps at the end of a line. * engines/crux/src/crux-draw.c: (draw_box_gap): * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_box_gap): fix drawing issues with box gaps at the end of a line. ChangeLog | 7 +++++++ engines/crux/src/crux-draw.c | 12 ++++++++++++ engines/lighthouseblue/src/lighthouseblue_style.c | 4 ++-- 3 files changed, 21 insertions(+), 2 deletions(-) commit 677ec61ba580f238c04616182a9cfbdb239a00df Author: Benjamin Otte Date: Thu Jul 20 11:04:44 2006 +0000 Fix for new notebook dnd code. Both themes used the parent widget witholut * engines/crux/src/crux-draw.c: (draw_extension): * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_extension): Fix for new notebook dnd code. Both themes used the parent widget witholut checking for NULL before. ChangeLog | 8 ++++++++ engines/crux/src/crux-draw.c | 4 ++-- engines/lighthouseblue/src/lighthouseblue_style.c | 4 +++- 3 files changed, 13 insertions(+), 3 deletions(-) commit aaa711b9ae54a44e9ff5f83fdea2da21524f1aeb Author: Andrew Johnson Date: Wed Jul 19 01:20:20 2006 +0000 - Beging to reorganize code structure - Start reworking gap & extension 2006-07-18 Andrew Johnson * engines/hc/Makefile.am: * engines/hc/src/hc-main.c: * engines/hc/src/hc-rc-style.c: * engines/hc/src/hc-rc-style.h: * engines/hc/src/hc-style.c: (hc_draw_shadow), (hc_draw_extension), (hc_draw_check), (hc_draw_option), (hc_draw_tab), (hc_draw_shadow_gap), (hc_draw_arrow), (hc_draw_flat_box), (hc_draw_box_gap), (hc_draw_handle), (hc_draw_hline), (hc_draw_vline), (hc_draw_polygon): * engines/hc/src/hc-style.h: * engines/hc/src/hc_gtk2_drawing.h: * engines/hc/src/hc_gtk2_engine.c: (hc_rc_style_create_style), (hc_rc_style_class_init), (hc_rc_style_register_type), (hc_style_realize), (hc_style_class_init), (hc_style_register_type), (theme_init), (theme_exit), (theme_create_rc_style): * engines/hc/src/hc_gtk2_engine.h: * engines/hc/src/hc_gtk2_support.c: (hc_simple_border_gap_clip), (do_hc_draw_arrow), (do_hc_draw_line), (do_hc_draw_dot): * engines/hc/src/hc_gtk2_support.h: - Beging to reorganize code structure - Start reworking gap & extension functions - Add warnings for gdk code not converted - Improve Options menus - Start reworking thickness line width ratio - Start improving Check(ratios/offsets still wrong) * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_check), (redmond_draw_option), (redmond_draw_arrow), (redmond_draw_combobox_button), (redmond_draw_spinbutton_stepper), (redmond_draw_box), (redmond_draw_slider), (redmond_draw_extension), (redmond_draw_handle): * engines/redmond/src/redmond_gtk2_engine.c: (redmond_simple_color_pattern), (redmond_simple_pixmap_pattern), (redmond_simple_hatch_mask_pattern), (redmond_style_realize), (redmond_style_unrealize): * engines/redmond/src/redmond_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_misc.c: (do_redmond_draw_pattern_fill), (do_redmond_draw_masked_fill), (do_redmond_draw_check), (do_redmond_draw_simple_circle): * engines/redmond/src/redmond_gtk2_misc.h: - Reworked Redmond Optons to remove pixmap cruft - Rework Hatch fill using Cairo Pattern Mask - Use Pattern Fill ala Glide, enabling bg_pixmap support ChangeLog | 49 ++ engines/hc/Makefile.am | 11 +- engines/hc/src/hc-main.c | 40 - engines/hc/src/hc-rc-style.c | 71 -- engines/hc/src/hc-rc-style.h | 49 -- engines/hc/src/hc-style.c | 1258 ++++++---------------------- engines/hc/src/hc-style.h | 49 -- engines/hc/src/hc_gtk2_drawing.h | 260 ++++++ engines/hc/src/hc_gtk2_engine.c | 243 ++++++ engines/hc/src/hc_gtk2_engine.h | 71 ++ engines/hc/src/hc_gtk2_support.c | 298 +++++++ engines/hc/src/hc_gtk2_support.h | 57 ++ engines/redmond/src/redmond_gtk2_drawing.c | 310 ++++--- engines/redmond/src/redmond_gtk2_engine.c | 109 +++- engines/redmond/src/redmond_gtk2_engine.h | 27 +- engines/redmond/src/redmond_gtk2_misc.c | 357 ++++---- engines/redmond/src/redmond_gtk2_misc.h | 65 +- 17 files changed, 1744 insertions(+), 1580 deletions(-) commit ef38dfb421c494e8a7d15be5cda5cbbf006ddab7 Author: Thomas Wood Date: Tue Jul 18 20:40:59 2006 +0000 - Pixmaps removed - Removed old engine options 2006-07-18 Thomas Wood * engines/crux/Makefile.am: * engines/crux/pixmaps/*: * engines/crux/src/crux-common.h: * engines/crux/src/crux-draw.c: (draw_box), (draw_arrow): * engines/crux/src/crux-main.c: (theme_init): * engines/crux/src/crux-pixmaps.c: * engines/crux/src/crux-pixmaps.h: * engines/crux/src/crux-rc-parser.c: * engines/crux/src/crux-rc-parser.h: * engines/crux/src/crux-rc-style.c: (crux_rc_style_class_init), (crux_rc_style_register_type): * engines/crux/src/crux-rc-style.h: * engines/crux/src/crux-style.c: (crux_style_register_type), (crux_style_class_init): * engines/crux/src/crux-style.h: - Pixmaps removed - Removed old engine options * themes/Crux/gtk-2.0/gtkrc: Remove old engine options. Now in lush purple! ChangeLog | 23 + engines/crux/Makefile.am | 11 +- engines/crux/pixmaps/Makefile.am | 80 --- engines/crux/pixmaps/arrow_down-spinner.png | Bin 437 -> 0 bytes engines/crux/pixmaps/arrow_down.png | Bin 436 -> 0 bytes engines/crux/pixmaps/arrow_left.png | Bin 439 -> 0 bytes engines/crux/pixmaps/arrow_right.png | Bin 438 -> 0 bytes engines/crux/pixmaps/arrow_up-spinner.png | Bin 425 -> 0 bytes engines/crux/pixmaps/arrow_up.png | Bin 426 -> 0 bytes .../crux/pixmaps/check-active-default-focus.png | Bin 435 -> 0 bytes engines/crux/pixmaps/check-active-default.png | Bin 412 -> 0 bytes .../crux/pixmaps/check-active-hilight-focus.png | Bin 418 -> 0 bytes engines/crux/pixmaps/check-active-hilight.png | Bin 394 -> 0 bytes engines/crux/pixmaps/check-active-insensitive.png | Bin 241 -> 0 bytes .../crux/pixmaps/check-active-pressed-focus.png | Bin 452 -> 0 bytes engines/crux/pixmaps/check-active-pressed.png | Bin 428 -> 0 bytes engines/crux/pixmaps/check-default-focus.png | Bin 292 -> 0 bytes engines/crux/pixmaps/check-default.png | Bin 268 -> 0 bytes engines/crux/pixmaps/check-hilight-focus.png | Bin 281 -> 0 bytes engines/crux/pixmaps/check-hilight.png | Bin 255 -> 0 bytes engines/crux/pixmaps/check-insensitive.png | Bin 193 -> 0 bytes engines/crux/pixmaps/check-pressed-focus.png | Bin 320 -> 0 bytes engines/crux/pixmaps/check-pressed.png | Bin 300 -> 0 bytes engines/crux/pixmaps/progressbar-left.png | Bin 167 -> 0 bytes engines/crux/pixmaps/progressbar-right.png | Bin 203 -> 0 bytes engines/crux/pixmaps/progressbar.png | Bin 274 -> 0 bytes engines/crux/pixmaps/progressbar_trough.png | Bin 286 -> 0 bytes .../crux/pixmaps/radio-active-default-focus.png | Bin 743 -> 0 bytes engines/crux/pixmaps/radio-active-default.png | Bin 697 -> 0 bytes .../crux/pixmaps/radio-active-hilight-focus.png | Bin 737 -> 0 bytes engines/crux/pixmaps/radio-active-hilight.png | Bin 699 -> 0 bytes engines/crux/pixmaps/radio-active-insensitive.png | Bin 486 -> 0 bytes .../crux/pixmaps/radio-active-pressed-focus.png | Bin 715 -> 0 bytes engines/crux/pixmaps/radio-active-pressed.png | Bin 657 -> 0 bytes engines/crux/pixmaps/radio-default-focus.png | Bin 744 -> 0 bytes engines/crux/pixmaps/radio-default.png | Bin 666 -> 0 bytes engines/crux/pixmaps/radio-hilight-focus.png | Bin 715 -> 0 bytes engines/crux/pixmaps/radio-hilight.png | Bin 630 -> 0 bytes engines/crux/pixmaps/radio-insensitive.png | Bin 414 -> 0 bytes engines/crux/pixmaps/radio-pressed-focus.png | Bin 741 -> 0 bytes engines/crux/pixmaps/radio-pressed.png | Bin 663 -> 0 bytes .../crux/pixmaps/scroller-arrow-down-hilight.png | Bin 355 -> 0 bytes .../crux/pixmaps/scroller-arrow-down-pressed.png | Bin 397 -> 0 bytes engines/crux/pixmaps/scroller-arrow-down.png | Bin 397 -> 0 bytes .../crux/pixmaps/scroller-arrow-left-hilight.png | Bin 348 -> 0 bytes .../crux/pixmaps/scroller-arrow-left-pressed.png | Bin 413 -> 0 bytes engines/crux/pixmaps/scroller-arrow-left.png | Bin 413 -> 0 bytes .../crux/pixmaps/scroller-arrow-right-hilight.png | Bin 341 -> 0 bytes .../crux/pixmaps/scroller-arrow-right-pressed.png | Bin 418 -> 0 bytes engines/crux/pixmaps/scroller-arrow-right.png | Bin 418 -> 0 bytes engines/crux/pixmaps/scroller-arrow-up-hilight.png | Bin 353 -> 0 bytes engines/crux/pixmaps/scroller-arrow-up-pressed.png | Bin 386 -> 0 bytes engines/crux/pixmaps/scroller-arrow-up.png | Bin 386 -> 0 bytes engines/crux/pixmaps/scroller-h-hilight.png | Bin 261 -> 0 bytes engines/crux/pixmaps/scroller-h-thumb-hilight.png | Bin 260 -> 0 bytes engines/crux/pixmaps/scroller-h-thumb.png | Bin 262 -> 0 bytes engines/crux/pixmaps/scroller-h-trough.png | Bin 692 -> 0 bytes engines/crux/pixmaps/scroller-h.png | Bin 253 -> 0 bytes engines/crux/pixmaps/scroller-v-hilight.png | Bin 257 -> 0 bytes engines/crux/pixmaps/scroller-v-thumb-hilight.png | Bin 227 -> 0 bytes engines/crux/pixmaps/scroller-v-thumb.png | Bin 236 -> 0 bytes engines/crux/pixmaps/scroller-v-trough.png | Bin 807 -> 0 bytes engines/crux/pixmaps/scroller-v.png | Bin 249 -> 0 bytes engines/crux/pixmaps/slider_h_thumb.png | Bin 296 -> 0 bytes engines/crux/pixmaps/slider_h_trough.png | Bin 332 -> 0 bytes engines/crux/pixmaps/slider_h_trough_focus.png | Bin 257 -> 0 bytes engines/crux/pixmaps/slider_v_thumb.png | Bin 293 -> 0 bytes engines/crux/pixmaps/slider_v_trough.png | Bin 330 -> 0 bytes engines/crux/pixmaps/slider_v_trough_focus.png | Bin 252 -> 0 bytes engines/crux/pixmaps/tab_left-unsel.png | Bin 244 -> 0 bytes engines/crux/pixmaps/tab_left.png | Bin 225 -> 0 bytes engines/crux/pixmaps/tab_right.png | Bin 229 -> 0 bytes engines/crux/pixmaps/tab_sel-bottom.png | Bin 529 -> 0 bytes engines/crux/pixmaps/tab_sel.png | Bin 394 -> 0 bytes engines/crux/pixmaps/tab_usel-bottom-left.png | Bin 501 -> 0 bytes engines/crux/pixmaps/tab_usel-bottom.png | Bin 498 -> 0 bytes engines/crux/pixmaps/tab_usel-left.png | Bin 562 -> 0 bytes engines/crux/pixmaps/tab_usel.png | Bin 562 -> 0 bytes engines/crux/src/crux-common.h | 152 ----- engines/crux/src/crux-draw.c | 14 +- engines/crux/src/crux-main.c | 6 +- engines/crux/src/crux-pixmaps.c | 626 ------------------ engines/crux/src/crux-pixmaps.h | 28 - engines/crux/src/crux-rc-parser.c | 692 -------------------- engines/crux/src/crux-rc-parser.h | 19 - engines/crux/src/crux-rc-style.c | 73 +-- engines/crux/src/crux-rc-style.h | 3 - engines/crux/src/crux-style.c | 15 +- engines/crux/src/crux-style.h | 1 - themes/Crux/gtk-2.0/gtkrc | 138 +---- 90 files changed, 50 insertions(+), 1831 deletions(-) commit 8c6b01587265b5c1efe431e6fc86d87b6956fb9a Author: Andrew Johnson Date: Mon Jul 17 18:03:19 2006 +0000 - Rework Glide Fill Drawing(again), should work for cairo < 1.2 - Fix Tabs 2006-07-17 Andrew Johnson * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_arrow), (glide_draw_shadow), (glide_draw_combobox_button), (glide_draw_spinbutton_stepper), (glide_draw_box), (glide_draw_slider), (glide_draw_box_gap), (glide_draw_shadow_gap), (glide_draw_extension), (glide_draw_handle), (glide_draw_layout): * engines/glide/src/glide_gtk2_engine.c: (glide_simple_color_pattern), (glide_simple_pixmap_pattern), (glide_simple_linear_shade_gradient_pattern), (glide_style_realize), (glide_style_unrealize): * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.c: (glide_draw_pattern_fill), (do_glide_draw_default_fill), (do_glide_draw_border), (gtk_menu_shell_motion): * engines/glide/src/glide_gtk2_support.h: - Rework Glide Fill Drawing(again), should work for cairo < 1.2 - Fix Tabs For GTK 2.10 - Add Warnings for unwanted gdk_* and gtk_* function calls ChangeLog | 21 +++ engines/glide/src/glide_gtk2_drawing.c | 225 +++++++++++++++++--------------- engines/glide/src/glide_gtk2_engine.c | 115 +++++++++++++--- engines/glide/src/glide_gtk2_engine.h | 45 ++++++- engines/glide/src/glide_gtk2_support.c | 108 ++++++++++------ engines/glide/src/glide_gtk2_support.h | 11 ++- 6 files changed, 350 insertions(+), 175 deletions(-) commit 54269d0879c4e26ef5a33ca1fd4a17fd166cde7c Author: Andrew Johnson Date: Fri Jul 14 00:22:32 2006 +0000 - Improve Insensitive States For Text, Check, & Option - Enable Drawing 2006-07-13 Andrew Johnson * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_check), (glide_draw_option), (glide_draw_handle), (glide_draw_focus), (glide_draw_layout): * engines/glide/src/glide_gtk2_drawing.h: * engines/glide/src/glide_gtk2_engine.c: (glide_style_realize), (glide_style_class_init): - Improve Insensitive States For Text, Check, & Option - Enable Drawing Paned Handles ChangeLog | 12 +++ engines/glide/src/glide_gtk2_drawing.c | 161 +++++++++++++++++++++----------- engines/glide/src/glide_gtk2_drawing.h | 12 +++ engines/glide/src/glide_gtk2_engine.c | 6 + 4 files changed, 135 insertions(+), 56 deletions(-) commit a980cf792a60303ac797ea703f6affb432eb6c1a Author: Andrew Johnson Date: Thu Jul 13 23:04:10 2006 +0000 - More Glide Improvements - Pass pattern directly too draw default - Fix 2006-07-13 Andrew Johnson * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_arrow), (glide_draw_combobox_button), (glide_draw_spinbutton_stepper), (glide_draw_box), (glide_draw_slider), (glide_draw_box_gap), (glide_draw_shadow_gap), (glide_draw_extension), (glide_draw_handle): * engines/glide/src/glide_gtk2_engine.c: (glide_style_realize), (glide_style_unrealize): * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.c: (do_glide_draw_default_fill): * engines/glide/src/glide_gtk2_support.h: - More Glide Improvements - Pass pattern directly too draw default - Fix Notebooks/tabs for all directions and rtl - Fix OptionMenu arrow offset ChangeLog | 19 +++++++ engines/glide/src/glide_gtk2_drawing.c | 86 ++++++++++++++++++++++---------- engines/glide/src/glide_gtk2_engine.c | 10 +++- engines/glide/src/glide_gtk2_engine.h | 2 +- engines/glide/src/glide_gtk2_support.c | 9 +-- engines/glide/src/glide_gtk2_support.h | 2 +- 6 files changed, 92 insertions(+), 36 deletions(-) commit 51d5d74e83a06b8fa974335f7ef895c84de4594c Author: Andrew Johnson Date: Thu Jul 13 21:54:48 2006 +0000 Removing unintentionally added Makefile.in engines/glide/Makefile.in | 504 -------------------------------- engines/glide/src/glide_gtk2_drawing.c | 36 ++- 2 files changed, 25 insertions(+), 515 deletions(-) commit 67eb24b4a0ecab56c620c065cb7d82367579bcb0 Author: Andrew Johnson Date: Thu Jul 13 20:42:04 2006 +0000 - more work on Glide 2006-07-13 Andrew Johnson * engines/clearlooks/src/config.h.in: * engines/glide/Makefile.in: * engines/glide/src/glide_gtk2_drawing.c: (glide_draw_arrow), (glide_draw_box), (glide_draw_box_gap), (glide_draw_shadow_gap), (glide_draw_handle): * engines/glide/src/glide_gtk2_drawing.h: * engines/glide/src/glide_gtk2_engine.c: (glide_simple_shade_gradient_pattern), (glide_style_realize), (glide_style_unrealize), (glide_style_class_init): * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.c: (ge_cairo_pattern_add_color_stop), (ge_cairo_pattern_add_shade_color_stop), (glide_draw_pattern_fill), (do_glide_draw_default_fill), (glide_simple_border_gap_clip): * engines/glide/src/glide_gtk2_support.h: * engines/support/cairo-support.c: (ge_hsb_from_color): - more work on Glide ChangeLog | 21 ++++ engines/clearlooks/src/config.h.in | 57 +++++++++++ engines/glide/Makefile.in | 110 ++++++---------------- engines/glide/src/glide_gtk2_drawing.c | 137 +++++++++++++++++++-------- engines/glide/src/glide_gtk2_drawing.h | 16 +++ engines/glide/src/glide_gtk2_engine.c | 62 +++++++++++- engines/glide/src/glide_gtk2_engine.h | 5 + engines/glide/src/glide_gtk2_support.c | 160 ++++++++++++++++---------------- engines/glide/src/glide_gtk2_support.h | 2 + engines/support/cairo-support.c | 2 +- 10 files changed, 364 insertions(+), 208 deletions(-) commit 9c1592bb95e94dedc5392ca1e04f189d5c484f27 Author: Thomas Wood Date: Thu Jul 13 19:30:26 2006 +0000 - Remove redundant code (fix warnings about unused variables, etc.) - 2006-07-13 Thomas Wood * engines/crux/Makefile.am: * engines/crux/src/crux-draw.c: (paint_shadow), (draw_shadow), (draw_extension), (draw_focus), (draw_slider), (crux_draw_style_class_init): * engines/crux/src/crux-rc-parser.c: (theme_data_unref), (crux_parse_rc_style): * engines/crux/src/eazel-theme.h: * themes/Crux/gtk-2.0/gtkrc: - Remove redundant code (fix warnings about unused variables, etc.) - Remove pixmap related code ChangeLog | 14 + engines/crux/Makefile.am | 2 +- engines/crux/src/crux-draw.c | 530 +++---------------------------------- engines/crux/src/crux-rc-parser.c | 315 +---------------------- engines/crux/src/eazel-theme.h | 186 ------------- themes/Crux/gtk-2.0/gtkrc | 290 -------------------- 6 files changed, 53 insertions(+), 1284 deletions(-) commit 9235f1c8cf0149294fb17c23147e6ecb03cdd5d1 Author: Andrew Johnson Date: Thu Jul 13 00:20:33 2006 +0000 - Adding initial Glide Engines Using Redmond as a Base - This engine 2006-07-12 Andrew Johnson * configure.ac: * engines/glide/AUTHORS: * engines/glide/Makefile.am: * engines/glide/Makefile.in: * engines/glide/src/glide_gtk2_drawing.c: * engines/glide/src/glide_gtk2_drawing.h: * engines/glide/src/glide_gtk2_engine.c: * engines/glide/src/glide_gtk2_engine.h: * engines/glide/src/glide_gtk2_support.c: * engines/glide/src/glide_gtk2_support.h: - Adding initial Glide Engines Using Redmond as a Base - This engine provides a standalone cairo based backend for the Glider theme - Future development post-2.8 will also merge the most common smooth apearances * engines/support/widget-information.c: * engines/support/widget-information.h: - Adding combo* checks from smooth to support ChangeLog | 22 + configure.ac | 15 +- engines/glide/AUTHORS | 49 + engines/glide/Makefile.am | 17 + engines/glide/Makefile.in | 554 ++++++++++ engines/glide/src/glide_gtk2_drawing.c | 1872 ++++++++++++++++++++++++++++++++ engines/glide/src/glide_gtk2_drawing.h | 193 ++++ engines/glide/src/glide_gtk2_engine.c | 165 +++ engines/glide/src/glide_gtk2_engine.h | 70 ++ engines/glide/src/glide_gtk2_support.c | 994 +++++++++++++++++ engines/glide/src/glide_gtk2_support.h | 123 +++ engines/support/widget-information.c | 67 ++ engines/support/widget-information.h | 4 +- 13 files changed, 4143 insertions(+), 2 deletions(-) commit ff96d94db5eb845e0e699a8a0280d3818d7ab179 Author: Thomas Wood Date: Mon Jul 10 21:54:03 2006 +0000 Update for 2.7.5 release 2006-07-10 Thomas Wood * NEWS: * configure.ac: Update for 2.7.5 release ChangeLog | 7 +++++++ NEWS | 29 +++++++++++++++++++++++++++++ configure.ac | 46 +--------------------------------------------- 3 files changed, 37 insertions(+), 45 deletions(-) commit 56ddf9d437f5efdb762f744c106428498dfb0fc5 Author: Thomas Wood Date: Mon Jul 10 21:26:16 2006 +0000 More cosmetic refinements! 2006-07-10 Thomas Wood * engines/crux/src/crux-draw.c: (paint_shadow), (draw_shadow), (draw_box), (draw_arrow), (draw_extension): More cosmetic refinements! ChangeLog | 6 +++ engines/crux/src/crux-draw.c | 75 ++++++++++++++++++------------------------ 2 files changed, 38 insertions(+), 43 deletions(-) commit 32b52655676b66c4f0054c21fd81d67056e149d0 Author: Benjamin Berg Date: Mon Jul 10 20:41:12 2006 +0000 - Fix the transformations that got broken by the clipping fix. 2006-07-10 Benjamin Berg * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill): - Fix the transformations that got broken by the clipping fix. * engines/clearlooks/Makefile.am: * engines/crux/Makefile.am: * engines/hc/Makefile.am: * engines/mist/Makefile.am: * engines/redmond/Makefile.am: * engines/thinice/Makefile.am: - Use top_srcdir instead of top_builddir for to include the support stuff ChangeLog | 15 +++++++++++++++ engines/clearlooks/Makefile.am | 2 +- engines/clearlooks/src/clearlooks_draw.c | 8 +++++--- engines/crux/Makefile.am | 2 +- engines/hc/Makefile.am | 2 +- engines/mist/Makefile.am | 2 +- engines/redmond/Makefile.am | 2 +- engines/thinice/Makefile.am | 2 +- 8 files changed, 26 insertions(+), 9 deletions(-) commit 00ceb095eb6ab964f29db1ac3d903422e4567401 Author: Thomas Wood Date: Sun Jul 9 16:56:43 2006 +0000 Add shadow (draw_box): Set default to solid fill (draw_extension): Cairo 2006-07-09 Thomas Wood * engines/crux/src/crux-draw.c: (paint_scrollbar_trough): Add shadow (draw_box): Set default to solid fill (draw_extension): Cairo goodness (draw_slider): Don't use pixmaps anymore * themes/Crux/gtk-2.0/gtkrc: Set correct scrollbar width, and trough border ChangeLog | 10 ++ engines/crux/src/crux-draw.c | 257 +++++++++++++++-------------------------- themes/Crux/gtk-2.0/gtkrc | 6 +- 3 files changed, 107 insertions(+), 166 deletions(-) commit 3513cb9d5bcacbc0946248ef3320113174dc6296 Author: Thomas Wood Date: Sun Jul 9 13:05:09 2006 +0000 - Use ge_gdk_drawable_to_cairo (), and remove crux_begin_paint () - Fix 2006-07-09 Thomas Wood * engines/crux/src/crux-draw.c: (paint_entry_shadow), (draw_shadow), (draw_box), (draw_arrow), (draw_check), (draw_option), (draw_focus), (draw_slider), (draw_handle): - Use ge_gdk_drawable_to_cairo (), and remove crux_begin_paint () - Fix entry inner shadow * engines/support/cairo-support.c: (ge_gdk_drawable_to_cairo): Initialise a few more common engine options ChangeLog | 12 +++++++ engines/crux/src/crux-draw.c | 63 ++++++++++++++++---------------------- engines/support/cairo-support.c | 4 ++- 3 files changed, 42 insertions(+), 37 deletions(-) commit 7ac10eccae5c95792dd75829d9c33317d775f8b6 Author: Andrew Johnson Date: Sat Jul 8 18:26:16 2006 +0000 - Fix widget-information namespace 2006-07-08 Andrew Johnson * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_vline), (redmond_draw_arrow), (redmond_draw_shadow), (redmond_draw_combobox_button), (redmond_draw_box), (redmond_draw_handle): * engines/support/widget-information.c: (ge_object_is_a), (ge_is_combo_box_entry), (ge_combo_box_is_using_list), (ge_is_combo_box), (ge_is_combo), (ge_is_in_combo_box), (ge_is_toolbar_item), (ge_is_panel_widget_item), (ge_is_bonobo_dock_item), (ge_option_menu_get_props): * engines/support/widget-information.h: * engines/thinice/src/thinice_theme_draw.c: (draw_vline), (draw_arrow), (draw_box): - Fix widget-information namespace ChangeLog | 17 +++++ engines/redmond/src/redmond_gtk2_drawing.c | 50 ++++++++-------- engines/support/widget-information.c | 36 ++++++------ engines/support/widget-information.h | 90 ++++++++++++++-------------- engines/thinice/src/thinice_theme_draw.c | 8 +- 5 files changed, 110 insertions(+), 91 deletions(-) commit 2aec16fa8c919135c67c2b6207bad2710264de2b Author: Andrew Johnson Date: Sat Jul 8 05:56:39 2006 +0000 - Move more things over too libsupport functions/macros 2006-07-08 Andrew Johnson * engines/mist/src/mist-style.c: * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_hline), (redmond_draw_vline), (redmond_draw_check), (redmond_draw_option), (redmond_draw_arrow), (redmond_draw_shadow), (redmond_draw_box), (redmond_draw_slider), (redmond_draw_extension), (redmond_draw_handle): * engines/redmond/src/redmond_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_misc.c: * engines/redmond/src/redmond_gtk2_misc.h: - Move more things over too libsupport functions/macros * engines/support/general-support.h: * engines/support/widget-information.c: (object_is_a), (is_combo_box_entry), (combo_box_is_using_list), (is_combo_box), (is_combo), (is_in_combo_box), (is_toolbar_item), (is_panel_widget_item), (is_bonobo_dock_item), (option_menu_get_props): * engines/support/widget-information.h: - Merged widget tests from redmond into libsupport * engines/thinice/src/thinice_misc.c: (thinice_shadow_type), (thinice_slash_two), (thinice_slash_one), (thinice_dot), (thinice_draw_separator): * engines/thinice/src/thinice_misc.h: * engines/thinice/src/thinice_theme_draw.c: (draw_hline), (draw_vline), (draw_shadow), (draw_arrow), (draw_box), (draw_option), (draw_handle), (thinice_tab): - Switched vline/hline to use clearlooks separator - Improved slashes - Fix Inconsistant Option Size - Partially(?) fixed notebook tabs - Improved optionmenu vs combo tab drawing, (mostly) copied from redmond - More libsupport updates ChangeLog | 39 +++++ engines/mist/src/mist-style.c | 21 --- engines/redmond/src/redmond_gtk2_drawing.c | 28 ++-- engines/redmond/src/redmond_gtk2_engine.h | 2 +- engines/redmond/src/redmond_gtk2_misc.c | 231 ---------------------------- engines/redmond/src/redmond_gtk2_misc.h | 79 +---------- engines/support/general-support.h | 2 + engines/support/widget-information.c | 205 ++++++++++++++++++++++++ engines/support/widget-information.h | 70 +++++++++ engines/thinice/src/thinice_misc.c | 113 ++++++++++---- engines/thinice/src/thinice_misc.h | 5 +- engines/thinice/src/thinice_theme_draw.c | 178 +++++++++------------ 12 files changed, 498 insertions(+), 475 deletions(-) commit 6ccb7fec7276e2b1407b4bfae2dc2441bd888eb6 Author: Andrew Johnson Date: Fri Jul 7 23:49:53 2006 +0000 - Initial Work Toward Cairo Verson of hc-engine 2006-07-07 Andrew Johnson * engines/hc/Makefile.am: * engines/hc/src/hc-style.c: (hc_draw_dot), (hc_draw_line), (hc_arrow), (hc_style_realize), (hc_draw_shadow), (hc_draw_extension), (hc_draw_check), (hc_draw_option), (hc_draw_tab), (hc_draw_shadow_gap), (hc_draw_layout), (hc_draw_arrow), (hc_draw_box_gap), (hc_draw_handle), (hc_draw_hline), (hc_draw_vline), (hc_draw_diamond), (hc_draw_polygon), (hc_style_class_init): * engines/hc/src/hc-style.h: - Initial Work Toward Cairo Verson of hc-engine * engines/mist/src/mist-style.c: (draw_shadow), (draw_polygon), (draw_diamond), (draw_box), (draw_check), (draw_option), (draw_shadow_gap), (draw_box_gap), (draw_extension), (draw_handle), (draw_resize_grip), (mist_style_class_init): - More gdk -> cairo in mist. it should be all cairo now. (if not all done....) * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_check), (redmond_draw_extension), (redmond_draw_handle): * engines/redmond/src/redmond_gtk2_misc.c: (do_redmond_draw_check): - gdk -> cairo. Mostly cairo now, sans part stuff * engines/support/cairo-support.c: (ge_gtk_style_to_cairo_color_cube), (ge_cairo_rotate_mirror_translate), (ge_cairo_simple_border), (ge_cairo_polygon), (ge_cairo_line): - Added some more simple cairo wrappers for gdk conversion ease * engines/support/cairo-support.h: * engines/thinice/Makefile.am: * engines/thinice/src/thinice_misc.c: * engines/thinice/src/thinice_misc.h: * engines/thinice/src/thinice_main.c: (theme_create_rc_style): * engines/thinice/src/thinice_style.h: * engines/thinice/src/thinice_theme_draw.c: (draw_hline), (draw_vline), (draw_shadow), (draw_polygon), (draw_arrow), (draw_diamond), (draw_box), (draw_check), (draw_option), (draw_shadow_gap), (draw_box_gap), (draw_slider), (draw_handle), (thinice_tab), (thinice_style_realize), (thinice_style_class_init): - Convert to cairo from gdk - all gdk drawing is gone - replaced optionmenu arrow with the standard arrow - added thinice_misc - a few things aren't quite done, (arrow positioning for eg), but most things are fairly accurate ChangeLog | 51 + engines/hc/Makefile.am | 5 +- engines/hc/src/hc-style.c | 713 ++++++----- engines/hc/src/hc-style.h | 2 + engines/mist/src/mist-style.c | 199 +-- engines/redmond/src/redmond_gtk2_drawing.c | 152 +-- engines/redmond/src/redmond_gtk2_misc.c | 17 - engines/support/cairo-support.c | 91 ++ engines/support/cairo-support.h | 8 +- engines/thinice/Makefile.am | 9 +- engines/thinice/src/thinice_main.c | 15 - engines/thinice/src/thinice_misc.c | 278 ++++ engines/thinice/src/thinice_misc.h | 37 + engines/thinice/src/thinice_style.h | 2 + engines/thinice/src/thinice_theme_draw.c | 1928 ++++++++-------------------- 15 files changed, 1553 insertions(+), 1954 deletions(-) commit 8c50c2807cc3c2ae770709ef5ed16a85a21d3d1e Author: Andrew Johnson Date: Mon Jul 3 20:29:09 2006 +0000 Fixed crux ge_shade/ge_saturate calls 2006-07-03 Andrew Johnson * engines/crux/src/crux-draw.c: (paint_menuitem), (paint_button), (paint_shadow), (paint_progress_bar), (draw_box), (draw_check), (draw_option): Fixed crux ge_shade/ge_saturate calls ChangeLog | 6 ++++++ engines/crux/src/crux-draw.c | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 13 deletions(-) commit b8d39814fb95a73b663e6fc8cb20763417ea3483 Author: Andrew Johnson Date: Mon Jul 3 14:48:17 2006 +0000 - Start using libsupport functions in redmond and mist 2006-07-03 Andrew Johnson * engines/mist/Makefile.am: * engines/mist/src/mist-style.c: (mist_dot), (mist_line), (mist_polygon), (mist_tab), (mist_draw_border), (draw_hline), (draw_vline), (draw_shadow), (draw_polygon), (draw_diamond), (draw_box), (draw_check), (draw_option), (draw_shadow_gap), (draw_box_gap), (draw_extension), (draw_handle), (draw_resize_grip), (mist_style_realize), (mist_style_class_init): * engines/mist/src/mist-style.h: * engines/redmond/Makefile.am: * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_hline), (redmond_draw_vline), (redmond_draw_check), (redmond_draw_arrow), (redmond_draw_shadow), (redmond_draw_box), (redmond_draw_handle): * engines/redmond/src/redmond_gtk2_engine.c: (redmond_style_realize): * engines/redmond/src/redmond_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_misc.c: (option_menu_get_props), (do_redmond_draw_check), (do_redmond_draw_arrow), (do_redmond_draw_line): * engines/redmond/src/redmond_gtk2_misc.h: - Start using libsupport functions in redmond and mist * engines/support/cairo-support.c: (ge_hsb_from_color), (ge_color_from_hsb), (ge_gdk_color_to_cairo), (ge_cairo_color_to_gtk), (ge_gtk_style_to_cairo_color_cube), (ge_shade_color), (ge_saturate_color), (ge_gdk_drawable_to_cairo), (ge_cairo_set_color), (ge_cairo_rounded_rectangle), (ge_cairo_simple_border): * engines/support/cairo-support.h: - Added new support functions - Modified shade et al functions to use CairoColor instead of rgb gdouble's ChangeLog | 35 +++ engines/mist/Makefile.am | 5 +- engines/mist/src/mist-style.c | 398 ++++++++++++-------------- engines/mist/src/mist-style.h | 3 + engines/redmond/Makefile.am | 6 +- engines/redmond/src/redmond_gtk2_drawing.c | 143 +++++----- engines/redmond/src/redmond_gtk2_engine.c | 15 +- engines/redmond/src/redmond_gtk2_engine.h | 4 +- engines/redmond/src/redmond_gtk2_misc.c | 262 +---------------- engines/redmond/src/redmond_gtk2_misc.h | 24 +-- engines/support/cairo-support.c | 434 ++++++++++++++++------------ engines/support/cairo-support.h | 29 ++- 12 files changed, 615 insertions(+), 743 deletions(-) commit 03cb02b4a88c8c5050d4e58a575151d478b40e53 Author: Thomas Wood Date: Sat Jul 1 20:12:59 2006 +0000 Draw menu item check/options without borders (crux_draw_style_class_init): 2006-07-01 Thomas Wood * engines/crux/src/crux-draw.c: (draw_check), (draw_option): Draw menu item check/options without borders (crux_draw_style_class_init): Remove some old and probably unused code * themes/Crux/gtk-2.0/gtkrc: Some tweaks to borders ChangeLog | 8 ++ engines/crux/src/crux-draw.c | 157 ++++++++++++++++++++++-------------------- themes/Crux/gtk-2.0/gtkrc | 4 + 3 files changed, 95 insertions(+), 74 deletions(-) commit ce51e7158311498e00bdf2322f2c01379cda6ab8 Author: Thomas Wood Date: Thu Jun 29 16:24:52 2006 +0000 - Add ring to Default buttons - Make ComboBox buttons appear as if they 2006-06-29 Thomas Wood * engines/crux/src/crux-draw.c: (draw_shadow), (draw_box): - Add ring to Default buttons - Make ComboBox buttons appear as if they are inside the GtkEntry - Make treeview headers slightly smaller * engines/support/widget-information.h: Fix Benjamin's keyboard ChangeLog | 9 +++++++ engines/crux/src/crux-draw.c | 45 +++++++++++++++++++++++++++++++++- engines/support/widget-information.h | 4 +- 3 files changed, 55 insertions(+), 3 deletions(-) commit e9621e0e4a3a9cc18d3374b38df247226c9e0cb2 Author: Benjamin Berg Date: Thu Jun 29 15:06:26 2006 +0000 Link against libsupport.la 2006-06-29 Benjamin Berg * engines/clearlooks/Makefile.am: * engines/crux/Makefile.am: Link against libsupport.la * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_slider), (clearlooks_draw_progressbar_fill), (clearlooks_draw_frame): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_begin_paint), (draw_flat_box), (draw_box): - Clipping fixes. (Bug #345769) - Some initial macro usage from the support stuff. * engines/clearlooks/src/clearlooks_types.h: * engines/crux/src/crux-draw.c: (draw_hline), (draw_vline), (draw_shadow), (draw_box), (draw_polygon), (draw_arrow), (draw_diamond), (draw_string), (draw_flat_box), (draw_check), (draw_option), (draw_tab), (draw_shadow_gap), (draw_box_gap), (draw_extension), (draw_focus), (draw_slider), (draw_handle): - Use the checking macros from support, etc. * engines/support/Makefile.am: * engines/support/cairo-support.h: * engines/support/ge-support.h: * engines/support/general-support.h: * engines/support/widget-information.h: - Create a static libsupport.la library that engines can link against. ChangeLog | 30 +++++ engines/clearlooks/Makefile.am | 5 +- engines/clearlooks/src/clearlooks_draw.c | 19 ++-- engines/clearlooks/src/clearlooks_style.c | 9 ++- engines/clearlooks/src/clearlooks_types.h | 9 +-- engines/crux/Makefile.am | 10 +- engines/crux/src/crux-draw.c | 168 ++++++----------------------- engines/support/Makefile.am | 10 ++- engines/support/cairo-support.h | 8 +- engines/support/ge-support.h | 9 ++ engines/support/general-support.h | 19 ++++ engines/support/widget-information.h | 34 ++++++ 12 files changed, 168 insertions(+), 162 deletions(-) commit d9017e6170defbd214ddf2ae63bc2af98dddf5e3 Author: Thomas Wood Date: Tue Jun 27 09:58:14 2006 +0000 - Start work on new scrollbars - Improve check and radio buttons 2006-06-20 Thomas Wood * engines/crux/src/crux-draw.c: (paint_scrollbar_trough), (draw_box), (draw_arrow), (draw_check), (draw_option), (draw_slider): - Start work on new scrollbars - Improve check and radio buttons engines/crux/src/crux-draw.c | 197 ++++++++++++++++++++++++++++-------------- 1 files changed, 131 insertions(+), 66 deletions(-) commit 48b64ee70371fdf50a8be70fa8250695b56ce622 Author: Thomas Wood Date: Tue Jun 20 20:56:02 2006 +0000 - Start work on new scrollbars - Improve check and radio buttons 2006-06-20 Thomas Wood * engines/crux/src/crux-draw.c: (paint_scrollbar_trough), (draw_box), (draw_arrow), (draw_check), (draw_option), (draw_slider): - Start work on new scrollbars - Improve check and radio buttons ChangeLog | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) commit 11b7f6b9f600287d6a7007e0e204f719c3a229ed Author: Thomas Wood Date: Sat Jun 17 21:16:13 2006 +0000 - Implement new style check and radio buttons - Remove unused variables 2006-06-17 Thomas Wood * engines/crux/src/crux-draw.c: (crux_begin_paint), (paint_button), (draw_shadow), (draw_check), (draw_option), (draw_focus): - Implement new style check and radio buttons - Remove unused variables and functions ChangeLog | 8 ++ engines/crux/src/crux-draw.c | 234 ++++++++++++++++++++++++------------------ 2 files changed, 144 insertions(+), 98 deletions(-) commit a2ddc2bcab42c076b4cbda738fac4a19185e96a3 Author: Benjamin Berg Date: Fri Jun 9 17:54:56 2006 +0000 Add locking to prevent problems with multithreaded applications. (Fixes 2006-06-09 Benjamin Berg * engines/clearlooks/src/animation.c: (animation_timeout_handler): Add locking to prevent problems with multithreaded applications. (Fixes #342199) ChangeLog | 6 ++++++ engines/clearlooks/src/animation.c | 5 +++++ 2 files changed, 11 insertions(+), 0 deletions(-) commit 12f3c6c0629c0e97a1b428b93277d9933fe547ba Author: Thomas Wood Date: Tue Jun 6 19:40:59 2006 +0000 - Implement new style menu items - Bug fixes to paint_shadow and draw_box 2006-06-06 Thomas Wood * engines/crux/src/crux-draw.c: (paint_menuitem), (paint_shadow), (paint_progress_bar), (draw_box): * themes/Crux/gtk-2.0/gtkrc: - Implement new style menu items - Bug fixes to paint_shadow and draw_box - Fix draw issues in paint_progress_bar ChangeLog | 10 ++++ engines/crux/src/crux-draw.c | 115 ++++++++++++++++++++++++++--------------- themes/Crux/gtk-2.0/gtkrc | 2 +- 3 files changed, 84 insertions(+), 43 deletions(-) commit b427dedb8b3e9b8f51f4b34fd073f477d236ae43 Author: Thomas Wood Date: Thu Jun 1 19:21:50 2006 +0000 Applied patch from Bug 341694 - Crash in d4x 2006-06-01 Thomas Wood * engines/industrial/src/industrial_style.c: (real_draw_box): Applied patch from Bug 341694 - Crash in d4x ChangeLog | 5 +++++ engines/industrial/src/industrial_style.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) commit c4238028e8edab6901b3994c44503a6ff80eba60 Author: Thomas Wood Date: Mon May 29 18:42:59 2006 +0000 Begin implementing the tango-style Crux from Lapo Calamandrei's mockup. 2006-05-29 Thomas Wood * engines/crux/src/crux-draw.c: (crux_begin_paint), (crux_paint_gradient), (paint_button), (paint_shadow), (paint_entry_shadow), (paint_progress_bar), (paint_menuitem_shadow), (draw_shadow), (draw_box), (draw_check), (draw_tab), (draw_focus), (draw_slider), (draw_handle): Begin implementing the tango-style Crux from Lapo Calamandrei's mockup. * engines/support/cairo-support.c: (ge_saturate_color), (ge_cairo_rounded_rectangle): * engines/support/cairo-support.h: Added rounded rectangle and saturate functions * themes/Crux/gtk-2.0/gtkrc: Tweaks for the new tango-style Crux ChangeLog | 16 + engines/crux/src/crux-draw.c | 1118 ++++++++++++++------------------------- engines/support/cairo-support.c | 67 +++ engines/support/cairo-support.h | 13 + themes/Crux/gtk-2.0/gtkrc | 31 +- 5 files changed, 499 insertions(+), 746 deletions(-) commit d2b249c7c10a65bb9b97ac1d55b510bbee3593ba Author: Richard Stellingwerff Date: Sun May 21 20:37:11 2006 +0000 Updated the GtkScale. First steps to RTL support. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_gripdots), (clearlooks_draw_slider), (clearlooks_draw_slider_button): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (cl_get_parent_direction): * engines/clearlooks/src/support.h: Updated the GtkScale. First steps to RTL support. ChangeLog | 14 +++ engines/clearlooks/src/clearlooks_draw.c | 179 ++++++++++++++++++++--------- engines/clearlooks/src/clearlooks_style.c | 2 +- engines/clearlooks/src/clearlooks_types.h | 1 + engines/clearlooks/src/support.c | 14 +++ engines/clearlooks/src/support.h | 1 + 6 files changed, 153 insertions(+), 58 deletions(-) commit afe55a22341f52027a715c709dd7fa24408f5ac5 Author: Richard Stellingwerff Date: Sun May 21 14:58:01 2006 +0000 Pulsing progressbars look better now. 100% progressbars don't draw end * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill): * engines/clearlooks/src/clearlooks_style.c: (draw_box): * engines/clearlooks/src/clearlooks_types.h: Pulsing progressbars look better now. 100% progressbars don't draw end line. ChangeLog | 10 +++++++ engines/clearlooks/src/clearlooks_draw.c | 38 ++++++++++++++++++++++------ engines/clearlooks/src/clearlooks_style.c | 9 ++++++- engines/clearlooks/src/clearlooks_types.h | 2 + 4 files changed, 50 insertions(+), 9 deletions(-) commit 18c134da6f8c107d899896ee8f771da7a13b961e Author: Richard Stellingwerff Date: Sun May 21 13:12:21 2006 +0000 Added the three menubar styles. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menubar0), (clearlooks_draw_menubar2), (clearlooks_draw_menubar1), (clearlooks_draw_menubar), (clearlooks_draw_toolbar): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_box): * engines/clearlooks/src/clearlooks_types.h: Added the three menubar styles. ChangeLog | 12 +++++ engines/clearlooks/src/clearlooks_draw.c | 77 ++++++++++++++++++++++++++--- engines/clearlooks/src/clearlooks_draw.h | 7 +++ engines/clearlooks/src/clearlooks_style.c | 5 ++- engines/clearlooks/src/clearlooks_types.h | 5 ++ 5 files changed, 98 insertions(+), 8 deletions(-) commit 0c451910d55d3653ada8c86bfc30d33ddfab17c4 Author: Robert Staudinger Date: Wed May 17 20:50:08 2006 +0000 Tab highlights for the smooth engine. ChangeLog | 9 +++ .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 5 ++ .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 2 + engines/smooth/src/engine/smooth_gtk2_drawing.c | 71 +++++++++++++++---- engines/smooth/src/engine/smooth_gtk2_rc.c | 1 + 5 files changed, 73 insertions(+), 15 deletions(-) commit 4a3e5621492eafb72bdeca9b6ca5f888f700efa4 Author: Benjamin Berg Date: Wed Apr 19 15:31:58 2006 +0000 - Fix the copy function. (#338826, Søren Sandmann) 2006-04-19 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_copy): - Fix the copy function. (#338826, Søren Sandmann) ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) commit f07738ba63c8bc92851448554af4b54ad08599ff Author: Kjartan Maraas Date: Tue Apr 18 08:58:52 2006 +0000 Fix ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 99b16d1ab3675acb8946425ece8dfbcdc52bfe65 Author: Benjamin Berg Date: Mon Apr 10 18:04:26 2006 +0000 - Two memory leak fixes from Fedora Core (Matthias Clasen 2006-04-10 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (combo_box_get_seperator_pos), (draw_resize_grip): - Two memory leak fixes from Fedora Core (Matthias Clasen ) * engines/clearlooks/src/clearlooks_style.c: (draw_box): - Fix orientation of the fill line for RTL locales (#337381, yairhr@yahoo.com) - Prevent the fill line from overshooting the trough. ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_style.c | 18 ++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) commit 25bdf92b5ae81400e039de0c4f08db3cee59ce32 Author: Benjamin Berg Date: Mon Feb 27 21:59:51 2006 +0000 Added functions that copy the styles to all engines that save data in 2006-02-27 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_copy), (clearlooks_style_class_init): * engines/industrial/src/industrial_style_versioned_code.h: * engines/lighthouseblue/src/lighthouseblue_style.c: (lighthouseblue_style_copy), (lighthouseblue_style_class_init): * engines/metal/src/metal_gtk2_engine.c: (metal_style_copy), (metal_style_class_init): Added functions that copy the styles to all engines that save data in them. (Fixes: #325760 for real) ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_style.c | 19 +++++++++++++++++++ .../src/industrial_style_versioned_code.h | 16 ++++++++++++++++ engines/lighthouseblue/src/lighthouseblue_style.c | 15 +++++++++++++++ engines/metal/src/metal_gtk2_engine.c | 14 ++++++++++++++ 5 files changed, 76 insertions(+), 0 deletions(-) commit 534abaa7e7e9c2f6d351d987225a23a5562745d3 Author: Richard Stellingwerff Date: Mon Feb 27 18:13:54 2006 +0000 Fixed another memory leak... * engines/clearlooks/src/clearlooks_style.c: (combo_box_get_seperator_pos): Fixed another memory leak... ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) commit 478165b7e3a5667747f3583e77be031be9497324 Author: Richard Stellingwerff Date: Mon Feb 27 18:07:24 2006 +0000 Applied patch from #332639. Fixes memory leaks. * engines/clearlooks/src/clearlooks_style.c: (draw_flat_box): * engines/clearlooks/src/support.c: (gtk_treeview_get_header_index): Applied patch from #332639. Fixes memory leaks. ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_style.c | 26 +++++++++++--------------- engines/clearlooks/src/support.c | 6 ++++-- 3 files changed, 23 insertions(+), 17 deletions(-) commit 720ef5ec8eabe42a344c8edd5bc269441bb84f4e Author: Daniel Borgmann Date: Tue Feb 14 18:44:02 2006 +0000 Re-implemented the listview item gradients. 2006-02-14 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (draw_flat_box): Re-implemented the listview item gradients. ChangeLog | 6 +++ engines/clearlooks/src/clearlooks_style.c | 56 ++++++++++++++++++++++++++-- 2 files changed, 58 insertions(+), 4 deletions(-) commit 6afe6d6043a75fbdbcd03e60ace159a2591036ae Author: Richard Stellingwerff Date: Sun Feb 5 23:10:15 2006 +0000 Default buttons can now be recognized by a more visible border. I really * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button): Default buttons can now be recognized by a more visible border. I really need to rework the button drawing code, because it's huge and ugly. And this is not the place to talk about that. ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 0 deletions(-) commit 18c3115541f5db084c1ff4be91b6548e70ea894c Author: Richard Stellingwerff Date: Fri Feb 3 23:27:41 2006 +0000 Added inconsistent state. Fixes #325932. * engines/clearlooks/src/clearlooks_style.c: (draw_check): Added inconsistent state. Fixes #325932. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 24 ++++++++++++++++-------- 2 files changed, 22 insertions(+), 8 deletions(-) commit ab11c03e4c31a3373f951be0b7bc63c320571312 Author: Richard Stellingwerff Date: Wed Feb 1 16:10:12 2006 +0000 No longer including animation.c, but splitted the implementation from the * engines/clearlooks/src/animation.h: No longer including animation.c, but splitted the implementation from the prototype. From Benjamin's patch. ChangeLog | 7 +++++++ engines/clearlooks/src/animation.h | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 0 deletions(-) commit 30ec9f21fb9c385eaff8a9f89a2779871c498603 Author: Richard Stellingwerff Date: Wed Feb 1 16:05:45 2006 +0000 Fixing incomplete check-in.. * engines/clearlooks/src/config.h.in: Fixing incomplete check-in.. ChangeLog | 6 ++++++ engines/clearlooks/src/config.h.in | 1 + 2 files changed, 7 insertions(+), 0 deletions(-) commit 456ce678fcea3899d57ded2a6ee895f17dfa9467 Author: Richard Stellingwerff Date: Wed Feb 1 15:53:30 2006 +0000 Patch from Benjamin Berg to add a --enable-animation option to the * configure.ac: Patch from Benjamin Berg to add a --enable-animation option to the configure script. Enables animation for Clearlooks only. * engines/clearlooks/Makefile.am: * engines/clearlooks/src/animation.c: (force_widget_redraw), (start_timer), (stop_timer), (animation_info_destroy), (on_animated_widget_destruction), (destroy_animation_info_and_weak_unref), (lookup_animation_info), (add_animation), (update_animation_info), (animation_timeout_handler), (on_checkbox_toggle), (on_connected_widget_destruction), (disconnect_all_signals), (find_signal_info), (clearlooks_animation_progressbar_add), (clearlooks_animation_connect_checkbox), (clearlooks_animation_is_animated), (clearlooks_animation_elapsed), (clearlooks_animation_cleanup): * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_finalize), (clearlooks_rc_style_class_init), (theme_parse_boolean): * engines/clearlooks/src/clearlooks_style.c: (draw_box), (draw_option), (draw_check), (clearlooks_style_unrealize): * engines/clearlooks/src/clearlooks_style.h: Applied patch from Benjamin Berg to improve the sanity of the animation code. Should improve stability, and improves readability here and there. ChangeLog | 29 ++ configure.ac | 14 +- engines/clearlooks/Makefile.am | 10 +- engines/clearlooks/src/animation.c | 358 +++++++++++++++++--------- engines/clearlooks/src/clearlooks_rc_style.c | 29 ++- engines/clearlooks/src/clearlooks_style.c | 87 ++----- engines/clearlooks/src/clearlooks_style.h | 1 + 7 files changed, 344 insertions(+), 184 deletions(-) commit 2d8f5bc11cb8e2a8dcdb44ded1ea18dad1f220ad Author: Thomas Wood Date: Mon Jan 30 22:19:13 2006 +0000 Updated for 2.7.4 release 2006-01-30 Thomas Wood * NEWS: * configure.ac: Updated for 2.7.4 release ChangeLog | 7 +++++++ NEWS | 7 +++++++ configure.ac | 2 +- engines/crux/Makefile.am | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) commit 2649f9b019b8ec3013ee1713394ba59a55b01982 Author: Richard Stellingwerff Date: Fri Jan 27 16:08:49 2006 +0000 Not compiling any animation code anymore. Define HAVE_ANIMATION to enable. * engines/clearlooks/src/clearlooks_style.c: Not compiling any animation code anymore. Define HAVE_ANIMATION to enable. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) commit 7a282823cb2cf179be29df48be558556ae0e477b Author: Thomas Wood Date: Wed Jan 25 23:12:32 2006 +0000 First attempt at cairo progress bar bars, (draw_option) Show 'active' 2006-01-25 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box) First attempt at cairo progress bar bars, (draw_option) Show 'active' state of radio buttons ChangeLog | 5 +++ engines/crux/src/crux-draw.c | 80 +++++++++++++++++++++++++++++++---------- 2 files changed, 65 insertions(+), 20 deletions(-) commit 950875d95f3b50cd4bacc31f82e43f3133e94ca3 Author: Thomas Wood Date: Sun Jan 22 19:08:43 2006 +0000 Use new shared functions Draw radio buttons using cairo 2006-01-22 Thomas Wood * engines/crux/Makefile.am: Use new shared functions * engines/crux/src/crux-draw.c: (crux_paint_gradient), (draw_box), (draw_check), (draw_option): Draw radio buttons using cairo * engines/crux/src/crux-draw.h: * engines/crux/src/eazel-theme.h: Remove references to (old) undefined functions * configure.ac: * engines/Makefile.am: * engines/support/Makefile.am: * engines/support/cairo-support.c: (rgb_to_hls), (hls_to_rgb), (ge_gdk_color_to_cairo), (ge_shade_color): * engines/support/cairo-support.h: New cross-engine support functions engines/Makefile.am | 2 +- engines/crux/Makefile.am | 6 +- engines/crux/src/crux-draw.c | 225 ++++++++++++--------------------------- engines/crux/src/crux-draw.h | 4 - engines/crux/src/eazel-theme.h | 1 - engines/support/Makefile.am | 6 + engines/support/cairo-support.c | 194 +++++++++++++++++++++++++++++++++ engines/support/cairo-support.h | 14 +++ 8 files changed, 289 insertions(+), 163 deletions(-) commit 18c73035951cb64fde7eb086e50b3b9457384593 Author: Thomas Wood Date: Sun Jan 22 19:02:23 2006 +0000 Use new shared functions Draw radio buttons using cairo 2006-01-22 Thomas Wood * engines/crux/Makefile.am: Use new shared functions * engines/crux/src/crux-draw.c: (crux_paint_gradient), (draw_box), (draw_check), (draw_option): Draw radio buttons using cairo * engines/crux/src/crux-draw.h: * engines/crux/src/eazel-theme.h: Remove references to (old) undefined functions * configure.ac: * engines/Makefile.am: * engines/support/Makefile.am: * engines/support/cairo-support.c: (rgb_to_hls), (hls_to_rgb), (ge_gdk_color_to_cairo), (ge_shade_color): * engines/support/cairo-support.h: New cross-engine support functions 2006-01-21 Thomas Wood * engines/crux/src/crux-draw.c: (draw_check): Add insensitive state 2006-01-21 Thomas Wood * engines/crux/src/crux-draw.c: (paint_stock_image), (paint_shadow), (paint_default), (paint_arrow), (draw_box), (draw_polygon), (draw_arrow), (draw_check), (draw_focus), (draw_slider): * themes/Crux/gtk-2.0/gtkrc: First attempt at cairo check boxes 2006-01-16 Richard A. Stellingwerff * NEWS: * configure.ac: Updated for 2.7.3 2006-01-15 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_resize_grip): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_resize_grip): * engines/clearlooks/src/clearlooks_types.h: Added the resize grip. 2006-01-15 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem): Fixed memory leak. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (draw_box): Don't draw the shadow on vertical toolbars. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (scale_or_ref): Add missing function for icon transparency patch. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (set_transparency), (render_icon), (clearlooks_style_class_init): Applied icon transparency patch again. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (draw_box): * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem): New-old menuitem style. * engines/clearlooks/src/clearlooks_style.c: (draw_handle): Fix broken toolbar handle orientation (again). 2006-01-06 Benjamin Berg * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_slider), (draw_handle): Make sure the clip regions are reset again. 2006-01-05 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_box): * themes/Clearlooks/gtk-2.0/gtkrc: Reverted to 'forward motion' animation by default, when enabled. Disabled by default now. 2006-01-05 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_box): Removed some very unprofessional debugging output... 2006-01-05 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_box): * engines/clearlooks/src/support.c: (cl_is_panel_widget): * engines/clearlooks/src/support.h: Renamed cl_is_gnome_panel to cl_is_panel_widget to catch applets as well. Don't ask me why the Window List applet likes to draw like a menubar, but it does. 2006-01-04 Thomas Wood * engines/lighthouseblue/src/lighthouseblue_rc_style.c: (theme_parse_boolean): * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_arrow), (lighthouseblue_style_class_init): * engines/lighthouseblue/src/util.c: Applied Lighthouseblue engine patch from bug 321140 2006-01-03 Benjamin Berg * engines/hc/src/hc-style.c: (hc_draw_flat_box), (hc_style_class_init): Add a hc_draw_flat_box function, that calls the gtk_paint_box function for tooltips to avoid the hardcoded black border that the default engine uses. Closes bug #318151. 2006-01-02 Thomas Wood * NEWS: * configure.ac: Updated for 2.7.2 2006-01-02 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_arrow): * engines/clearlooks/src/support.c: (cl_find_combo_box_widget), (cl_is_combo_box): * engines/clearlooks/src/support.h: Prefixed some function with cl_ to avoid symbol conflicts with other engines. Based on a patch from #315562. 2005-12-31 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (draw_box_gap), (draw_box): Fix some possible NULL dereferenciations. 2005-12-30 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_shadow): Added an extra check for the entry widget. Prevents a crash in evolution. 2005-12-26 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_box): Don't draw menubar on GNOME panel. * engines/clearlooks/src/support.c: (cl_is_gnome_panel): * engines/clearlooks/src/support.h: Added function to check if the widget is the GNOME panel. 2005-12-26 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_box), (clearlooks_style_init_from_rc): * engines/clearlooks/src/clearlooks_types.h: Added 'is_default' field to WidgetParameters. 2005-12-21 Kjartan Maraas,,23491770 * engines/smooth/src/interfaces/abstract/abstract_drawing_interface .c: * engines/smooth/src/interfaces/shared/gdk/gdk_drawing_interface.c: (internal_drawing_area_use_pen_gc), (internal_drawing_area_unuse_pen_gc), (internal_drawing_area_use_brush_gc), (internal_drawing_area_unuse_brush_gc): Revert too agressive cleanups so we don't get unresolved symbols and crashes/100% cpu hangs. 2005-12-21 Thomas Wood * engines/hc/src/hc-main.c: (theme_init): * engines/hc/src/hc-style.c: (hc_draw_shadow): * engines/industrial/src/industrial_style.c: (ensure_pixmap), (draw_hline), (draw_handle), (draw_vline), (draw_slider), (real_draw_box), (draw_box), (draw_shadow), (draw_box_gap), (draw_shadow_gap), (draw_extension), (draw_arrow), (draw_check), (draw_option): * engines/industrial/src/parse_rc_style.h: * engines/mist/src/mist-rc-style.c: * engines/mist/src/mist-style.c: (draw_box), (draw_resize_grip), (draw_string): * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_box): * engines/redmond/src/redmond_gtk2_engine.c: * engines/redmond/src/redmond_gtk2_misc.c: (is_toolbar_item), (gtk_menu_shell_setup_signals), (gtk_menu_shell_cleanup_signals): * engines/thinice/src/thinice_rc_style.c: (thinice_rc_style_class_init): * engines/thinice/src/thinice_theme_draw.c: (draw_box), (draw_handle): - Patches and fixes for bug 321140 to hc, industrial, mist, redmond and thinice engines (cleanups for compiler warnings and removal of unneeded code) 2005-12-19 Richard Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectangle), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_spinbutton_down), (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_tab), (clearlooks_draw_scrollbar_stepper): Renamed clearlooks_draw_rectectangle to clearlooks_draw_rectangle. * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box), (clearlooks_style_unrealize): Don't draw entry in TreeView edit mode. * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): * engines/clearlooks/src/support.h: Fixed a warning, removed unused methods. * themes/Clearlooks/gtk-2.0/gtkrc: Made background just a tiiiiiiiny bit darker. 2005-12-14 Thomas Wood * engines/smooth/Makefile.am: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: (theme_parse_boolean), (theme_parse_fill), (theme_parse_edge), (theme_parse_button_default), (theme_parse_active_tab), (theme_parse_tab), (theme_parse_option), (theme_parse_grip), (theme_parse_check): * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.h: * engines/smooth/src/engine/smooth_gtk2_drawing.c: (rounded_extension_points), (square_extension_points), (triangle_extension_points), (smooth_fill_background), (smooth_draw_grip), (do_smooth_draw_shadow), (do_smooth_draw_focus), (smooth_draw_extension), (smooth_draw_button_default), (smooth_draw_handle): * engines/smooth/src/engine/smooth_gtk2_misc.c: (is_toolbar_item): * engines/smooth/src/engine/smooth_gtk2_misc.h: * engines/smooth/src/engine/smooth_gtk2_rc.c: (smooth_rc_style_init_data): * engines/smooth/src/interfaces/abstract/abstract_drawing_interface .c: * engines/smooth/src/interfaces/drawing_interface.c: (SmoothDrawingInterfaceSetup): * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: (internal_create_vertical_gradient_image_buffer), (GDK2CanvasRenderGradient): * engines/smooth/src/interfaces/shared/gdk/gdk_drawing_interface.c: (internal_drawing_area_use_pen_gc): * engines/smooth/src/utils/draw_arrows.c: (SmoothDrawDirtyArrow): * engines/smooth/src/utils/draw_arrows.h: * engines/smooth/src/utils/draw_border.c: (SmoothDrawPolygonBorder): * engines/smooth/src/utils/draw_checkmark.c: (SmoothDrawCrossCheckMark): * engines/smooth/src/utils/draw_grips.c: (modula): Applied smooth engine patch from bug 321140 2005-12-12 Thomas Wood * NEWS: * configure.ac: Update for 2.7.1 release * engines/metal/src/metal_gtk2_drawing.c: (metal_draw_box), (metal_draw_tab), (metal_draw_extension): * engines/metal/src/metal_gtk2_misc.c: (do_metal_draw_arrow), (is_first_tab), (do_metal_draw_notebook_tab): * engines/metal/src/metal_gtk2_misc.h: * engines/thinice/src/thinice_theme_draw.c: (draw_box), (draw_extension), (thinice_tab): Fixes bug 323215 2005-12-13 Richard Stellingwerff * engines/clearlooks/Makefile.am: Add animation.c to the dist. 2005-11-27 Richard Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_check): Don't draw the "sunken" look when x/ythickness is smaller than 3. 2005-11-25 Richard Stellingwerff * engines/clearlooks/src/animation.c: * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_frame), (clearlooks_draw_tab), (clearlooks_draw_normal_arrow), (clearlooks_draw_combo_arrow), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_style.c: (draw_box): Removed most of the #define's in clearlooks_draw, replacing them with const's. Slightly modified the border shade of pressed buttons. No longer animating progressbars when their allocation has negative values. Firefox is an application where this happens, and is the prime example of GTK+ fakes where adding timers to the main loop has no effect, resulting in choppy progressbar animation. 2005-11-23 Richard A. Stellingwerff * engines/clearlooks/src/animation.c: (cl_async_animation_lookup), (cl_async_animation_remove), (cl_async_animation_add), (cl_async_animation_update), (cl_async_animation_timer_func), (cl_async_animation_getdata), (cl_checkbox_toggle), (cl_progressbar_add), (cl_disconnect): * engines/clearlooks/src/clearlooks_style.c: (draw_box), (draw_option), (draw_check), (draw_arrow), (draw_focus), (clearlooks_style_unrealize): * themes/Clearlooks/gtk-2.0/gtkrc: Updated the animation code from Kulyk Nazar's latest patch. Moved all animation functions to animations.c. It needs a lot of testing still. Changed the bg[ACTIVE] shade to make it a bit lighter. 2005-11-22 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_trough): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters): Fixed crash in gnumeric. The bug was potentially harmful to other apps as well. 2005-11-21 Thomas Wood * NEWS: * configure.ac: Update for 2.7.0 release 2005-11-21 Thomas Wood * engines/crux/src/crux-common.h: * engines/crux/src/crux-draw.c: (crux_paint_gradient), (draw_shadow), (draw_box), (draw_slider): * engines/crux/src/crux-main.c: (theme_init): * engines/crux/src/crux-rc-parser.c: * engines/crux/src/crux-rc-style.c: - Applied crux patch from bug 321140 - General gradients now drawn using cairo 2005-11-16 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry): Draw inner focus ring on GtkEntry. 2005-11-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (cl_progressbar_add), (cl_checks_remove), (cl_update_checks), (cl_checks_known), (cl_checks_timer_func), (cl_checks_toggled), (clearlooks_set_widget_parameters), (draw_flat_box), (draw_check), (clearlooks_style_unrealize): Checkmarks now animate, too. Thanks once again to Kulyk Nazar (tirpse)! Properly disconnecting signals from progressbars and check boxes, I hope. 2005-11-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_unrealize): Don't update the progressbars after unloading the engine. 2005-11-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (cl_progressbar_remove), (update_progressbar), (timer_func), (cl_progressbar_known), (cl_progressbar_add), (draw_box), (clearlooks_style_init_from_rc): Added animating progressbar, thanks to Kulyk Nazar (tirpse)! 2005-11-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): * engines/clearlooks/src/clearlooks_style.h: Add "animation" property to ClearlooksStyle as well. 2005-11-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_scale_draw_gradient), (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill): Fixed a little memory leak. * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (theme_parse_boolean), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): Added a new option in gtkrc called "animation". This will be used to enable/disable animation a theme. Thanks goes to Kulyk Nazar "tirpse, Schamane" for his work on this. 2005-11-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill), (clearlooks_draw_tab), (clearlooks_draw_list_view_header): * engines/clearlooks/src/clearlooks_types.h: * engines/crux/src/crux-main.c: (theme_exit): * themes/Clearlooks/gtk-2.0/gtkrc: Flattened the inactive tabs, increased the shade of list headers, and made the progressbar less 3d'ish. 2005-11-10 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill): Applied patch #321185 from Jason Allen to fix memory leak. 2005-11-10 Thomas Wood * engines/crux/src/crux-draw.c: (crux_paint_menuitem_gradient), (paint_outline), (paint_shadow), (paint_entry_shadow), (paint_menuitem_shadow), (draw_box): Use cairo to draw menu items and entry boxes 2005-11-02 Thomas Wood * engines/crux/src/crux-draw.c: (crux_begin_paint), (paint_outline), (paint_shadow): Use cairo functions rather than gdk 2005-10-31 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box), (draw_slider): * engines/crux/src/eazel-theme-hacks.c: Remove various hacks 2005-10-30 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill), (clearlooks_draw_scrollbar_trough), (clearlooks_draw_scrollbar_stepper): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_handle), (clearlooks_style_init_from_rc), (gdk_cairo_set_source_color_alpha), (draw_focus): * engines/clearlooks/src/clearlooks_types.h: * themes/Clearlooks/gtk-2.0/gtkrc: Lots of tweaking of contrast and colors. Fixed the focus rings. 2005-10-16 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_handle): Fix memory leak. Patch from Mart Raudsepp (leio). 2005-10-10 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_menu_frame): * engines/clearlooks/src/clearlooks_style.c: (draw_box), (draw_option), (draw_check), (clearlooks_style_init_from_rc): * themes/Clearlooks/gtk-2.0/gtkrc: Improved colors and such. Possibly other things, too :) 2005-09-16 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_trough): Fix progressbar shadow in Firefox. 2005-09-16 Richard A. Stellingwerff * themes/Clearlooks/gtk-2.0/gtkrc: Fix statusbar breakage. 2005-09-16 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_progressbar_fill): Slightly lighter border on disabled buttons. * engines/clearlooks/src/clearlooks_style.c: (draw_handle), (draw_box), (draw_option), (draw_check): Fixed prelight checkbuttons. Unknown handles are drawn properly now. 2005-09-14 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_option), (draw_check): Disabled radio/check buttons are sooo pretty now! 2005-09-14 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_normal_arrow), (clearlooks_draw_combo_arrow), (_clearlooks_draw_arrow), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box), (draw_arrow): Fixed arrow drawing. 2005-09-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry): Slightly more contrast. * engines/clearlooks/src/clearlooks_style.c: (draw_handle): Properly handle orientation. 2005-09-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_scale_trough), (clearlooks_draw_progressbar_trough): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): * themes/Clearlooks/gtk-2.0/gtkrc: Fixed the shades calculations and did some polishing. 2005-09-12 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_normal_arrow), (clearlooks_draw_combo_arrow), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_tab), (draw_arrow), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_types.h: Draw pretty combo arrows. 2005-09-12 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_option), (draw_check), (clearlooks_style_class_init): Draw pretty checkbox buttons, too! 2005-09-11 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_box), (draw_option): Drawing pretty radio buttons! 2005-09-11 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectectangle), (clearlooks_draw_button), (clearlooks_draw_frame), (clearlooks_draw_menu_frame), (clearlooks_draw_handle): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_extension), (draw_handle), (draw_box), (draw_up_down_arrow), (draw_tab), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (scrollbar_get_stepper): * themes/Clearlooks/gtk-2.0/gtkrc: Implemented handle bars. Improved arrows on combobox/optionmenu. Improved gradient on buttons. Shadowless frames are no longer drawn. 2005-09-09 Andrew Johnson * engines/mist/src/mist-style.c: fix disabled/selected option * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_drawing.h: * engines/redmond/src/redmond_gtk2_engine.c: * engines/redmond/src/redmond_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_misc.c: * engines/redmond/src/redmond_gtk2_misc.h: partially converted to cairo check still has problem sizes, fills and options need to be done yet 2005-09-08 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_scrollbar_trough), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider), (clearlooks_draw_statusbar), (clearlooks_draw_menu_frame): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (theme_parse_int), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_handle), (combo_box_get_seperator_pos), (draw_box), (draw_tab), (clearlooks_draw_arrow), (clearlooks_style_init_from_rc), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg), (scrollbar_get_stepper): Made slider (scale) border slightly brighter. Made progressbar trough slightly brighter. Added scrollbar trough. Improved scrollbar steppers and sliders. Added support for colored scrollbar slider. New function for drawing statusbar. * themes/Clearlooks/gtk-2.0/gtkrc: Minor changes to the color scheme. 2005-08-31 Andrew Johnson * engines/mist/src/mist-style.c: more cairo conversions - initial change mostly complete now 2005-08-30 Andrew Johnson * engines/mist/src/mist-style.c: funky change to improve option 2005-08-30 Andrew Johnson * engines/mist/src/mist-style.c: more changes toward cairo 2005-08-30 Andrew Johnson * engines/mist/src/mist-style.c:begin conversion to cairo for 2.8 2005-08-30 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectectangle): Decided to opt for easier math. Should avoid some unnecessary headaches. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_menuitem), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider): Added functions to draw scrollbar. * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_handle), (draw_box): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (scrollbar_get_stepper), (scrollbar_visible_steppers), (scrollbar_get_junction): Added support functions to determine which stepper is drawn, as well as which sides of the slider jonjoin. * engines/clearlooks/src/support.h: 2005-08-28 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectectangle), (clearlooks_draw_button), (clearlooks_scale_draw_gradient), (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_frame), (clearlooks_draw_menuitem): * engines/clearlooks/src/clearlooks_style.c: (draw_box_gap), (draw_hline): Minor speed improvements. 2005-08-27 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry): Draw an opaque border, instead of a transparent one. What was I thinking? * engines/clearlooks/src/clearlooks_style.c: (draw_shadow): Sanitize the size, if needed. 2005-08-26 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_get_frame_gap_clip), (clearlooks_draw_frame), (clearlooks_draw_list_view_header), (clearlooks_draw_toolbar), (clearlooks_draw_menuitem): Added drawing code for toolbars, menuitems. Lightened buttons borders. Etched in/out support for frames. * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box_gap), (draw_box), (draw_shadow_gap), (draw_arrow), (clearlooks_style_init_from_rc), (clearlooks_style_class_init): Implemented toolbars, menuitems (incomplete), scrollbars (incomplete). Added etched in/out support for frames. 2005-08-24 Richard A. Stellingwerff * engines/clearlooks/Makefile.am: * engines/clearlooks/src/bits.c: * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_top_left_highlight), (clearlooks_draw_button), (clearlooks_scale_draw_gradient), (clearlooks_draw_optionmenu), (clearlooks_draw_tab): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box_gap), (combo_box_get_seperator_pos), (draw_vline), (draw_hline), (draw_shadow_gap), (clearlooks_style_unrealize): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): * engines/clearlooks/src/support.h: Major cleanup. Removed unused variables, function, files. Compiles with -pedantic -ansi -std=c89. 2005-08-23 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_frame), (clearlooks_draw_separator), (clearlooks_draw_list_view_header): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_shadow), (draw_box_gap), (draw_box), (draw_shadow_gap): Implemented listview headers. * engines/clearlooks/src/clearlooks_types.h: Added type for Listview headers. * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): Fixed segfault. 2005-08-22 Richard A. Stellingwerff * engines/clearlooks/Makefile.am: Fixes bug 314127 * engines/clearlooks/src/support.c: (gtk_treeview_get_header_index), (special_get_ancestor): Removed obsolete functions. * engines/clearlooks/src/support.h: Removed obsolete prototypes. 2005-08-22 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_get_frame_gap_clip), (clearlooks_draw_tab), (clearlooks_draw_separator): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_extension), (draw_vline), (draw_hline), (draw_resize_grip), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_types.h: Implemented the statusbar. Improved tabs. Added Separator functions and type. Disabled the resize grip for now. 2005-08-21 Thomas Wood * engines/crux/Makefile.am: * engines/crux/src/eazel-theme.h: Removed references to eazel-theme-hacks.c * engines/crux/src/crux-draw.c: (draw_box), (draw_extension): Fixes an Open Office 2 bug and bug 305963 (The leftmost tab in tabbed widgets is not drawn correctly) * engines/mist/src/mist-style.c: (draw_rect): Fixes bug 165864 * engines/thinice/src/thinice_rc_style.c: (thinice_rc_style_create_style): Patch from bug 314100 (tiny cleanup in thinice theme style code) by Kjartan Maraas 2005-08-21 Richard A. Stellingwerff * configure.ac: Depend on GTK+ 2.8, changed version number. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectectangle), (rotate_mirror_translate), (clearlooks_draw_inset), (clearlooks_draw_shadow), (clearlooks_draw_top_left_highlight), (clearlooks_draw_highlight_and_shade), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_spinbutton), (clearlooks_draw_spinbutton_down), (clearlooks_scale_draw_gradient), (clearlooks_draw_scale_trough), (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill), (clearlooks_draw_optionmenu), (clearlooks_draw_menubar), (clearlooks_draw_tab2), (clearlooks_get_frame_gap_clip), (clearlooks_draw_frame), (clearlooks_draw_tab): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_begin_paint), (clearlooks_set_widget_parameters), (draw_flat_box), (draw_shadow), (draw_box_gap), (draw_extension), (draw_handle), (combo_box_get_seperator_pos), (draw_box), (draw_slider), (draw_option), (draw_tab), (draw_vline), (draw_shadow_gap), (clearlooks_style_init_from_rc), (realize_color), (draw_focus), (clearlooks_style_unrealize), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/support.c: (shade), (is_combo_box), (clearlooks_gdk_color_to_rgb), (clearlooks_get_parent_bg): * engines/clearlooks/src/support.h: * themes/Clearlooks/gtk-2.0/gtkrc: Initial import of Clearlooks port to cairo. 2005-08-13 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: Changed return type from gboolean to void in cl_progressbar2_set_four_points. 2005-08-05 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_shadow_gap): Fixed a memory leak. 2005-08-02 Chris Lahey * engines/industrial/src/industrial_style.c (draw_check) (draw_option): Center these pixmaps properly. 2005-07-30 Richard A. Stellingwerff * themes/Clearlooks/gtk-2.0/gtkrc: Using latest engine features. Using the more vibrant selection color from Shaun McCance. 2005-07-27 Thomas Wood * NEWS: Updated for 2.6.4 release * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: (do_smooth_draw_shadow): Fixes bug 305374 2005-07-27 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_style.c: (draw_box): Fixed #1244760 (clearlooks sf.net bugtracker). 2005-07-24 Thomas Wood * engines/crux/src/crux-draw.c: (paint_stock_image): * engines/crux/src/crux-pixmaps.c: (pixmap_cache_ref), (pixmap_cache_set), (eazel_engine_image_render), (eazel_engine_stock_pixmap_and_mask_scaled), (eazel_engine_stock_pixmap_and_mask): * engines/crux/src/crux-pixmaps.h: Patch applied from (and fixes) bug 161960 2005-07-24 Richard A. Stellingwerff * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/support.c: * engines/clearlooks/src/support.h: Updated clearlooks engine 2005-07-09 Thomas Wood * configure.ac: Update for 2.6.4 * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_option): Fixes bug 303112 * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_box), (smooth_draw_box): Fixes bug 308551 * engines/smooth/src/engine/smooth_gtk2_misc.c: (gtk_button_get_props): Fixes bug 305432 * themes/Industrial/gtk-2.0/gtkrc: Fixes bug 170824 2005-05-14 Glynn Foster * engines/clearlooks/Makefile.am: Install into the correct directory. Fixes #300530. 2005-04-12 Thomas Wood * NEWS: Updated for 2.6.3 * configure.ac: * engines/clearlooks/Makefile.am: * engines/clearlooks/src/clearlooks_draw.c: (cl_draw_borders), (cl_draw_line), (cl_get_gradient_corner_color), (cl_draw_corner), (cl_draw_fill), (cl_progressbar_tile_new), (cl_draw_menuitem_button), (cl_draw_menuitem_flat), (cl_draw_menuitem_gradient): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (theme_parse_progressbarstyle), (theme_parse_menubarstyle), (theme_parse_listviewitemstyle), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (draw_flat_box), (draw_box_gap), (draw_extension), (draw_box), (draw_shadow_gap), (draw_hline), (clearlooks_style_init_from_rc), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/support.c: (internel_image_buffer_free_pixels), (internal_image_buffer_new), (internal_color_get_as_uchars), (internal_create_horizontal_gradient_image_buffer), (internal_create_vertical_gradient_image_buffer), (draw_vgradient), (draw_hgradient): * engines/clearlooks/src/support.h: Updated clearlooks engine * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_focus): Patch from Andrew Johnson that should fix the Firefox print dialog bug (bug 167389) * themes/Clearlooks/Makefile.am: * themes/Clearlooks/gtk-2.0/Makefile.am: * themes/Clearlooks/gtk-2.0/gtkrc: Updated clearlooks engine and added Clearlooks themes * themes/Industrial/gtk-2.0/gtkrc: * themes/LighthouseBlue/gtk-2.0/gtkrc: * themes/Mist/gtk-2.0/gtkrc: * themes/ThinIce/gtk-2.0/gtkrc: Work around for GNOME "Places" and "Desktop" menu bar applet item text colours 2005-04-11 Thomas Wood * configure.ac: Get ready for 2.6.3 release * engines/industrial/src/industrial_style.c: (set_transparency), (scale_or_ref), (render_icon): * engines/industrial/src/industrial_style_versioned_code.h: Patch from Michele Cella to render better looking insensitive icons 2005-03-17 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box), (draw_focus), (crux_draw_style_class_init): Fixes menuitems and focus indicators 2005-03-14 Thomas Wood * NEWS: Corrected * engines/crux/src/crux-draw.c: (paint_check): fixes bug 170113 2005-03-14 Andrew Johnson * COPYING: * configure.ac: * engines/clearlooks/AUTHORS: * engines/clearlooks/CREDITS: * engines/clearlooks/Makefile.am: * engines/clearlooks/src/bits.c: * engines/clearlooks/src/clearlooks_draw.c: * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_rc_style.c: * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_theme_main.c: * engines/clearlooks/src/support.c: * engines/clearlooks/src/support.h: add clearlooks engine * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: check for empty width/height in gradient routine 2005-03-13 Andrew Johnson * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: (internal_create_vertical_gradient_image_buffer): * engines/smooth/src/utils/draw_arrows.c: (SmoothFreeArrowStyles): try and work around potential memcpy overlap 2005-03-11 Andrew Johnson * engines/crux/src/config.h.in: re-empty crux config template (tsk's thos) (merging changes from smooth cvs) * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.h: * engines/smooth/src/engine/smooth_gtk2_engine.c: * engines/smooth/src/utils/draw_arrows.c: * engines/smooth/src/utils/draw_arrows.h: ensure composite arrows immediately after parse i (to try and prevent memleaks on arrowless apps) * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.h: enabled dither pixbuf gradients by default for vertical/horizontal gradients and use exponential memcpy's in block sizes of 2^n to optimize number of steps used to draw vertical gradient lines. 2005-03-07 Thomas Wood * NEWS: * configure.ac: Update for 2.6.2 release 2005-02-19 Andrew Johnson * engines/smooth/src/engine/smooth_gtk2_drawing.c * engines/smooth/src/engine/smooth_gtk2_rc.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: Sync with with latest smooth 0.6.0 fixes, closes bugs #167389 and #163370 2005-02-08 Thomas Wood * NEWS: Update for 2.6.1 2005-02-03 William Jon McCann * engines/smooth/src/engine/smooth_gtk2_engine.h: * engines/smooth/src/engine/smooth_gtk2_drawing.c (smooth_draw_flat_box): * engines/smooth/src/engine/smooth_gtk2_engine.c (smooth_style_class_init): Namespace parent_class var (Fixes #166201). 2005-02-03 Kjartan Maraas * engines/smooth/src/engine/smooth_gtk2_engine.c: (smooth_rc_style_parse): Use g_quark_from_string() instead of g_quark_from_static_string() since the latter will cause problems when used in modules that are dynamically loaded and unloaded. This should solve a ton of crashes related to changing themes. Closes bug #165942, bug #166018, bug #160803, and is also related to other theme related crashes all the way back to 1.4.x. Theme engine authors should be made aware of this so we can get external theme engines fixed. 2005-01-29 Thomas Wood * NEWS: Updated * configure.ac: Change version to 2.6.1 2005-01-28 Thomas Wood * engines/smooth/Makefile.am: Fix bug 162131 (Enable building outside of srcdir) 2005-01-06 Thomas Wood * engines/crux/src/crux-pixmaps.c: (load_image): * engines/crux/src/crux-rc-style.c: (crux_rc_style_init): * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_handle): Applied patch from bug 163099 (fixes building with C89 compilers) 2005-01-04 Andrew Johnson * engines/smooth/src/engine/smooth_gtk2_misc.c: (reverse_engineer_spin_button): improve spin button up arrow offset when embedded * engines/smooth/src/interfaces/gdk2/gdk2_drawing_interface.c: (internal_image_buffer_new), (GDK2CanvasStore), (GDK2CanvasRender), (GDK2CanvasDrawLine), (GDK2CanvasDrawLines), (GDK2CanvasDrawArc), (GDK2CanvasFrameRectangle), (GDK2CanvasFrameChord), (GDK2CanvasFillRectangle), (GDK2CanvasFillChord), (GDKInitializeCanvas), (GDKFinalizeCanvas), (_DrawingInterfaceInitialize), (_DrawingInterfaceFinalize): * engines/smooth/src/interfaces/gdk2/gdk2_private_drawing_interface.h: Remove unused experimental Cairo/Xrender, Bezier, & Blur Cruft * engines/smooth/src/interfaces/gdk2/gdk2_drawing_interface.c: (GDK2CanvasFrameRectangle): * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_focus): fix solid focus where thickness > 1 2004-12-21 Andrew Johnson * configure.ac: fix dist/distcheck 2004-12-21 Andrew Johnson * README: * configure.ac: * engines/Makefile.am: * themes/Makefile.am: add --disable args to configure version bump to 2.6.0 * themes/ThinIce/Makefile.am: * themes/ThinIce/gtk-2.0/Makefile.am: * themes/ThinIce/gtk-2.0/gtkrc: add ThinIce theme 2004-12-17 Andrew Johnson * AUTHORS: Point to individual engines * MAINTAINERS: Add initial Maintainers list * NEWS: Add 2.6 News * engines/industrial/src/industrial_style.c: (real_draw_box): Fix OptionMenu vertical line for RTL 2004-12-16 Thomas Wood * themes/Industrial/gtk-2.0/gtkrc: Fixed invisible text in insensitive entry widgets * themes/Redmond/gtk-2.0/gtkrc: * themes/Redmond/gtk/gtkrc: Corrected background colour of insensitive entry widgets 2004-12-16 Andrew Johnson * COPYING: add initial list of engine to license * engines/smooth/src/engine/smooth_gtk2_drawing.c: (smooth_draw_slider): fix scales slider 2004-12-16 Andrew Johnson * README: Initial README updates for new release 2004-12-15 Thomas Wood * configure.ac: * themes/LighthouseBlue/Makefile.am: * themes/LighthouseBlue/gtk-2.0/Makefile.am: * themes/LighthouseBlue/gtk-2.0/gtkrc: * themes/Makefile.am: * themes/Mist/Makefile.am: * themes/Mist/gtk-2.0/Makefile.am: * themes/Mist/gtk-2.0/gtkrc: Added Mist and LighthouseBlue themes (gtkrc files) 2004-12-15 Andrew Johnson * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_arrow), (redmond_draw_box), (redmond_draw_handle): fix comboboxentry insensitive arrow fix RTL toolbar handles * engines/redmond/src/redmond_gtk2_misc.c: (is_combo_box), (is_in_combo_box): fix redmond comboboxentry check * engines/smooth/src/utils/draw_arrows.c: (SmoothDrawDirtyArrow), (SmoothDrawArrow): fix Etched Dirty Arrow offset * themes/Redmond/gtk-2.0/gtkrc: use white for progress bar prelight text 2004-12-15 Andrew Johnson * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: (smooth_draw_grip): * engines/smooth/src/utils/calc_colors.c: * engines/smooth/src/utils/calc_colors.h: * engines/smooth/src/utils/draw_grips.c: (do_smooth_draw_broken_bars), (do_smooth_draw_lines), (internal_smooth_draw_dot), (do_smooth_draw_dots), (do_smooth_draw_buds): * engines/smooth/src/utils/draw_grips.h: ensure "smooth" "namespace" on old grip functions 2004-12-15 Andrew Johnson * engines/smooth/src/utils/draw_checkmark.c: (SmoothDrawMinusCheckMark): improve size/center logic for inconsistant 'Minus' check 2004-12-14 Andrew Johnson * themes/Industrial/Makefile.am: * themes/Metal/gtk-2.0/Makefile.am: * themes/Redmond/gtk/Makefile.am: commit missing Makefile.am's 2004-12-14 Andrew Johnson * configure.ac: * Makefile.am: * engines/Makefile.am: * engines/metal/AUTHORS: * engines/metal/Makefile.am: * engines/metal/src/metal_gtk2_drawing.c: * engines/metal/src/metal_gtk2_drawing.h: * engines/metal/src/metal_gtk2_engine.c: * engines/metal/src/metal_gtk2_engine.h: * engines/metal/src/metal_gtk2_misc.c: * engines/metal/src/metal_gtk2_misc.h: add new metal engine * engines/smooth/src/engine/smooth_gtk2_drawing.c: fix embed combo button redraw * metal/.cvsignore: * metal/ChangeLog: * metal/Makefile.am: * metal/Theme/.cvsignore: * metal/Theme/Makefile.am: * metal/Theme/README.html: * metal/Theme/gtk-2.0/.cvsignore: * metal/Theme/gtk-2.0/Makefile.am: * metal/Theme/gtk-2.0/gtkrc: * metal/metal_rc_style.c: * metal/metal_rc_style.h: * metal/metal_style.c: * metal/metal_style.h: * metal/metal_theme_main.c: remove old metal * themes/Makefile.am: * themes/Industrial/Makefile.am: * themes/Industrial/gtk-2.0/Makefile.am: * themes/Industrial/gtk-2.0/gtkrc: * themes/Metal/Makefile.am: * themes/Metal/gtk-2.0/Makefile.am: * themes/Metal/gtk-2.0/gtkrc: * themes/Redmond/Makefile.am: * themes/Redmond/gtk/Makefile.am: * themes/Redmond/gtk/gtkrc: Add Industrial theme Add Metal theme Add Redmond GTK 1 gtkrc 2004-12-13 Thomas Wood * configure.ac: * engines/Makefile.am: * engines/smooth/*: Added Smooth engine from Andrew Johnson 2004-12-08 Andrew Johnson * engines/redmond/Makefile.am: Fix Makefile.am libs * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_arrow), (redmond_draw_shadow), (redmond_draw_combobox_button), (redmond_draw_spinbutton_stepper), (redmond_draw_box), (redmond_draw_handle): Ensure widget isn't null when testing RTL/LTR Ensure valid style is used for combo widget 2004-12-06 Thomas Wood * configure.ac: * themes/Crux/Makefile.am: * themes/Crux/gtk-2.0/Makefile.am: * themes/Crux/gtk-2.0/gtkrc: * themes/Makefile.am: Added Crux gtkrc 2004-12-05 Thomas Wood , Andrew Johnson * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_misc.c: - Menu prelight fix (open menu check) - Fixed insensitive arrows - Use stippled background for toggle buttons in "on" state - Fixed Firefox toolbar 2004-12-03 Thomas Wood , Andrew Johnson * Makefile.am: * configure.ac: * engines/Makefile.am: * engines/redmond/*: New redmond engine added * redmond95/Theme/.cvsignore: * redmond95/Theme/Makefile.am: * redmond95/Theme/README.html: * redmond95/Theme/gtk-2.0/.cvsignore: * redmond95/Theme/gtk-2.0/Makefile.am: * redmond95/Theme/gtk-2.0/gtkrc: Old redmond engine removed * themes/Makefile.am: * themes/Redmond/Makefile.am: * themes/Redmond/gtk-2.0/Makefile.am: * themes/Redmond/gtk-2.0/gtkrc: Theme files for new redmond engine 2004-12-01 Thomas Wood , Andrew Johnson * Update version to 2.5 * Remove pixbuf and notif engines, and misc other files * Move crux, hc, industrial, mist, thinice engines over from gnome-themes and gnome-themes-extras * Replace configure.in with configure.ac 2004-11-02 James Henstridge From bug #156666: * configure.in: modernise the configure script a bit. * autogen.sh: use automake 1.9, 1.8 or 1.7 instead of 1.4. Wed May 28 10:26:48 2003 Owen Taylor * README: Fix typo of ~/.theme for ~/.themes Tue Apr 22 12:14:16 2003 Owen Taylor * README: Fix 'copy copy' typo. 2003-03-02 Tor Lillqvist * configure.in: Call AC_LIBTOOL_WIN32_DLL. Set OS_WIN32 conditional on Windows. * makefile.cygwin: Remove, unmaintained and obsolete. * Makefile.am (EXTRA_DIST): Remove here, too. * README.win32: Update. Fri Jan 17 19:02:02 2003 Owen Taylor * === Released 2.2.0 === * Makefile.am: Make dist fixes. * gtk-engines.spec: Some updates to bring into a resemblence of workingness. * NEWS: Updated. Fri Jan 17 18:32:34 2003 Owen Taylor * configure.in Makefile.am gtk-engines-2.pc.in: Patch from Seth Nickell to add a .pc file so that things use one of the gtk-engines engines can check for it's presence. Thu Oct 31 18:56:56 2002 Owen Taylor * configure.in: Remove some useless checks. (Red Hat bugzilla, #64061) 2002-09-12 Havoc Pennington * notif/Theme/ICON.png, metal/Theme/ICON.png, redmond95/Theme/ICON.png: remove apparently pointless old icon files Fri Sep 6 16:40:42 2002 Owen Taylor * README: Added some text describing how to install gtk-engines into a different prefix than GTK+. (#84727, Piotr Sawuk) 2002-08-18 Havoc Pennington * autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with both automake 1.6 and 1.4 installed get the right automake. Means compilation from CVS will now require the latest automake 1.4 release, or manually creating symlinks called "automake-1.4" and "aclocal-1.4" Sun Apr 21 09:52:54 2002 Owen Taylor * configure.in: Version 1.9.0 Sat Jan 19 20:42:11 2002 Owen Taylor * raleigh/**: Remove engine, it's now the GTK+ default. * pixmap/**: Remove engine, replaced by pixbuf * pixbuf/**: Replacement for pixmap-engine, compatible RC file format, sane code. * metal,notif,redmond95/Theme/gtk{-2.0}: Rename theme directories to gtk-2.0. * Makefile.am (SUBDIRS): Remove pixmap and raleigh, temporarily remove * ltmain.sh ltconfig acinclude.m4: Remove from CVS * configure.in: Update for GTK+-2.0 and pkg-config. Thu Mar 15 02:07:25 2001 Owen Taylor * configure.in (cflags_set): Release 0.12 * configure.in: Suppress the default action when checking for gtk_style_set_prop_experimental to avoid messing up $LIBS. (#51989) * configure.in: Add -Wall for GCC. * raleigh/raleigh_theme_{draw,main}.c: Couple of trivial warning cleanups. Thu Feb 15 23:32:27 2001 Owen Taylor * configure.in (cflags_set): Release 0.11. Mon Feb 12 17:43:57 2001 Owen Taylor * Makefile.am raleigh/*: Import of new theme that using GTK+-1.2.9 features to look better. Wed Jan 17 13:40:08 2001 Owen Taylor * {notif,redmond95}/Theme/gtk/gtkrc: Remove references to /home/raster. (RH bugzilla #20444) 2000-02-13 Tor Lillqvist * makefile.cygwin: New file, for building with gcc on Windows without auto* and libtool. * makefile.msc: New file, for building with MSVC. * README.win32: New file. * Makefile.am (EXTRA_DIST): Distribute the new files. Thu Feb 3 15:05:57 PST 2000 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release) Tue Jan 25 10:58:11 2000 Owen Taylor * configure.in: Up version, make a 0.10 release including workaround hack for pixmap eventbox backgrounds. 1999-05-30 James Henstridge * configure.in, */Makefile.am: make the theme engines link against gtk. Sat May 1 12:11:33 PDT 1999 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: libtool 1.3 Mon Mar 29 21:13:13 PST 1999 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: libtool 1.2f Fri Feb 26 20:38:53 1999 Owen Taylor * configure.in: Up version number to 0.5 Thu Feb 11 23:09:55 1999 Owen Taylor * configure.in (cflags_set): Up version number to 0.4. * **/Makefile.am: Removed all references to makemakefile.sh Tue Feb 2 05:16:12 PST 1999 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: use CVS libtool 1.2e. Tell me what breaks. * pixmap/Makefile.am * metal/Makefile.am * notif/Makefile.am * redmond95/Makefile.am: use -module and -avoid-version flags * configure.in: minor clean ups Wed Jan 27 21:14:54 PST 1999 Manish Singh * acinclude.m4: new file, to go with libtool * ltmain.sh * ltconfig: better file magic regexp for Linux libs Mon Jan 18 14:08:14 1999 Owen Taylor * README: Wrote one * AUTHORS: Added Randy Gordon * gtk-engines.spec: Up version number Mon Jan 18 13:46:41 1999 Owen Taylor * configure.in: Up version for an 0.2 release. Mon Jan 18 11:25:25 1999 Owen Taylor * configure.in: Remove -lgdk, -lgtk, and -lglib from GDK_IMLIB_LIBS. * redmond95/Makefile.am notif/Makefile.am metal/Makefile.am pixmap/Makefile.am: Don't link to GTK_LIBS, since we want to use the main programs copy of GTK+. * */*_theme_main.c: Add a gtk_module_check_init() function to check if we are compatible with the version of GTK+ of the main executable. Removed some debugging printf's. Wed Jan 13 16:30:45 PST 1999 Manish Singh * ltconfig * ltmain.sh: House! Techno! Libtool! (do the 1.2d dance baby) Sun Jan 3 14:13:28 PST 1999 Manish Singh * configure.in: don't try to build static libs by default, it doesn't make much sense * redmond95/Makefile.am * notif/Makefile.am * metal/Makefile.am: don't link to $GDK_IMLIB_LIBS Wed Dec 16 12:52:55 EST 1998 The Rasterman * removed win95 and Motif themes - replace with Notif and Redmond95 - otherwise the same. 1998-11-07 Raja R Harinath * configure.in: Unify all subdir `configure.in's here. Mon Oct 19 12:11:28 1998 Owen Taylor * Add in ltconfig and ltmain.sh with correct shldeps patches. 1998-10-17 * (theme)/configure.in: changed AC_INIT field. Sat Oct 17 00:35:10 1998 Owen Taylor * */*.[ch]: Removed unused code for handling RC data, made functions static to reduce damage from g_module's RTLD_GLOBAL. Removed theme_set_background functions which were just cut 'n paste code from GTK+. * */*.h: Removed unused, obsolete header files. Tue Sep 1 00:12:12 CDT 1998 Frank Belew * Makefile.am: added support for new imlib.m4 * configure.in: added support for new imlib.m4 Fri Aug 21 19:08:25 1998 Owen Taylor * Makefile.am: Added support for metal theme. Install/distribute gtkrc's for each theme. Thu Aug 20 18:25:07 EDT 1998 The Rasterman * added metal theme, fixed pixmap theme now to use pixmap path - and removed lots of annoying print's, added gtkr's for each theme data.. now all your rc needs to do is include these rc's. Mon Aug 17 20:32:53 1998 Owen Taylor * Makefile.am, pixmap/Makefile.am: Switch back to using automake, fix things up to make dist properly. * pixmap_theme.h: Rationalized. * win95_theme.h motif_theme.h: Removed * Started ChangeLog. Thu Jul 30 14:51:34 EDT 1998 The Rasterman * Moved all the themes to install cleanly the engine *.so's in $(exec_prefix)/lib/gtk/themes/engines/ . All the data for themes is now installed in $(exec_prefix)/share/gtk/themes/theme_name/ All things build using GNU configure and autoconf and libtool now. I have created a win95, motif and pixmap theme setup - i have to work on the motif and win95 ones - pixmap theme also need work - it partially parses a gtkrc for itself. This is goign to be a good sample base to work from if you wish to write your own theme engines. Thu Jul 30 19:10:42 EDT 1998 The Rasterman * Fixed the win95/motif drawing functions to NOT clobber the original GTK bg pixmap style stuff.... :) ChangeLog | 20 ++++++++++++++++++++ configure.ac | 1 + 2 files changed, 21 insertions(+), 0 deletions(-) commit bbd9441b729c57d2a6b8197b6987431e794673ae Author: Thomas Wood Date: Sat Jan 21 17:14:28 2006 +0000 Add insensitive state 2006-01-21 Thomas Wood * engines/crux/src/crux-draw.c: (draw_check): Add insensitive state ChangeLog | 4 +++ engines/crux/src/crux-draw.c | 47 +++++++++++++++++++++++++++++++++--------- 2 files changed, 41 insertions(+), 10 deletions(-) commit 2d2b4705ae6889af07db4a87976945b9c53b5ad3 Author: Thomas Wood Date: Sat Jan 21 12:57:10 2006 +0000 First attempt at cairo check boxes 2006-01-21 Thomas Wood * engines/crux/src/crux-draw.c: (paint_stock_image), (paint_shadow), (paint_default), (paint_arrow), (draw_box), (draw_polygon), (draw_arrow), (draw_check), (draw_focus), (draw_slider): * themes/Crux/gtk-2.0/gtkrc: First attempt at cairo check boxes ChangeLog | 10 +++++ engines/crux/src/crux-draw.c | 75 ++++++++++++++++++++++++++++++------------ themes/Crux/gtk-2.0/gtkrc | 2 +- 3 files changed, 65 insertions(+), 22 deletions(-) commit ea1f508ef5c6936495c18645ea479c44173f649c Author: Richard A. Stellingwerff Date: Mon Jan 16 22:15:16 2006 +0000 Updated for 2.7.3 2006-01-16 Richard A. Stellingwerff * NEWS: * configure.ac: Updated for 2.7.3 ChangeLog | 7 +++++++ NEWS | 8 ++++++++ configure.ac | 2 +- 3 files changed, 16 insertions(+), 1 deletions(-) commit ce9f0ea09de72a44870559bb98f1e7aefbcff014 Author: Richard Stellingwerff Date: Sun Jan 15 22:28:39 2006 +0000 Added the resize grip. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_resize_grip): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_resize_grip): * engines/clearlooks/src/clearlooks_types.h: Added the resize grip. ChangeLog | 10 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 31 +++++++++++++++++++++++++++++ engines/clearlooks/src/clearlooks_draw.h | 8 +++++++ engines/clearlooks/src/clearlooks_style.c | 23 +++++++++++++++++++++ engines/clearlooks/src/clearlooks_types.h | 17 +++++++++++++++ 5 files changed, 89 insertions(+), 0 deletions(-) commit 337f850b292c1fd440af0fd96fd173d29116c863 Author: Richard Stellingwerff Date: Sun Jan 15 11:38:36 2006 +0000 Fixed memory leak. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem): Fixed memory leak. ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 1 + 2 files changed, 8 insertions(+), 0 deletions(-) commit f3b02e2505460797d2eea679247055c1112f42fb Author: Daniel Borgmann Date: Thu Jan 12 12:02:16 2006 +0000 Don't draw the shadow on vertical toolbars. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (draw_box): Don't draw the shadow on vertical toolbars. ChangeLog | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) commit fa2b4e7a3b083a3f629c57fcf008732a5ecc494a Author: Daniel Borgmann Date: Thu Jan 12 12:01:32 2006 +0000 Don't draw the shadow on vertical toolbars. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (draw_box): Don't draw the shadow on vertical toolbars. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (scale_or_ref): Add missing function for icon transparency patch. engines/clearlooks/src/clearlooks_style.c | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) commit de88c4842d23314585d351120a8bb59395ff7851 Author: Daniel Borgmann Date: Thu Jan 12 10:35:41 2006 +0000 Add missing function for icon transparency patch. * engines/clearlooks/src/clearlooks_style.c: (scale_or_ref): Add missing function for icon transparency patch. ChangeLog | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) commit 971c477ad51778fff8a666493e33008d5acbe05b Author: Daniel Borgmann Date: Thu Jan 12 10:17:32 2006 +0000 Applied icon transparency patch again. * engines/clearlooks/src/clearlooks_style.c: (set_transparency), (render_icon), (clearlooks_style_class_init): Applied icon transparency patch again. ChangeLog | 7 ++ engines/clearlooks/src/clearlooks_style.c | 122 +++++++++++++++++++++++++++++ 2 files changed, 129 insertions(+), 0 deletions(-) commit 46e4d5122321c9f868e367d7a08701c54892a6a6 Author: Daniel Borgmann Date: Thu Jan 12 07:52:33 2006 +0000 New-old menuitem style. 2006-01-12 Daniel Borgmann * engines/clearlooks/src/clearlooks_style.c: (draw_box): * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_menuitem): New-old menuitem style. * engines/clearlooks/src/clearlooks_style.c: (draw_handle): Fix broken toolbar handle orientation (again). ChangeLog | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) commit 1f1a4323042b8fb18afd1ae5e1791ab763996d2d Author: Daniel Borgmann Date: Thu Jan 12 07:48:53 2006 +0000 Fix broken toolbar handle orientation (again). * engines/clearlooks/src/clearlooks_style.c: (draw_handle): Fix broken toolbar handle orientation (again). engines/clearlooks/src/clearlooks_style.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) commit 7adba6c328578e4f6b02d5282de09cf8358858de Author: Daniel Borgmann Date: Thu Jan 12 06:00:35 2006 +0000 New-old menuitem style. engines/clearlooks/src/clearlooks_draw.c | 21 ++++++++++++++++----- engines/clearlooks/src/clearlooks_style.c | 19 ++++++++++--------- 2 files changed, 26 insertions(+), 14 deletions(-) commit 048f4afaccf8f29a0b94c5cc27b4c109dec997c1 Author: Benjamin Berg Date: Sat Jan 7 15:49:53 2006 +0000 Make sure the clip regions are reset again. 2006-01-06 Benjamin Berg * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_slider), (draw_handle): Make sure the clip regions are reset again. ChangeLog | 6 ++++++ engines/lighthouseblue/src/lighthouseblue_style.c | 11 ++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) commit c81b40876e01f53ab460a0577607ebb33eb0ac77 Author: Richard Stellingwerff Date: Thu Jan 5 22:46:55 2006 +0000 Reverted to 'forward motion' animation by default, when enabled. Disabled * engines/clearlooks/src/clearlooks_style.c: (draw_box): * themes/Clearlooks/gtk-2.0/gtkrc: Reverted to 'forward motion' animation by default, when enabled. Disabled by default now. ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_style.c | 6 ++---- themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) commit c5f8c1ba70186b1c425b407534f920dac159a075 Author: Richard Stellingwerff Date: Thu Jan 5 22:16:55 2006 +0000 Removed some very unprofessional debugging output... * engines/clearlooks/src/clearlooks_style.c: (draw_box): Removed some very unprofessional debugging output... ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) commit 0b55acd57d6c2b32ce6b7f4e759b70fe5025968b Author: Richard Stellingwerff Date: Thu Jan 5 21:57:05 2006 +0000 Renamed cl_is_gnome_panel to cl_is_panel_widget to catch applets as well. * engines/clearlooks/src/clearlooks_style.c: (draw_box): * engines/clearlooks/src/support.c: (cl_is_panel_widget): * engines/clearlooks/src/support.h: Renamed cl_is_gnome_panel to cl_is_panel_widget to catch applets as well. Don't ask me why the Window List applet likes to draw like a menubar, but it does. ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_style.c | 5 ++++- engines/clearlooks/src/support.c | 5 +++-- engines/clearlooks/src/support.h | 3 ++- 4 files changed, 19 insertions(+), 4 deletions(-) commit 330d14c4a97772b540dde23f06b26af1a73cc6c6 Author: Thomas Wood Date: Wed Jan 4 23:40:28 2006 +0000 Applied Lighthouseblue engine patch from bug 321140 2006-01-04 Thomas Wood * engines/lighthouseblue/src/lighthouseblue_rc_style.c: (theme_parse_boolean): * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_arrow), (lighthouseblue_style_class_init): * engines/lighthouseblue/src/util.c: Applied Lighthouseblue engine patch from bug 321140 ChangeLog | 10 +++++++ .../lighthouseblue/src/lighthouseblue_rc_style.c | 2 +- engines/lighthouseblue/src/lighthouseblue_style.c | 13 +-------- engines/lighthouseblue/src/util.c | 28 -------------------- 4 files changed, 12 insertions(+), 41 deletions(-) commit 5603b6c2f600c9c5b7145e49e1d1141ed0663a9a Author: Thomas Wood Date: Wed Jan 4 23:34:47 2006 +0000 Updated for 2.7.2 2006-01-02 Thomas Wood * NEWS: * configure.ac: Updated for 2.7.2 ChangeLog | 7 +++++++ NEWS | 12 +++++++++++- configure.ac | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) commit 324f4bba78b28009fca5ac37a754fda0dee6f55c Author: Benjamin Berg Date: Tue Jan 3 14:55:31 2006 +0000 Add a hc_draw_flat_box function, that calls the gtk_paint_box function for 2006-01-03 Benjamin Berg * engines/hc/src/hc-style.c: (hc_draw_flat_box), (hc_style_class_init): Add a hc_draw_flat_box function, that calls the gtk_paint_box function for tooltips to avoid the hardcoded black border that the default engine uses. Closes bug #318151. ChangeLog | 8 ++++++++ engines/hc/src/hc-style.c | 23 +++++++++++++++++++++++ 2 files changed, 31 insertions(+), 0 deletions(-) commit 13e0d674070b64617a90f5789903f5ecfa638c00 Author: Richard Stellingwerff Date: Mon Jan 2 00:37:05 2006 +0000 Prefixed some function with cl_ to avoid symbol conflicts with other * engines/clearlooks/src/clearlooks_style.c: (draw_arrow): * engines/clearlooks/src/support.c: (cl_find_combo_box_widget), (cl_is_combo_box): * engines/clearlooks/src/support.h: Prefixed some function with cl_ to avoid symbol conflicts with other engines. Based on a patch from #315562. ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- engines/clearlooks/src/support.c | 8 ++++---- engines/clearlooks/src/support.h | 4 ++-- 4 files changed, 17 insertions(+), 7 deletions(-) commit 33ed5e79e5f342a639ba1a4663342be0dcc06499 Author: Benjamin Berg Date: Sat Dec 31 21:38:48 2005 +0000 Fix some possible NULL dereferenciations. 2005-12-31 Benjamin Berg * engines/clearlooks/src/clearlooks_style.c: (draw_box_gap), (draw_box): Fix some possible NULL dereferenciations. ChangeLog | 5 +++++ engines/clearlooks/src/clearlooks_style.c | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) commit 51f722017b20d35d4defb4e1ca515b8df851031c Author: Richard Stellingwerff Date: Fri Dec 30 17:49:08 2005 +0000 Added an extra check for the entry widget. Prevents a crash in evolution. * engines/clearlooks/src/clearlooks_style.c: (draw_shadow): Added an extra check for the entry widget. Prevents a crash in evolution. ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) commit bf0570796ef9ccc25d52303ca6409901d9704ea6 Author: Richard Stellingwerff Date: Mon Dec 26 15:53:34 2005 +0000 Don't draw menubar on GNOME panel. * engines/clearlooks/src/clearlooks_style.c: (draw_box): Don't draw menubar on GNOME panel. * engines/clearlooks/src/support.c: (cl_is_gnome_panel): * engines/clearlooks/src/support.h: Added function to check if the widget is the GNOME panel. ChangeLog | 11 +++++++++++ engines/clearlooks/src/clearlooks_style.c | 10 +++------- engines/clearlooks/src/support.c | 6 ++++++ engines/clearlooks/src/support.h | 3 +++ 4 files changed, 23 insertions(+), 7 deletions(-) commit 8b1eabb915a8f4a69a10eb44b5f306663689ea00 Author: Richard Stellingwerff Date: Mon Dec 26 10:48:26 2005 +0000 Added 'is_default' field to WidgetParameters. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_box), (clearlooks_style_init_from_rc): * engines/clearlooks/src/clearlooks_types.h: Added 'is_default' field to WidgetParameters. ChangeLog | 9 +++++++++ engines/clearlooks/src/clearlooks_style.c | 8 +++----- engines/clearlooks/src/clearlooks_types.h | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) commit d844ca9fe403e67d0a0d091f846f4fc604c3902e Author: Kjartan Maraas,,23491770 Date: Wed Dec 21 22:28:51 2005 +0000 Revert too agressive cleanups so we don't get unresolved symbols and 2005-12-21 Kjartan Maraas,,23491770 * engines/smooth/src/interfaces/abstract/abstract_drawing_interface .c: * engines/smooth/src/interfaces/shared/gdk/gdk_drawing_interface.c: (internal_drawing_area_use_pen_gc), (internal_drawing_area_unuse_pen_gc), (internal_drawing_area_use_brush_gc), (internal_drawing_area_unuse_brush_gc): Revert too agressive cleanups so we don't get unresolved symbols and crashes/100% cpu hangs. ChangeLog | 11 +++ .../abstract/abstract_drawing_interface.c | 4 +- .../interfaces/shared/gdk/gdk_drawing_interface.c | 75 +++++++++++++++++++- 3 files changed, 86 insertions(+), 4 deletions(-) commit 1248d20307b94c337580ba1ccb571bf0637dae44 Author: Thomas Wood Date: Wed Dec 21 22:04:15 2005 +0000 - Patches and fixes for bug 321140 to hc, industrial, mist, redmond and 2005-12-21 Thomas Wood * engines/hc/src/hc-main.c: (theme_init): * engines/hc/src/hc-style.c: (hc_draw_shadow): * engines/industrial/src/industrial_style.c: (ensure_pixmap), (draw_hline), (draw_handle), (draw_vline), (draw_slider), (real_draw_box), (draw_box), (draw_shadow), (draw_box_gap), (draw_shadow_gap), (draw_extension), (draw_arrow), (draw_check), (draw_option): * engines/industrial/src/parse_rc_style.h: * engines/mist/src/mist-rc-style.c: * engines/mist/src/mist-style.c: (draw_box), (draw_resize_grip), (draw_string): * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_box): * engines/redmond/src/redmond_gtk2_engine.c: * engines/redmond/src/redmond_gtk2_misc.c: (is_toolbar_item), (gtk_menu_shell_setup_signals), (gtk_menu_shell_cleanup_signals): * engines/thinice/src/thinice_rc_style.c: (thinice_rc_style_class_init): * engines/thinice/src/thinice_theme_draw.c: (draw_box), (draw_handle): - Patches and fixes for bug 321140 to hc, industrial, mist, redmond and thinice engines (cleanups for compiler warnings and removal of unneeded code) ChangeLog | 26 ++++++++++++ engines/hc/src/hc-main.c | 2 +- engines/hc/src/hc-style.c | 6 --- engines/industrial/src/industrial_style.c | 62 ++++++---------------------- engines/industrial/src/parse_rc_style.h | 4 +- engines/mist/src/mist-rc-style.c | 1 - engines/mist/src/mist-style.c | 9 ---- engines/redmond/src/redmond_gtk2_drawing.c | 1 - engines/redmond/src/redmond_gtk2_engine.c | 2 +- engines/redmond/src/redmond_gtk2_misc.c | 19 ++++----- engines/thinice/src/thinice_rc_style.c | 2 - engines/thinice/src/thinice_theme_draw.c | 11 ++--- 12 files changed, 56 insertions(+), 89 deletions(-) commit 2d0c22d7dc80a4bb017b8530f6109172243cb992 Author: Richard Stellingwerff Date: Mon Dec 19 19:28:18 2005 +0000 Renamed clearlooks_draw_rectectangle to clearlooks_draw_rectangle. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectangle), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_spinbutton_down), (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_tab), (clearlooks_draw_scrollbar_stepper): Renamed clearlooks_draw_rectectangle to clearlooks_draw_rectangle. * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box), (clearlooks_style_unrealize): Don't draw entry in TreeView edit mode. * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): * engines/clearlooks/src/support.h: Fixed a warning, removed unused methods. * themes/Clearlooks/gtk-2.0/gtkrc: Made background just a tiiiiiiiny bit darker. ChangeLog | 25 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 97 +++++++++-------------------- engines/clearlooks/src/clearlooks_style.c | 17 +++--- engines/clearlooks/src/support.c | 73 +--------------------- engines/clearlooks/src/support.h | 24 +------- themes/Clearlooks/gtk-2.0/gtkrc | 3 +- 6 files changed, 68 insertions(+), 171 deletions(-) commit 3852eb805df5680b3187e3d77eb01ffb32f8f283 Author: Thomas Wood Date: Wed Dec 14 22:50:32 2005 +0000 Applied smooth engine patch from bug 321140 2005-12-14 Thomas Wood * engines/smooth/Makefile.am: * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.c: (theme_parse_boolean), (theme_parse_fill), (theme_parse_edge), (theme_parse_button_default), (theme_parse_active_tab), (theme_parse_tab), (theme_parse_option), (theme_parse_grip), (theme_parse_check): * engines/smooth/src/engine/shared/gtk/smooth_gtk_rc.h: * engines/smooth/src/engine/smooth_gtk2_drawing.c: (rounded_extension_points), (square_extension_points), (triangle_extension_points), (smooth_fill_background), (smooth_draw_grip), (do_smooth_draw_shadow), (do_smooth_draw_focus), (smooth_draw_extension), (smooth_draw_button_default), (smooth_draw_handle): * engines/smooth/src/engine/smooth_gtk2_misc.c: (is_toolbar_item): * engines/smooth/src/engine/smooth_gtk2_misc.h: * engines/smooth/src/engine/smooth_gtk2_rc.c: (smooth_rc_style_init_data): * engines/smooth/src/interfaces/abstract/abstract_drawing_interface .c: * engines/smooth/src/interfaces/drawing_interface.c: (SmoothDrawingInterfaceSetup): * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: (internal_create_vertical_gradient_image_buffer), (GDK2CanvasRenderGradient): * engines/smooth/src/interfaces/shared/gdk/gdk_drawing_interface.c: (internal_drawing_area_use_pen_gc): * engines/smooth/src/utils/draw_arrows.c: (SmoothDrawDirtyArrow): * engines/smooth/src/utils/draw_arrows.h: * engines/smooth/src/utils/draw_border.c: (SmoothDrawPolygonBorder): * engines/smooth/src/utils/draw_checkmark.c: (SmoothDrawCrossCheckMark): * engines/smooth/src/utils/draw_grips.c: (modula): Applied smooth engine patch from bug 321140 ChangeLog | 38 + engines/smooth/Makefile.am | 4 - .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 27 +- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 2 +- engines/smooth/src/engine/smooth_gtk2_drawing.c | 861 +++++++++++++++++++- engines/smooth/src/engine/smooth_gtk2_misc.c | 12 +- engines/smooth/src/engine/smooth_gtk2_misc.h | 2 - engines/smooth/src/engine/smooth_gtk2_rc.c | 2 +- .../abstract/abstract_drawing_interface.c | 4 +- engines/smooth/src/interfaces/drawing_interface.c | 6 +- .../interfaces/gdk2/src/gdk2_gradient_routines.c | 14 +- .../interfaces/shared/gdk/gdk_drawing_interface.c | 75 +-- engines/smooth/src/utils/draw_arrows.c | 26 +- engines/smooth/src/utils/draw_arrows.h | 4 +- engines/smooth/src/utils/draw_border.c | 15 +- engines/smooth/src/utils/draw_checkmark.c | 3 +- engines/smooth/src/utils/draw_grips.c | 2 +- 17 files changed, 906 insertions(+), 191 deletions(-) commit 81d42021c971b2fa0b22812f9e6bed46a8d1cde7 Author: Thomas Wood Date: Mon Dec 12 23:57:15 2005 +0000 Update for 2.7.1 release 2005-12-12 Thomas Wood * NEWS: * configure.ac: Update for 2.7.1 release * engines/metal/src/metal_gtk2_drawing.c: (metal_draw_box), (metal_draw_tab), (metal_draw_extension): * engines/metal/src/metal_gtk2_misc.c: (do_metal_draw_arrow), (is_first_tab), (do_metal_draw_notebook_tab): * engines/metal/src/metal_gtk2_misc.h: * engines/thinice/src/thinice_theme_draw.c: (draw_box), (draw_extension), (thinice_tab): Fixes bug 323215 ChangeLog | 15 +++++ NEWS | 6 ++ configure.ac | 2 +- engines/metal/src/metal_gtk2_drawing.c | 16 +++-- engines/metal/src/metal_gtk2_misc.c | 29 +++++---- engines/metal/src/metal_gtk2_misc.h | 3 +- engines/thinice/src/thinice_theme_draw.c | 101 ++++++++---------------------- 7 files changed, 77 insertions(+), 95 deletions(-) commit 214a772149e7f33e6fbab52e9a747becd91061f0 Author: Richard Stellingwerff Date: Mon Dec 12 23:38:47 2005 +0000 Add animation.c to the dist. * engines/clearlooks/Makefile.am: Add animation.c to the dist. ChangeLog | 6 ++++++ engines/clearlooks/Makefile.am | 2 ++ 2 files changed, 8 insertions(+), 0 deletions(-) commit 829fc68f981ad3cad96c25ec0b643ad7b6d744cd Author: Richard Stellingwerff Date: Sun Nov 27 13:48:35 2005 +0000 Don't draw the "sunken" look when x/ythickness is smaller than 3. * engines/clearlooks/src/clearlooks_style.c: (draw_check): Don't draw the "sunken" look when x/ythickness is smaller than 3. ChangeLog | 8 ++++++- engines/clearlooks/src/clearlooks_style.c | 34 +++++++++++++++++----------- 2 files changed, 28 insertions(+), 14 deletions(-) commit 41de4cce042d2ffda46f9b9d8b05fbe503043035 Author: Richard Stellingwerff Date: Fri Nov 25 00:22:31 2005 +0000 Removed most of the #define's in clearlooks_draw, replacing them with * engines/clearlooks/src/animation.c: * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_frame), (clearlooks_draw_tab), (clearlooks_draw_normal_arrow), (clearlooks_draw_combo_arrow), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_style.c: (draw_box): Removed most of the #define's in clearlooks_draw, replacing them with const's. Slightly modified the border shade of pressed buttons. No longer animating progressbars when their allocation has negative values. Firefox is an application where this happens, and is the prime example of GTK+ fakes where adding timers to the main loop has no effect, resulting in choppy progressbar animation. ChangeLog | 17 +++++++++++++++++ engines/clearlooks/src/animation.c | 2 ++ engines/clearlooks/src/clearlooks_draw.c | 23 +++++++++++++---------- engines/clearlooks/src/clearlooks_style.c | 4 ++-- 4 files changed, 34 insertions(+), 12 deletions(-) commit 0903e21965cdf2cf8d979c34ff5522393ef7aec0 Author: Richard Stellingwerff Date: Wed Nov 23 13:37:41 2005 +0000 Updated the animation code from Kulyk Nazar's latest patch. Moved all * engines/clearlooks/src/animation.c: (cl_async_animation_lookup), (cl_async_animation_remove), (cl_async_animation_add), (cl_async_animation_update), (cl_async_animation_timer_func), (cl_async_animation_getdata), (cl_checkbox_toggle), (cl_progressbar_add), (cl_disconnect): * engines/clearlooks/src/clearlooks_style.c: (draw_box), (draw_option), (draw_check), (draw_arrow), (draw_focus), (clearlooks_style_unrealize): * themes/Clearlooks/gtk-2.0/gtkrc: Updated the animation code from Kulyk Nazar's latest patch. Moved all animation functions to animations.c. It needs a lot of testing still. Changed the bg[ACTIVE] shade to make it a bit lighter. ChangeLog | 16 + engines/clearlooks/src/animation.c | 187 +++++++++++++ engines/clearlooks/src/clearlooks_style.c | 427 +++++++++++------------------ themes/Clearlooks/gtk-2.0/gtkrc | 8 +- 4 files changed, 375 insertions(+), 263 deletions(-) commit 7caf8782e1d9f7f0df5721a81fdd793ea2bdd34a Author: Richard Stellingwerff Date: Tue Nov 22 18:59:50 2005 +0000 Fixed crash in gnumeric. The bug was potentially harmful to other apps as * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_trough): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters): Fixed crash in gnumeric. The bug was potentially harmful to other apps as well. ChangeLog | 10 ++++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 +++--- engines/clearlooks/src/clearlooks_style.c | 7 ++++--- 3 files changed, 17 insertions(+), 6 deletions(-) commit 4254f36bda10b4d6377eae5a63bd3a2a1d27df8c Author: Thomas Wood Date: Mon Nov 21 21:08:29 2005 +0000 Update for 2.7.0 release 2005-11-21 Thomas Wood * NEWS: * configure.ac: Update for 2.7.0 release ChangeLog | 7 +++++++ NEWS | 8 ++++++++ configure.ac | 2 +- 3 files changed, 16 insertions(+), 1 deletions(-) commit 7ead456cfa99dd3450e7ec0dfc4c87c4e1c884e1 Author: Thomas Wood Date: Mon Nov 21 20:40:04 2005 +0000 - Applied crux patch from bug 321140 - General gradients now drawn using 2005-11-21 Thomas Wood * engines/crux/src/crux-common.h: * engines/crux/src/crux-draw.c: (crux_paint_gradient), (draw_shadow), (draw_box), (draw_slider): * engines/crux/src/crux-main.c: (theme_init): * engines/crux/src/crux-rc-parser.c: * engines/crux/src/crux-rc-style.c: - Applied crux patch from bug 321140 - General gradients now drawn using cairo ChangeLog | 12 +++ engines/crux/src/crux-common.h | 2 +- engines/crux/src/crux-draw.c | 159 ++++++++++++------------------------- engines/crux/src/crux-main.c | 6 -- engines/crux/src/crux-rc-parser.c | 16 ---- engines/crux/src/crux-rc-style.c | 3 +- 6 files changed, 67 insertions(+), 131 deletions(-) commit a38c74d706c939f70cd3796e8671f8f1b5660877 Author: Richard Stellingwerff Date: Wed Nov 16 16:16:21 2005 +0000 Draw inner focus ring on GtkEntry. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry): Draw inner focus ring on GtkEntry. ChangeLog | 5 ++++ engines/clearlooks/src/clearlooks_draw.c | 33 ++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 8 deletions(-) commit f68399556ae16e7c9634d3a2e00ae11d2dd18731 Author: Richard Stellingwerff Date: Sun Nov 13 22:07:18 2005 +0000 Checkmarks now animate, too. Thanks once again to Kulyk Nazar (tirpse)! * engines/clearlooks/src/clearlooks_style.c: (cl_progressbar_add), (cl_checks_remove), (cl_update_checks), (cl_checks_known), (cl_checks_timer_func), (cl_checks_toggled), (clearlooks_set_widget_parameters), (draw_flat_box), (draw_check), (clearlooks_style_unrealize): Checkmarks now animate, too. Thanks once again to Kulyk Nazar (tirpse)! Properly disconnecting signals from progressbars and check boxes, I hope. ChangeLog | 11 ++ engines/clearlooks/src/clearlooks_style.c | 150 ++++++++++++++++++++++++----- 2 files changed, 135 insertions(+), 26 deletions(-) commit 87d8cdce9746c162e94920c6b6d05a89e2796386 Author: Richard Stellingwerff Date: Sun Nov 13 20:40:34 2005 +0000 Don't update the progressbars after unloading the engine. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_unrealize): Don't update the progressbars after unloading the engine. ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_style.c | 11 +++++++++++ 2 files changed, 18 insertions(+), 0 deletions(-) commit 3cc17ddc36802e4ac6d9ab9811ddb92b350c007d Author: Richard Stellingwerff Date: Sun Nov 13 19:50:23 2005 +0000 Added animating progressbar, thanks to Kulyk Nazar (tirpse)! * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (cl_progressbar_remove), (update_progressbar), (timer_func), (cl_progressbar_known), (cl_progressbar_add), (draw_box), (clearlooks_style_init_from_rc): Added animating progressbar, thanks to Kulyk Nazar (tirpse)! ChangeLog | 12 ++++ engines/clearlooks/src/clearlooks_draw.c | 19 ++++-- engines/clearlooks/src/clearlooks_draw.h | 2 +- engines/clearlooks/src/clearlooks_style.c | 92 +++++++++++++++++++++++++++-- 4 files changed, 111 insertions(+), 14 deletions(-) commit 761ba04106d1632f3fe89fad9c8de8b194fc1528 Author: Richard Stellingwerff Date: Sun Nov 13 18:20:14 2005 +0000 Add "animation" property to ClearlooksStyle as well. * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): * engines/clearlooks/src/clearlooks_style.h: Add "animation" property to ClearlooksStyle as well. ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_style.c | 3 ++- engines/clearlooks/src/clearlooks_style.h | 1 + 3 files changed, 11 insertions(+), 1 deletions(-) commit 508fd469cbc844079aa4815dc5c8b9f78f35a4db Author: Richard Stellingwerff Date: Sun Nov 13 17:41:19 2005 +0000 Fixed a little memory leak. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_scale_draw_gradient), (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill): Fixed a little memory leak. * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (theme_parse_boolean), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): Added a new option in gtkrc called "animation". This will be used to enable/disable animation a theme. Thanks goes to Kulyk Nazar "tirpse, SchAmane" for his work on this. ChangeLog | 17 ++++++++++ engines/clearlooks/src/clearlooks_draw.c | 7 ++-- engines/clearlooks/src/clearlooks_rc_style.c | 43 ++++++++++++++++++++++++- engines/clearlooks/src/clearlooks_rc_style.h | 2 + engines/clearlooks/src/clearlooks_style.c | 3 ++ 5 files changed, 67 insertions(+), 5 deletions(-) commit 14aa1b2d650a3a34887798ac554d6a99f4b6a55e Author: Richard Stellingwerff Date: Sun Nov 13 13:37:28 2005 +0000 Flattened the inactive tabs, increased the shade of list headers, and made * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill), (clearlooks_draw_tab), (clearlooks_draw_list_view_header): * engines/clearlooks/src/clearlooks_types.h: * engines/crux/src/crux-main.c: (theme_exit): * themes/Clearlooks/gtk-2.0/gtkrc: Flattened the inactive tabs, increased the shade of list headers, and made the progressbar less 3d'ish. ChangeLog | 12 ++++ engines/clearlooks/src/clearlooks_draw.c | 87 +++++++++++++++++----------- engines/clearlooks/src/clearlooks_types.h | 7 ++ engines/crux/src/crux-main.c | 1 - themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 5 files changed, 73 insertions(+), 36 deletions(-) commit 8cb8ac9e5492cd1f96cf803fb7f5a5df76e71b3d Author: Richard Stellingwerff Date: Thu Nov 10 21:54:04 2005 +0000 Applied patch #321185 from Jason Allen to fix memory leak. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_fill): Applied patch #321185 from Jason Allen to fix memory leak. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 1 + 2 files changed, 7 insertions(+), 0 deletions(-) commit 3b1627addd2ebd4949082069b367b6a861cc9c8f Author: Thomas Wood Date: Thu Nov 10 21:39:27 2005 +0000 Use cairo to draw menu items and entry boxes 2005-11-10 Thomas Wood * engines/crux/src/crux-draw.c: (crux_paint_menuitem_gradient), (paint_outline), (paint_shadow), (paint_entry_shadow), (paint_menuitem_shadow), (draw_box): Use cairo to draw menu items and entry boxes ChangeLog | 8 ++++ engines/crux/src/crux-draw.c | 79 +++++++++++++++++++++-------------------- 2 files changed, 48 insertions(+), 39 deletions(-) commit d42a4f66235e9274eb6551579390871f13a665b0 Author: Thomas Wood Date: Wed Nov 2 22:18:19 2005 +0000 Use cairo functions rather than gdk 2005-11-02 Thomas Wood * engines/crux/src/crux-draw.c: (crux_begin_paint), (paint_outline), (paint_shadow): Use cairo functions rather than gdk ChangeLog | 7 ++ engines/crux/src/crux-draw.c | 153 +++++++++++++++++++++++++++++------------ 2 files changed, 115 insertions(+), 45 deletions(-) commit 5628a3a7053f589ea24ddc49c8b86f36a0f03306 Author: Thomas Wood Date: Mon Oct 31 21:46:24 2005 +0000 Remove various hacks 2005-10-31 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box), (draw_slider): * engines/crux/src/eazel-theme-hacks.c: Remove various hacks ChangeLog | 7 ++ engines/crux/src/crux-draw.c | 160 +--------------------------------- engines/crux/src/eazel-theme-hacks.c | 143 ------------------------------ 3 files changed, 11 insertions(+), 299 deletions(-) commit 82b1548bb26f1943fc5b978a8ff37c511d1459b5 Author: Richard Stellingwerff Date: Sun Oct 30 15:35:01 2005 +0000 Lots of tweaking of contrast and colors. Fixed the focus rings. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_progressbar_fill), (clearlooks_draw_scrollbar_trough), (clearlooks_draw_scrollbar_stepper): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_handle), (clearlooks_style_init_from_rc), (gdk_cairo_set_source_color_alpha), (draw_focus): * engines/clearlooks/src/clearlooks_types.h: * themes/Clearlooks/gtk-2.0/gtkrc: Lots of tweaking of contrast and colors. Fixed the focus rings. ChangeLog | 16 +++++ engines/clearlooks/src/clearlooks_draw.c | 101 ++++++++++++++++++++-------- engines/clearlooks/src/clearlooks_style.c | 101 ++++++++++++++++++++++++++++- engines/clearlooks/src/clearlooks_types.h | 1 + themes/Clearlooks/gtk-2.0/gtkrc | 21 +++---- 5 files changed, 196 insertions(+), 44 deletions(-) commit 85a9a836317aed0448b9bb21288d2b78f189d45c Author: Richard Stellingwerff Date: Sun Oct 16 18:51:45 2005 +0000 Fix memory leak. Patch from Mart Raudsepp (leio). * engines/clearlooks/src/clearlooks_style.c: (draw_handle): Fix memory leak. Patch from Mart Raudsepp (leio). ChangeLog | 4 ++++ engines/clearlooks/src/clearlooks_style.c | 2 ++ 2 files changed, 6 insertions(+), 0 deletions(-) commit 91c0f94d0dad74c3cf89cdcde4bdda59d771427a Author: Richard Stellingwerff Date: Mon Oct 10 21:38:25 2005 +0000 Improved colors and such. Possibly other things, too :) * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_menu_frame): * engines/clearlooks/src/clearlooks_style.c: (draw_box), (draw_option), (draw_check), (clearlooks_style_init_from_rc): * themes/Clearlooks/gtk-2.0/gtkrc: Improved colors and such. Possibly other things, too :) ChangeLog | 11 +++++++++ engines/clearlooks/src/clearlooks_draw.c | 35 ++++++++++++++++------------ engines/clearlooks/src/clearlooks_style.c | 18 ++++++++++----- themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 4 files changed, 44 insertions(+), 22 deletions(-) commit 015753a38c3fe004104b598c2b111b7d7e79b6c7 Author: Richard Stellingwerff Date: Fri Sep 16 12:42:49 2005 +0000 Fix progressbar shadow in Firefox. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_progressbar_trough): Fix progressbar shadow in Firefox. ChangeLog | 5 +++++ engines/clearlooks/src/clearlooks_draw.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit a81c48f71946446894341466bb92636d97d47804 Author: Richard Stellingwerff Date: Fri Sep 16 12:36:57 2005 +0000 Fix statusbar breakage. * themes/Clearlooks/gtk-2.0/gtkrc: Fix statusbar breakage. ChangeLog | 4 ++++ themes/Clearlooks/gtk-2.0/gtkrc | 6 ------ 2 files changed, 4 insertions(+), 6 deletions(-) commit 825c4dfbfa77e1ede5b2327497e2b62b8a902e68 Author: Richard Stellingwerff Date: Fri Sep 16 11:47:29 2005 +0000 Slightly lighter border on disabled buttons. Fixed prelight checkbuttons. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_progressbar_fill): Slightly lighter border on disabled buttons. * engines/clearlooks/src/clearlooks_style.c: (draw_handle), (draw_box), (draw_option), (draw_check): Fixed prelight checkbuttons. Unknown handles are drawn properly now. ChangeLog | 10 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 6 ++-- engines/clearlooks/src/clearlooks_style.c | 35 ++++++++++++++++++++-------- 3 files changed, 38 insertions(+), 13 deletions(-) commit b189315fcea214ec399cf56c57cbb4ae798b1d7a Author: Richard Stellingwerff Date: Wed Sep 14 19:31:05 2005 +0000 Disabled radio/check buttons are sooo pretty now! * engines/clearlooks/src/clearlooks_style.c: (draw_option), (draw_check): Disabled radio/check buttons are sooo pretty now! ChangeLog | 5 +++++ engines/clearlooks/src/clearlooks_style.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) commit e3044f547b568a7984ebcbba73c43af465399dad Author: Richard Stellingwerff Date: Wed Sep 14 12:57:41 2005 +0000 Fixed arrow drawing. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_normal_arrow), (clearlooks_draw_combo_arrow), (_clearlooks_draw_arrow), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box), (draw_arrow): Fixed arrow drawing. ChangeLog | 8 +++ engines/clearlooks/src/clearlooks_draw.c | 97 +++++++++++++++++++--------- engines/clearlooks/src/clearlooks_style.c | 26 ++++++-- 3 files changed, 93 insertions(+), 38 deletions(-) commit 8874961ec413fade0c83c4409a0bb70575648973 Author: Richard Stellingwerff Date: Tue Sep 13 17:35:52 2005 +0000 Slightly more contrast. Properly handle orientation. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_entry): Slightly more contrast. * engines/clearlooks/src/clearlooks_style.c: (draw_handle): Properly handle orientation. ChangeLog | 7 +++++++ engines/clearlooks/src/clearlooks_draw.c | 4 ++-- engines/clearlooks/src/clearlooks_style.c | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) commit 38c2b1842b46325703df66e7073113bd93626efe Author: Richard Stellingwerff Date: Tue Sep 13 10:05:43 2005 +0000 Fixed the shades calculations and did some polishing. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_inset), (clearlooks_draw_button), (clearlooks_draw_entry), (clearlooks_draw_scale_trough), (clearlooks_draw_progressbar_trough): * engines/clearlooks/src/clearlooks_style.c: (clearlooks_style_init_from_rc): * themes/Clearlooks/gtk-2.0/gtkrc: Fixed the shades calculations and did some polishing. ChangeLog | 12 ++++++++++++ engines/clearlooks/src/clearlooks_draw.c | 17 +++++++++-------- engines/clearlooks/src/clearlooks_style.c | 12 ++++++------ themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 4 files changed, 28 insertions(+), 15 deletions(-) commit 7a927d15a8d3c41fefcbefcc7e8774c5520ddc9d Author: Richard Stellingwerff Date: Mon Sep 12 17:31:09 2005 +0000 Draw pretty combo arrows. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_normal_arrow), (clearlooks_draw_combo_arrow), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_tab), (draw_arrow), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_types.h: Draw pretty combo arrows. ChangeLog | 11 ++++ engines/clearlooks/src/clearlooks_draw.c | 73 +++++++++++++++++++++++++++++ engines/clearlooks/src/clearlooks_draw.h | 5 ++ engines/clearlooks/src/clearlooks_style.c | 70 ++++++++++------------------ engines/clearlooks/src/clearlooks_types.h | 20 ++++++++ 5 files changed, 134 insertions(+), 45 deletions(-) commit acd7ec7255fbcf0e73faca957300eb0b1f258a2b Author: Richard Stellingwerff Date: Mon Sep 12 15:30:46 2005 +0000 Draw pretty checkbox buttons, too! * engines/clearlooks/src/clearlooks_style.c: (draw_option), (draw_check), (clearlooks_style_class_init): Draw pretty checkbox buttons, too! ChangeLog | 6 +++ engines/clearlooks/src/clearlooks_style.c | 66 ++++++++++++++++++++++++++++- 2 files changed, 71 insertions(+), 1 deletions(-) commit 3553107fd104ef055b64b10f4bccfaa2d7cc9773 Author: Richard Stellingwerff Date: Sun Sep 11 21:56:25 2005 +0000 Drawing pretty radio buttons! * engines/clearlooks/src/clearlooks_style.c: (draw_box), (draw_option): Drawing pretty radio buttons! ChangeLog | 5 ++ engines/clearlooks/src/clearlooks_style.c | 62 +++++++++++++++++++++++++++-- 2 files changed, 63 insertions(+), 4 deletions(-) commit 0dd652befab26ff206891f1d981ce529321dc7f1 Author: Richard Stellingwerff Date: Sun Sep 11 10:12:45 2005 +0000 Implemented handle bars. Improved arrows on combobox/optionmenu. Improved * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectectangle), (clearlooks_draw_button), (clearlooks_draw_frame), (clearlooks_draw_menu_frame), (clearlooks_draw_handle): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_extension), (draw_handle), (draw_box), (draw_up_down_arrow), (draw_tab), (clearlooks_draw_arrow): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (scrollbar_get_stepper): * themes/Clearlooks/gtk-2.0/gtkrc: Implemented handle bars. Improved arrows on combobox/optionmenu. Improved gradient on buttons. Shadowless frames are no longer drawn. ChangeLog | 18 +++ engines/clearlooks/src/clearlooks_draw.c | 73 ++++++++++- engines/clearlooks/src/clearlooks_draw.h | 12 ++- engines/clearlooks/src/clearlooks_style.c | 199 +++++++++++++++++++---------- engines/clearlooks/src/clearlooks_types.h | 12 ++ engines/clearlooks/src/support.c | 1 - themes/Clearlooks/gtk-2.0/gtkrc | 2 +- 7 files changed, 239 insertions(+), 78 deletions(-) commit 56a105e7b61253897cb38eb1d393144fbf937749 Author: Andrew Johnson Date: Fri Sep 9 17:13:10 2005 +0000 fix disabled/selected option 2005-09-09 Andrew Johnson * engines/mist/src/mist-style.c: fix disabled/selected option * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_drawing.h: * engines/redmond/src/redmond_gtk2_engine.c: * engines/redmond/src/redmond_gtk2_engine.h: * engines/redmond/src/redmond_gtk2_misc.c: * engines/redmond/src/redmond_gtk2_misc.h: partially converted to cairo check still has problem sizes, fills and options need to be done yet ChangeLog | 14 ++ engines/mist/src/mist-style.c | 3 +- engines/redmond/src/redmond_gtk2_drawing.c | 217 +++++++++++++------------ engines/redmond/src/redmond_gtk2_drawing.h | 2 + engines/redmond/src/redmond_gtk2_engine.c | 2 + engines/redmond/src/redmond_gtk2_engine.h | 1 + engines/redmond/src/redmond_gtk2_misc.c | 243 ++++++++++++++++++++++------ engines/redmond/src/redmond_gtk2_misc.h | 23 ++-- 8 files changed, 341 insertions(+), 164 deletions(-) commit 316955a6c6f3f476ff8dbf976bc2e3dbed19639e Author: Richard Stellingwerff Date: Thu Sep 8 19:45:28 2005 +0000 Made slider (scale) border slightly brighter. Made progressbar trough * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_scrollbar_trough), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider), (clearlooks_draw_statusbar), (clearlooks_draw_menu_frame): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (theme_parse_int), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_handle), (combo_box_get_seperator_pos), (draw_box), (draw_tab), (clearlooks_draw_arrow), (clearlooks_style_init_from_rc), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg), (scrollbar_get_stepper): Made slider (scale) border slightly brighter. Made progressbar trough slightly brighter. Added scrollbar trough. Improved scrollbar steppers and sliders. Added support for colored scrollbar slider. New function for drawing statusbar. * themes/Clearlooks/gtk-2.0/gtkrc: Minor changes to the color scheme. ChangeLog | 32 ++++ engines/clearlooks/src/clearlooks_draw.c | 222 +++++++++++++++++++++---- engines/clearlooks/src/clearlooks_draw.h | 16 ++ engines/clearlooks/src/clearlooks_rc_style.c | 146 +++-------------- engines/clearlooks/src/clearlooks_rc_style.h | 5 +- engines/clearlooks/src/clearlooks_style.c | 129 +++++++++++++-- engines/clearlooks/src/clearlooks_style.h | 2 + engines/clearlooks/src/clearlooks_types.h | 2 + engines/clearlooks/src/support.c | 9 +- themes/Clearlooks/gtk-2.0/gtkrc | 26 +++- 10 files changed, 406 insertions(+), 183 deletions(-) commit 325577b18d25a7863124edc59a8874d9e037e22d Author: Andrew Johnson Date: Wed Aug 31 17:28:11 2005 +0000 more cairo conversions - initial change mostly complete now 2005-08-31 Andrew Johnson * engines/mist/src/mist-style.c: more cairo conversions - initial change mostly complete now ChangeLog | 5 + engines/mist/src/mist-style.c | 393 +++++++++++++++++++++-------------------- 2 files changed, 210 insertions(+), 188 deletions(-) commit cc85292d2eb769b7cd8c9bd82539017a0859855a Author: Andrew Johnson Date: Wed Aug 31 01:55:39 2005 +0000 funky change to improve option 2005-08-30 Andrew Johnson * engines/mist/src/mist-style.c: funky change to improve option ChangeLog | 4 ++++ engines/mist/src/mist-style.c | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletions(-) commit 81718e18cc80df20552a7d7e2f543199b5db36aa Author: Andrew Johnson Date: Wed Aug 31 01:16:09 2005 +0000 more changes toward cairo 2005-08-30 Andrew Johnson * engines/mist/src/mist-style.c: more changes toward cairo ChangeLog | 4 + engines/mist/src/mist-style.c | 290 +++++++++++++++++++++++++---------------- 2 files changed, 179 insertions(+), 115 deletions(-) commit 9d23b09bf9e290f6a77236bfa00cff919249923f Author: Andrew Johnson Date: Tue Aug 30 19:34:50 2005 +0000 begin conversion to cairo for 2.8 2005-08-30 Andrew Johnson * engines/mist/src/mist-style.c: begin conversion to cairo for 2.8 ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 3ef5e53111743cf25358ea3fcd886caa66f6a893 Author: Andrew Johnson Date: Tue Aug 30 19:25:20 2005 +0000 begin conversion to cairo for 2.8 engines/mist/src/mist-style.c | 752 ++++++++++------------------------------- 1 files changed, 186 insertions(+), 566 deletions(-) commit 7a16ee483c1084b7856bcdea234fcfec55b3286b Author: Richard Stellingwerff Date: Tue Aug 30 12:41:47 2005 +0000 Decided to opt for easier math. Should avoid some unnecessary headaches. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectectangle): Decided to opt for easier math. Should avoid some unnecessary headaches. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_draw_menuitem), (clearlooks_draw_scrollbar_stepper), (clearlooks_draw_scrollbar_slider): Added functions to draw scrollbar. * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_handle), (draw_box): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (scrollbar_get_stepper), (scrollbar_visible_steppers), (scrollbar_get_junction): Added support functions to determine which stepper is drawn, as well as which sides of the slider jonjoin. * engines/clearlooks/src/support.h: ChangeLog | 18 +++++ engines/clearlooks/src/clearlooks_draw.c | 90 ++++++++++++++++++++++++-- engines/clearlooks/src/clearlooks_draw.h | 13 ++++ engines/clearlooks/src/clearlooks_style.c | 64 +++++++++++++++--- engines/clearlooks/src/clearlooks_types.h | 30 ++++++++- engines/clearlooks/src/support.c | 102 +++++++++++++++++++++++++++++ engines/clearlooks/src/support.h | 61 +++++++++-------- 7 files changed, 332 insertions(+), 46 deletions(-) commit adec253985f20109990af8370f592a5a06b6eadb Author: Richard Stellingwerff Date: Sun Aug 28 17:39:42 2005 +0000 Minor speed improvements. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_rounded_rectectangle), (clearlooks_draw_button), (clearlooks_scale_draw_gradient), (clearlooks_draw_slider_button), (clearlooks_draw_progressbar_trough), (clearlooks_draw_frame), (clearlooks_draw_menuitem): * engines/clearlooks/src/clearlooks_style.c: (draw_box_gap), (draw_hline): Minor speed improvements. ChangeLog | 12 +++ engines/clearlooks/src/clearlooks_draw.c | 121 +++++++++++++--------------- engines/clearlooks/src/clearlooks_style.c | 7 +- 3 files changed, 71 insertions(+), 69 deletions(-) commit d52467c84e6efcdb90a44f8655f53831f0d2c6f9 Author: Richard Stellingwerff Date: Fri Aug 26 22:20:08 2005 +0000 Draw an opaque border, instead of a transparent one. What was I thinking? * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_entry): Draw an opaque border, instead of a transparent one. What was I thinking? * engines/clearlooks/src/clearlooks_style.c: (draw_shadow): Sanitize the size, if needed. ChangeLog | 8 ++++++++ engines/clearlooks/src/clearlooks_draw.c | 17 ++++++++++------- engines/clearlooks/src/clearlooks_style.c | 7 ++++--- 3 files changed, 22 insertions(+), 10 deletions(-) commit cb51320077834444806db452bc218b2aa999d04e Author: Richard Stellingwerff Date: Fri Aug 26 12:06:47 2005 +0000 Added drawing code for toolbars, menuitems. Lightened buttons borders. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_button), (clearlooks_get_frame_gap_clip), (clearlooks_draw_frame), (clearlooks_draw_list_view_header), (clearlooks_draw_toolbar), (clearlooks_draw_menuitem): Added drawing code for toolbars, menuitems. Lightened buttons borders. Etched in/out support for frames. * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box_gap), (draw_box), (draw_shadow_gap), (draw_arrow), (clearlooks_style_init_from_rc), (clearlooks_style_class_init): Implemented toolbars, menuitems (incomplete), scrollbars (incomplete). Added etched in/out support for frames. ChangeLog | 15 +++++ engines/clearlooks/src/clearlooks_draw.c | 84 ++++++++++++++++++++++++++--- engines/clearlooks/src/clearlooks_draw.h | 11 ++++ engines/clearlooks/src/clearlooks_style.c | 74 +++++++++++++++++++++++--- 4 files changed, 170 insertions(+), 14 deletions(-) commit 43aa097dff215583650ff5ce8b1dccb37ef3ba24 Author: Richard Stellingwerff Date: Wed Aug 24 13:32:36 2005 +0000 Major cleanup. Removed unused variables, function, files. Compiles with * engines/clearlooks/Makefile.am: * engines/clearlooks/src/bits.c: * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_top_left_highlight), (clearlooks_draw_button), (clearlooks_scale_draw_gradient), (clearlooks_draw_optionmenu), (clearlooks_draw_tab): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_box_gap), (combo_box_get_seperator_pos), (draw_vline), (draw_hline), (draw_shadow_gap), (clearlooks_style_unrealize): * engines/clearlooks/src/clearlooks_types.h: * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): * engines/clearlooks/src/support.h: Major cleanup. Removed unused variables, function, files. Compiles with -pedantic -ansi -std=c89. ChangeLog | 19 +++++ engines/clearlooks/Makefile.am | 4 +- engines/clearlooks/src/bits.c | 121 ----------------------------- engines/clearlooks/src/clearlooks_draw.c | 22 +---- engines/clearlooks/src/clearlooks_draw.h | 2 +- engines/clearlooks/src/clearlooks_style.c | 63 ++++++++------- engines/clearlooks/src/clearlooks_types.h | 2 +- engines/clearlooks/src/support.c | 8 +- engines/clearlooks/src/support.h | 111 +++++++++++++++----------- 9 files changed, 131 insertions(+), 221 deletions(-) commit cd6a7df7f4b9bf0e4c5fbaa4579a5834020d5768 Author: Richard Stellingwerff Date: Tue Aug 23 20:47:53 2005 +0000 Implemented listview headers. * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_draw_frame), (clearlooks_draw_separator), (clearlooks_draw_list_view_header): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (clearlooks_set_widget_parameters), (draw_shadow), (draw_box_gap), (draw_box), (draw_shadow_gap): Implemented listview headers. * engines/clearlooks/src/clearlooks_types.h: Added type for Listview headers. * engines/clearlooks/src/support.c: (clearlooks_get_parent_bg): Fixed segfault. ChangeLog | 16 ++++++ engines/clearlooks/src/clearlooks_draw.c | 76 +++++++++++++++++++++++++--- engines/clearlooks/src/clearlooks_draw.h | 29 ++++++---- engines/clearlooks/src/clearlooks_style.c | 79 +++++++++++++++++++++++------ engines/clearlooks/src/clearlooks_types.h | 14 +++++ engines/clearlooks/src/support.c | 7 +++ 6 files changed, 185 insertions(+), 36 deletions(-) commit d5d45aedea1946710cd16e87c869964590771e5d Author: Richard Stellingwerff Date: Mon Aug 22 00:11:53 2005 +0000 Fixes bug 314127 Removed obsolete functions. Removed obsolete prototypes. * engines/clearlooks/Makefile.am: Fixes bug 314127 * engines/clearlooks/src/support.c: (gtk_treeview_get_header_index), (special_get_ancestor): Removed obsolete functions. * engines/clearlooks/src/support.h: Removed obsolete prototypes. ChangeLog | 8 + engines/clearlooks/Makefile.am | 2 +- engines/clearlooks/src/support.c | 570 +------------------------------------- engines/clearlooks/src/support.h | 46 +--- 4 files changed, 13 insertions(+), 613 deletions(-) commit 09024aa0fa299647a7180f7d91ff905af83dc110 Author: Richard Stellingwerff Date: Sun Aug 21 23:21:12 2005 +0000 Implemented the statusbar. Improved tabs. Added Separator functions and * engines/clearlooks/src/clearlooks_draw.c: (clearlooks_get_frame_gap_clip), (clearlooks_draw_tab), (clearlooks_draw_separator): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_style.c: (draw_shadow), (draw_extension), (draw_vline), (draw_hline), (draw_resize_grip), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_types.h: Implemented the statusbar. Improved tabs. Added Separator functions and type. Disabled the resize grip for now. ChangeLog | 14 +++ engines/clearlooks/src/clearlooks_draw.c | 152 +++++++++++++--------------- engines/clearlooks/src/clearlooks_draw.h | 6 + engines/clearlooks/src/clearlooks_style.c | 111 ++++++++++++++------- engines/clearlooks/src/clearlooks_types.h | 5 + 5 files changed, 172 insertions(+), 116 deletions(-) commit db722829444be2d50538f6aaadafb29616f730d4 Author: Thomas Wood Date: Sun Aug 21 18:44:39 2005 +0000 Removed references to eazel-theme-hacks.c 2005-08-21 Thomas Wood * engines/crux/Makefile.am: * engines/crux/src/eazel-theme.h: Removed references to eazel-theme-hacks.c * engines/crux/src/crux-draw.c: (draw_box), (draw_extension): Fixes an Open Office 2 bug and bug 305963 (The leftmost tab in tabbed widgets is not drawn correctly) * engines/mist/src/mist-style.c: (draw_rect): Fixes bug 165864 * engines/thinice/src/thinice_rc_style.c: (thinice_rc_style_create_style): Patch from bug 314100 (tiny cleanup in thinice theme style code) by Kjartan Maraas ChangeLog | 15 +++++++++++++++ engines/crux/Makefile.am | 3 +-- engines/crux/src/crux-draw.c | 21 +++++++++++++++++++-- engines/crux/src/eazel-theme.h | 3 --- engines/mist/src/mist-style.c | 2 +- engines/thinice/src/thinice_rc_style.c | 4 +--- 6 files changed, 37 insertions(+), 11 deletions(-) commit e96694caf0999dbb418e2203ca8f3f3f35b9c02d Author: Richard Stellingwerff Date: Sun Aug 21 13:01:25 2005 +0000 Depend on GTK+ 2.8, changed version number. Initial import of Clearlooks port to cairo. ChangeLog | 38 +- configure.ac | 6 +- engines/clearlooks/src/clearlooks_draw.c | 2410 ++++++++++---------------- engines/clearlooks/src/clearlooks_draw.h | 234 +-- engines/clearlooks/src/clearlooks_style.c | 2669 ++++------------------------- engines/clearlooks/src/clearlooks_style.h | 57 +- engines/clearlooks/src/clearlooks_types.h | 131 ++ engines/clearlooks/src/support.c | 48 +- engines/clearlooks/src/support.h | 9 +- themes/Clearlooks/gtk-2.0/gtkrc | 91 +- 10 files changed, 1587 insertions(+), 4106 deletions(-) commit 4cbcea100006adeac171b916062f29e72d94ad53 Author: Richard Stellingwerff Date: Sat Aug 13 13:44:57 2005 +0000 Changed return type from gboolean to void in cl_progressbar2_set_four_points. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_draw.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) commit d8f74ee562f5305a9628594b0c7dc357dedf4683 Author: Richard Stellingwerff Date: Fri Aug 5 09:40:45 2005 +0000 Fixed a memory leak. ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 3 +++ 2 files changed, 9 insertions(+), 0 deletions(-) commit a76bf90bc078920f772475e05a1c148d6fd0a8b8 Author: Chris Lahey Date: Tue Aug 2 18:52:05 2005 +0000 Center these pixmaps properly. 2005-08-02 Chris Lahey * engines/industrial/src/industrial_style.c (draw_check) (draw_option): Center these pixmaps properly. ChangeLog | 5 +++++ engines/industrial/src/industrial_style.c | 22 ++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) commit 3435fb8d51f39b33109eb29562579d567a5643ce Author: Richard Stellingwerff Date: Sat Jul 30 00:06:59 2005 +0000 Using latest engine features. Using the more vibrant selection color from Shaun McCance. ChangeLog | 8 ++++ themes/Clearlooks/gtk-2.0/gtkrc | 74 +++++++++++++++++++++++++-------------- 2 files changed, 56 insertions(+), 26 deletions(-) commit de3f8a93f1f9c88543290112eede204efdcaa976 Author: Thomas Wood Date: Wed Jul 27 17:52:26 2005 +0000 Updated for 2.6.4 release Fixes bug 305374 2005-07-27 Thomas Wood * NEWS: Updated for 2.6.4 release * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: (do_smooth_draw_shadow): Fixes bug 305374 ChangeLog | 6 ++++++ NEWS | 14 ++++++++++++++ .../src/engine/shared/gtk/smooth_gtk_drawing.c | 6 ------ 3 files changed, 20 insertions(+), 6 deletions(-) commit e1d72cbfa27534bf6157129b83374eefa05b6dd3 Author: Richard Stellingwerff Date: Wed Jul 27 17:42:14 2005 +0000 Fixed #1244760 (clearlooks sf.net bugtracker). ChangeLog | 6 ++++++ engines/clearlooks/src/clearlooks_style.c | 21 +++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) commit 3339771fc4a1474f7b43f083f5680ca64ff98821 Author: Thomas Wood Date: Sun Jul 24 21:10:20 2005 +0000 Patch applied from (and fixes) bug 161960 2005-07-24 Thomas Wood * engines/crux/src/crux-draw.c: (paint_stock_image): * engines/crux/src/crux-pixmaps.c: (pixmap_cache_ref), (pixmap_cache_set), (eazel_engine_image_render), (eazel_engine_stock_pixmap_and_mask_scaled), (eazel_engine_stock_pixmap_and_mask): * engines/crux/src/crux-pixmaps.h: Patch applied from (and fixes) bug 161960 ChangeLog | 11 +++++++++++ engines/crux/src/crux-draw.c | 2 ++ engines/crux/src/crux-pixmaps.c | 29 ++++++++++++++++++----------- engines/crux/src/crux-pixmaps.h | 2 ++ 4 files changed, 33 insertions(+), 11 deletions(-) commit 769ccb74ff75816d2837e5889a410e29b8277e25 Author: Richard Stellingwerff Date: Sun Jul 24 13:21:37 2005 +0000 Updated clearlooks engine ChangeLog | 11 + engines/clearlooks/src/clearlooks_draw.c | 1174 ++++++++++++++++++++++++++--- engines/clearlooks/src/clearlooks_draw.h | 58 ++- engines/clearlooks/src/clearlooks_style.c | 465 ++++++------ engines/clearlooks/src/clearlooks_style.h | 10 + engines/clearlooks/src/support.c | 44 +- engines/clearlooks/src/support.h | 6 + 7 files changed, 1393 insertions(+), 375 deletions(-) commit 1d569fb1ba7def45333e99cb5225fb3520b1be9e Author: Thomas Wood Date: Sat Jul 9 13:09:01 2005 +0000 Update for 2.6.4 Fixes bug 303112 Fixes bug 308551 Fixes bug 305432 Fixes 2005-07-09 Thomas Wood * configure.ac: Update for 2.6.4 * engines/lighthouseblue/src/lighthouseblue_style.c: (draw_option): Fixes bug 303112 * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_box), (smooth_draw_box): Fixes bug 308551 * engines/smooth/src/engine/smooth_gtk2_misc.c: (gtk_button_get_props): Fixes bug 305432 * themes/Industrial/gtk-2.0/gtkrc: Fixes bug 170824 ChangeLog | 10 ++++++++++ configure.ac | 2 +- engines/lighthouseblue/src/lighthouseblue_style.c | 3 ++- engines/smooth/src/engine/smooth_gtk2_drawing.c | 4 ++-- engines/smooth/src/engine/smooth_gtk2_misc.c | 14 ++++++++++++-- themes/Industrial/gtk-2.0/gtkrc | 12 ++++++------ 6 files changed, 33 insertions(+), 12 deletions(-) commit dbcd6b66ae0e3c5ace4f9a96af6c5a4a945d9213 Author: Glynn Foster Date: Sat May 14 00:16:06 2005 +0000 Install into the correct directory. Fixes #300530. 2005-05-14 Glynn Foster * engines/clearlooks/Makefile.am: Install into the correct directory. Fixes #300530. ChangeLog | 5 +++++ engines/clearlooks/Makefile.am | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 39706c05211d605fda59a98fd9a851b083519126 Author: Thomas Wood Date: Tue Apr 12 16:10:19 2005 +0000 Updated for 2.6.3 2005-04-12 Thomas Wood * NEWS: Updated for 2.6.3 * configure.ac: * engines/clearlooks/Makefile.am: * engines/clearlooks/src/clearlooks_draw.c: (cl_draw_borders), (cl_draw_line), (cl_get_gradient_corner_color), (cl_draw_corner), (cl_draw_fill), (cl_progressbar_tile_new), (cl_draw_menuitem_button), (cl_draw_menuitem_flat), (cl_draw_menuitem_gradient): * engines/clearlooks/src/clearlooks_draw.h: * engines/clearlooks/src/clearlooks_rc_style.c: (clearlooks_rc_style_init), (theme_parse_progressbarstyle), (theme_parse_menubarstyle), (theme_parse_listviewitemstyle), (clearlooks_rc_style_parse), (clearlooks_rc_style_merge): * engines/clearlooks/src/clearlooks_rc_style.h: * engines/clearlooks/src/clearlooks_style.c: (draw_flat_box), (draw_box_gap), (draw_extension), (draw_box), (draw_shadow_gap), (draw_hline), (clearlooks_style_init_from_rc), (clearlooks_style_class_init): * engines/clearlooks/src/clearlooks_style.h: * engines/clearlooks/src/support.c: (internel_image_buffer_free_pixels), (internal_image_buffer_new), (internal_color_get_as_uchars), (internal_create_horizontal_gradient_image_buffer), (internal_create_vertical_gradient_image_buffer), (draw_vgradient), (draw_hgradient): * engines/clearlooks/src/support.h: Updated clearlooks engine * engines/smooth/src/engine/smooth_gtk2_drawing.c: (do_smooth_draw_focus): Patch from Andrew Johnson that should fix the Firefox print dialog bug (bug 167389) * themes/Clearlooks/Makefile.am: * themes/Clearlooks/gtk-2.0/Makefile.am: * themes/Clearlooks/gtk-2.0/gtkrc: Updated clearlooks engine and added Clearlooks themes * themes/Industrial/gtk-2.0/gtkrc: * themes/LighthouseBlue/gtk-2.0/gtkrc: * themes/Mist/gtk-2.0/gtkrc: * themes/ThinIce/gtk-2.0/gtkrc: Work around for GNOME "Places" and "Desktop" menu bar applet item text colours ChangeLog | 49 ++++ NEWS | 11 + configure.ac | 7 +- engines/clearlooks/Makefile.am | 3 +- engines/clearlooks/src/clearlooks_draw.c | 125 +++++---- engines/clearlooks/src/clearlooks_draw.h | 17 +- engines/clearlooks/src/clearlooks_rc_style.c | 82 +++++- engines/clearlooks/src/clearlooks_rc_style.h | 4 +- engines/clearlooks/src/clearlooks_style.c | 117 +++++++-- engines/clearlooks/src/clearlooks_style.h | 6 +- engines/clearlooks/src/support.c | 330 +++++++++++++++++++---- engines/clearlooks/src/support.h | 4 +- engines/smooth/src/engine/smooth_gtk2_drawing.c | 2 +- themes/Clearlooks/Makefile.am | 1 + themes/Clearlooks/gtk-2.0/Makefile.am | 5 + themes/Clearlooks/gtk-2.0/gtkrc | 148 ++++++++++ themes/Industrial/gtk-2.0/gtkrc | 8 +- themes/LighthouseBlue/gtk-2.0/gtkrc | 3 +- themes/Mist/gtk-2.0/gtkrc | 3 +- themes/ThinIce/gtk-2.0/gtkrc | 4 +- 20 files changed, 777 insertions(+), 152 deletions(-) commit b8c9079b96035d5e60b4fbdc6b60914d06815299 Author: Thomas Wood Date: Mon Apr 11 12:07:18 2005 +0000 Get ready for 2.6.3 release 2005-04-11 Thomas Wood * configure.ac: Get ready for 2.6.3 release * engines/industrial/src/industrial_style.c: (set_transparency), (scale_or_ref), (render_icon): * engines/industrial/src/industrial_style_versioned_code.h: Patch from Michele Cella to render better looking insensitive icons ChangeLog | 10 ++ configure.ac | 2 +- engines/industrial/src/industrial_style.c | 138 ++++++++++++++++++++ .../src/industrial_style_versioned_code.h | 1 + 4 files changed, 150 insertions(+), 1 deletions(-) commit 333ec21223d07c499d3fdeb0411092b9adbc8b98 Author: Thomas Wood Date: Thu Mar 17 23:17:17 2005 +0000 Fixes menuitems and focus indicators 2005-03-17 Thomas Wood * engines/crux/src/crux-draw.c: (draw_box), (draw_focus), (crux_draw_style_class_init): Fixes menuitems and focus indicators ChangeLog | 5 ++ engines/crux/src/crux-draw.c | 85 +++++++++++++++++++++++++---------------- 2 files changed, 57 insertions(+), 33 deletions(-) commit 9b047afcf5f185b09422d4ec3b515cf592e42220 Author: Thomas Wood Date: Mon Mar 14 16:27:54 2005 +0000 Corrected fixes bug 170113 2005-03-14 Thomas Wood * NEWS: Corrected * engines/crux/src/crux-draw.c: (paint_check): fixes bug 170113 ChangeLog | 12 +++++++++++- NEWS | 7 ++++--- engines/crux/src/crux-draw.c | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) commit 39727ae75c0171fad37fc70030937013e6ae3233 Author: Andrew Johnson Date: Mon Mar 14 12:41:57 2005 +0000 add clearlooks engine 2005-03-14 Andrew Johnson * COPYING: * configure.ac: * engines/clearlooks/*: add clearlooks engine * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: check for empty width/height in gradient routine engines/clearlooks/AUTHORS | 6 + engines/clearlooks/CREDITS | 24 + engines/clearlooks/Makefile.am | 19 + engines/clearlooks/src/bits.c | 121 + engines/clearlooks/src/clearlooks_draw.c | 724 ++++++ engines/clearlooks/src/clearlooks_draw.h | 119 + engines/clearlooks/src/clearlooks_rc_style.c | 332 +++ engines/clearlooks/src/clearlooks_rc_style.h | 55 + engines/clearlooks/src/clearlooks_style.c | 2598 ++++++++++++++++++++ engines/clearlooks/src/clearlooks_style.h | 96 + engines/clearlooks/src/clearlooks_theme_main.c | 36 + engines/clearlooks/src/support.c | 725 ++++++ engines/clearlooks/src/support.h | 104 + .../interfaces/gdk2/src/gdk2_gradient_routines.c | 6 +- 14 files changed, 4964 insertions(+), 1 deletions(-) commit 2c052e2cb448477f69e50ed8fc720770988c948f Author: Andrew Johnson Date: Mon Mar 14 06:24:55 2005 +0000 add clearlooks engine 2005-03-14 Andrew Johnson * COPYING: * configure.ac: * engines/clearlooks/*: add clearlooks engine * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: check for empty width/height in gradient routine COPYING | 1 + ChangeLog | 24 ++++++++++++++++++++++++ configure.ac | 13 +++++++++++++ 3 files changed, 38 insertions(+), 0 deletions(-) commit 639812922df3a40dc819dc41bfbd09710042fc44 Author: Andrew Johnson Date: Mon Mar 14 03:25:36 2005 +0000 fix broken if... .../interfaces/gdk2/src/gdk2_gradient_routines.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 72152a27ad2521f1ea9581ad1ed6b4713bebc1f3 Author: Andrew Johnson Date: Mon Mar 14 03:19:03 2005 +0000 removed stray line preventing compile .../interfaces/gdk2/src/gdk2_gradient_routines.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) commit 62bee85ac3e43578f22a4d6320f4165d4177a39f Author: Andrew Johnson Date: Sun Mar 13 19:34:36 2005 +0000 try and work around potential memcpy overlap 2005-03-13 Andrew Johnson * engines/smooth/src/interfaces/gdk2/src/gdk2_gradient_routines.c: (internal_create_vertical_gradient_image_buffer): * engines/smooth/src/utils/draw_arrows.c: (SmoothFreeArrowStyles): try and work around potential memcpy overlap ChangeLog | 7 +++++++ .../interfaces/gdk2/src/gdk2_gradient_routines.c | 15 ++++++++++----- engines/smooth/src/utils/draw_arrows.c | 4 +--- 3 files changed, 18 insertions(+), 8 deletions(-) commit 6b4d4522f39f196b6a22fa0426313ea3114c3973 Author: Andrew Johnson Date: Fri Mar 11 15:46:41 2005 +0000 re-empty crux config template (tsk's thos) 2005-03-11 Andrew Johnson * engines/crux/src/config.h.in: re-empty crux config template (tsk's thos) (merging changes from smooth cvs) ensure composite arrows immediately after parse (to try and prevent memleaks on arrowless apps) enabled dither pixbuf gradients by default for vertical/horizontal gradients and use exponential memcpy's in block sizes of 2^n to optimize number of steps used to draw vertical gradient lines. ChangeLog | 23 ++++++++ engines/crux/src/config.h.in | 55 -------------------- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 35 ++++--------- .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 3 + engines/smooth/src/engine/smooth_gtk2_engine.c | 4 ++ .../interfaces/gdk2/src/gdk2_gradient_routines.c | 54 ++++++++++---------- .../interfaces/gdk2/src/gdk2_gradient_routines.h | 2 + engines/smooth/src/utils/draw_arrows.c | 38 ++++++++++++++ engines/smooth/src/utils/draw_arrows.h | 3 + 9 files changed, 110 insertions(+), 107 deletions(-) commit 79bc94224ccb0a9961169c05bd491cb51b4d68d5 Author: Thomas Wood Date: Mon Mar 7 17:09:55 2005 +0000 Update for 2.6.2 release 2005-03-07 Thomas Wood * NEWS: * configure.ac: Update for 2.6.2 release ChangeLog | 7 +++++ NEWS | 7 ++++- configure.ac | 2 +- engines/crux/src/config.h.in | 55 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 2 deletions(-) commit d81826e5c86b95cec22ae5de34e03d2e4992917f Author: Andrew Johnson Date: Sat Feb 19 21:53:42 2005 +0000 engines/smooth/src/engine/smooth_gtk2_drawing.c 2005-02-19 Andrew Johnson * engines/smooth/src/engine/smooth_gtk2_drawing.c * engines/smooth/src/engine/smooth_gtk2_rc.c: * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: Sync with with latest smooth 0.6.0 fixes, closes bugs #167389 and #163370 ChangeLog | 8 + .../src/engine/shared/gtk/smooth_gtk_drawing.c | 3 + engines/smooth/src/engine/smooth_gtk2_drawing.c | 274 ++------------------ engines/smooth/src/engine/smooth_gtk2_rc.c | 3 + 4 files changed, 37 insertions(+), 251 deletions(-) commit e552c47a09cc0feeffc43898ca2c583951a2f60b Author: Andrew Johnson Date: Fri Feb 4 03:25:03 2005 +0000 Applying patch for Bug #166201 2005-02-03 Andrew Johnson * Applying patch for Bug #166201 ChangeLog | 7 +++++++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 4 ++-- engines/smooth/src/engine/smooth_gtk2_engine.c | 4 ++-- engines/smooth/src/engine/smooth_gtk2_engine.h | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) commit cd25c34392ae00efde927736cbd700c7ae3ddfe4 Author: Andrew Johnson Date: Thu Feb 3 12:45:39 2005 +0000 Applying Kjartan Maraas' patch for Bug #166145 2005-02-03 Andrew Johnson * Applying Kjartan Maraas' patch for Bug #166145 ChangeLog | 13 +++++++++++++ engines/smooth/src/engine/smooth_gtk2_engine.c | 3 +-- 2 files changed, 14 insertions(+), 2 deletions(-) commit 8575e0aea2f04d8aa0d3f1eab56bb436adc2309a Author: Thomas Wood Date: Sat Jan 29 15:21:21 2005 +0000 Updated Change version to 2.6.1 2005-01-29 Thomas Wood * NEWS: Updated * configure.ac: Change version to 2.6.1 ChangeLog | 5 +++++ NEWS | 6 ++++++ configure.ac | 2 +- 3 files changed, 12 insertions(+), 1 deletions(-) commit 3d959f7d8844e3be1c50fc874f372005b2b68d74 Author: Thomas Wood Date: Fri Jan 28 10:02:32 2005 +0000 Fix bug 162131 (Enable building outside of srcdir) 2005-01-28 Thomas Wood * engines/smooth/Makefile.am: Fix bug 162131 (Enable building outside of srcdir) ChangeLog | 4 ++++ engines/smooth/Makefile.am | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) commit b4d584477f32c5f1000a524930f050f6f64f3062 Author: Thomas Wood Date: Thu Jan 6 22:05:51 2005 +0000 Applied patch from bug 163099 (fixes building with C89 compilers) 2005-01-06 Thomas Wood * engines/crux/src/crux-pixmaps.c: (load_image): * engines/crux/src/crux-rc-style.c: (crux_rc_style_init): * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_handle): Applied patch from bug 163099 (fixes building with C89 compilers) ChangeLog | 9 +++++++++ engines/crux/src/crux-pixmaps.c | 1 - engines/crux/src/crux-rc-style.c | 3 ++- engines/redmond/src/redmond_gtk2_drawing.c | 4 ++-- 4 files changed, 13 insertions(+), 4 deletions(-) commit cc4f4718954ef978fa33eb55187e6d5cc0335f9d Author: Andrew Johnson Date: Tue Jan 4 16:19:52 2005 +0000 improve spin button up arrow offset when embedded 2005-01-04 Andrew Johnson * engines/smooth/src/engine/smooth_gtk2_misc.c: improve spin button up arrow offset when embedded * engines/smooth/src/interfaces/gdk2/gdk2_drawing_interface.c: * engines/smooth/src/interfaces/gdk2/gdk2_private_drawing_interface.h: Remove unused experimental Cairo/Xrender, Bezier, & Blur Cruft * engines/smooth/src/interfaces/gdk2/gdk2_drawing_interface.c: * engines/smooth/src/engine/smooth_gtk2_drawing.c: fix solid focus where thickness > 1 ChangeLog | 25 + engines/smooth/src/engine/smooth_gtk2_drawing.c | 2 +- engines/smooth/src/engine/smooth_gtk2_misc.c | 2 +- .../src/interfaces/gdk2/gdk2_drawing_interface.c | 1122 +------------------- .../gdk2/gdk2_private_drawing_interface.h | 114 -- 5 files changed, 48 insertions(+), 1217 deletions(-) commit 5ee392bdd80c6b569895a736877943ba7005f83a Author: Andrew Johnson Date: Mon Jan 3 15:07:04 2005 +0000 change pixmap path to DATADIR/themes/Crux/pixmaps engines/crux/Makefile.am | 2 +- engines/crux/pixmaps/Makefile.am | 2 +- engines/crux/src/crux-rc-style.c | 6 ------ 3 files changed, 2 insertions(+), 8 deletions(-) commit 8e1e1ceaa3947271cb08006ab4c6ad3477f478fd Author: Andrew Johnson Date: Tue Dec 21 17:58:48 2004 +0000 fix dist/distcheck 2004-12-21 Andrew Johnson * configure.ac: fix dist/distcheck ChangeLog | 5 +++++ configure.ac | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) commit c5f84b15e8e0e4116d7d96a1ae3d8f8d87125494 Author: Andrew Johnson Date: Tue Dec 21 15:58:58 2004 +0000 add --disable args to configure version bump to 2.6.0 2004-12-21 Andrew Johnson * README: * configure.ac: * engines/Makefile.am: * themes/Makefile.am: add --disable args to configure version bump to 2.6.0 * themes/ThinIce/*: add ThinIce theme ChangeLog | 15 +++ README | 4 + configure.ac | 175 +++++++++++++++++++++++++++++++++++- engines/Makefile.am | 2 +- themes/Makefile.am | 2 +- themes/ThinIce/Makefile.am | 1 + themes/ThinIce/gtk-2.0/Makefile.am | 5 + themes/ThinIce/gtk-2.0/gtkrc | 84 +++++++++++++++++ 8 files changed, 285 insertions(+), 3 deletions(-) commit 2f613f62b921f9faced1c56b1c60ffb83e5d1014 Author: Andrew Johnson Date: Fri Dec 17 17:10:21 2004 +0000 Point to individual engines 2004-12-17 Andrew Johnson * AUTHORS: Point to individual engines * MAINTAINERS: Add initial Maintainers list * NEWS: Add 2.6 News * engines/industrial/src/industrial_style.c: (real_draw_box): Fix OptionMenu vertical line for RTL AUTHORS | 4 +--- ChangeLog | 14 ++++++++++++++ MAINTAINERS | 11 +++++++++++ NEWS | 19 +++++++++++++++++++ engines/industrial/src/industrial_style.c | 9 +++++++-- 5 files changed, 52 insertions(+), 5 deletions(-) commit 8da652088b23e686bddbf562a9c1bc7550508a6e Author: Thomas Wood Date: Thu Dec 16 17:30:50 2004 +0000 Fixed invisible text in insensitive entry widgets 2004-12-16 Thomas Wood * themes/Industrial/gtk-2.0/gtkrc: Fixed invisible text in insensitive entry widgets * themes/Redmond/gtk-2.0/gtkrc: * themes/Redmond/gtk/gtkrc: Corrected background colour of insensitive entry widgets ChangeLog | 9 +++++++++ themes/Industrial/gtk-2.0/gtkrc | 22 +++++++++++----------- themes/Redmond/gtk-2.0/gtkrc | 4 ++-- themes/Redmond/gtk/gtkrc | 14 +++++++------- 4 files changed, 29 insertions(+), 20 deletions(-) commit 2935afd272b6f1cb21dfe0ec10fdc2018a99deac Author: Andrew Johnson Date: Thu Dec 16 16:02:38 2004 +0000 add initial list of engine to license 2004-12-16 Andrew Johnson * COPYING: add initial list of engine to license * engines/smooth/src/engine/smooth_gtk2_drawing.c: (smooth_draw_slider): fix scales slider COPYING | 13 +++++++++++++ ChangeLog | 9 +++++++++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 5 ++--- 3 files changed, 24 insertions(+), 3 deletions(-) commit 41124ccfdccca363f997587fa0f1f6b88b62445c Author: Andrew Johnson Date: Thu Dec 16 14:52:59 2004 +0000 Initial README updates for new release 2004-12-16 Andrew Johnson * README: Initial README updates for new release ChangeLog | 5 +++++ README | 55 +++++++++++++++++++++++++++++++------------------------ 2 files changed, 36 insertions(+), 24 deletions(-) commit 761d98686e3e0b9ba0f96676582f746b02893d8b Author: Thomas Wood Date: Wed Dec 15 17:10:03 2004 +0000 Added Mist and LighthouseBlue themes (gtkrc files) 2004-12-15 Thomas Wood * configure.ac: * themes/LighthouseBlue/Makefile.am: * themes/LighthouseBlue/gtk-2.0/Makefile.am: * themes/LighthouseBlue/gtk-2.0/gtkrc: * themes/Makefile.am: * themes/Mist/Makefile.am: * themes/Mist/gtk-2.0/Makefile.am: * themes/Mist/gtk-2.0/gtkrc: Added Mist and LighthouseBlue themes (gtkrc files) ChangeLog | 35 +++++--- configure.ac | 4 + themes/LighthouseBlue/Makefile.am | 1 + themes/LighthouseBlue/gtk-2.0/Makefile.am | 5 + themes/LighthouseBlue/gtk-2.0/gtkrc | 130 +++++++++++++++++++++++++++++ themes/Makefile.am | 2 +- themes/Mist/Makefile.am | 1 + themes/Mist/gtk-2.0/Makefile.am | 5 + themes/Mist/gtk-2.0/gtkrc | 77 +++++++++++++++++ 9 files changed, 248 insertions(+), 12 deletions(-) commit bec57cf3879ce887694cd9554931f9cf46596cdf Author: Andrew Johnson Date: Wed Dec 15 16:52:57 2004 +0000 fix comboboxentry insensitive arrow fix RTL toolbar handles 2004-12-15 Andrew Johnson * engines/redmond/src/redmond_gtk2_drawing.c: fix comboboxentry insensitive arrow fix RTL toolbar handles * engines/redmond/src/redmond_gtk2_misc.c: fix redmond comboboxentry check * engines/smooth/src/utils/draw_arrows.c: fix Etched Dirty Arrow offset * themes/Redmond/gtk-2.0/gtkrc: use white for progress bar prelight text ChangeLog | 22 ++++++++++++++++ engines/redmond/src/redmond_gtk2_drawing.c | 38 +++++++++++++++++++-------- engines/redmond/src/redmond_gtk2_misc.c | 13 ++++++--- engines/smooth/src/utils/draw_arrows.c | 7 +---- themes/Redmond/gtk-2.0/gtkrc | 4 +++ 5 files changed, 63 insertions(+), 21 deletions(-) commit 526827345edca198c0f112216e12b80c64cd8a54 Author: Andrew Johnson Date: Wed Dec 15 15:44:02 2004 +0000 ensure "smooth" "namespace" on old grip functions 2004-12-15 Andrew Johnson * engines/smooth/src/engine/shared/gtk/smooth_gtk_drawing.c: * engines/smooth/src/utils/calc_colors.c: * engines/smooth/src/utils/calc_colors.h: * engines/smooth/src/utils/draw_grips.c: * engines/smooth/src/utils/draw_grips.h: ensure "smooth" "namespace" on old grip functions ChangeLog | 14 ++++++++++++++ .../src/engine/shared/gtk/smooth_gtk_drawing.c | 10 +++++----- engines/smooth/src/utils/calc_colors.c | 4 ++-- engines/smooth/src/utils/calc_colors.h | 18 ------------------ engines/smooth/src/utils/draw_grips.c | 20 ++++++++++---------- engines/smooth/src/utils/draw_grips.h | 8 ++++---- 6 files changed, 35 insertions(+), 39 deletions(-) commit 02e84b10c0b91cfc85090c7e195c230663f35044 Author: Andrew Johnson Date: Wed Dec 15 14:50:29 2004 +0000 improve size/center logic for inconsistant 'Minus' check 2004-12-15 Andrew Johnson * engines/smooth/src/utils/draw_checkmark.c: (SmoothDrawMinusCheckMark): improve size/center logic for inconsistant 'Minus' check ChangeLog | 7 +++++++ engines/smooth/src/utils/draw_checkmark.c | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) commit 4079e1b983b03908dd476ff67443832ab52ecf6d Author: Andrew Johnson Date: Tue Dec 14 23:42:42 2004 +0000 commit missing Makefiles 2004-12-14 Andrew Johnson * themes/Industrial/Makefile.am: * themes/Metal/gtk-2.0/Makefile.am: * themes/Redmond/gtk/Makefile.am: commit missing Makefiles ChangeLog | 8 ++++++++ themes/Industrial/Makefile.am | 1 + themes/Metal/gtk-2.0/Makefile.am | 5 +++++ themes/Redmond/gtk/Makefile.am | 5 +++++ 4 files changed, 19 insertions(+), 0 deletions(-) commit b444bda659f93b38b99bc5cb8162e711b9dd8acd Author: Andrew Johnson Date: Tue Dec 14 20:43:57 2004 +0000 Add new metal engine Fix smooth embed combo button redraw Remove old metal 2004-12-14 Andrew Johnson * Add new metal engine * Fix smooth embed combo button redraw * Remove old metal * Add Industrial theme * Add Metal theme * Add Redmond GTK 1 gtkrc ChangeLog | 52 + Makefile.am | 6 +- configure.ac | 13 +- engines/Makefile.am | 2 +- engines/metal/AUTHORS | 5 + engines/metal/Makefile.am | 17 + engines/metal/src/metal_gtk2_drawing.c | 2015 +++++++++++++++ engines/metal/src/metal_gtk2_drawing.h | 246 ++ engines/metal/src/metal_gtk2_engine.c | 211 ++ engines/metal/src/metal_gtk2_engine.h | 78 + engines/metal/src/metal_gtk2_misc.c | 975 +++++++ engines/metal/src/metal_gtk2_misc.h | 193 ++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 6 +- metal/.cvsignore | 12 - metal/ChangeLog | 134 - metal/Makefile.am | 18 - metal/Theme/.cvsignore | 2 - metal/Theme/Makefile.am | 6 - metal/Theme/README.html | 9 - metal/Theme/gtk-2.0/.cvsignore | 2 - metal/Theme/gtk-2.0/Makefile.am | 5 - metal/Theme/gtk-2.0/gtkrc | 71 - metal/metal_rc_style.c | 81 - metal/metal_rc_style.h | 48 - metal/metal_style.c | 3130 ----------------------- metal/metal_style.h | 53 - metal/metal_theme_main.c | 36 - themes/Industrial/gtk-2.0/Makefile.am | 5 + themes/Industrial/gtk-2.0/gtkrc | 206 ++ themes/Makefile.am | 2 +- themes/Metal/Makefile.am | 1 + themes/Metal/gtk-2.0/gtkrc | 71 + themes/Redmond/Makefile.am | 2 +- themes/Redmond/gtk/gtkrc | 55 + 34 files changed, 4147 insertions(+), 3621 deletions(-) commit 356e249f9d1b88706661770692cf522ce255161b Author: Thomas Wood Date: Tue Dec 14 11:50:47 2004 +0000 ADDED .../abstract/src/abstract_gradient_routines.c | 182 ++++++++++++++ .../abstract/src/abstract_gradient_routines.h | 29 +++ .../abstract/src/abstract_tile_routines.c | 258 ++++++++++++++++++++ .../abstract/src/abstract_tile_routines.h | 29 +++ 4 files changed, 498 insertions(+), 0 deletions(-) commit 9dfa8eab8714e1e75cc74e979ad506c7f08a5009 Author: Thomas Wood Date: Tue Dec 14 01:16:38 2004 +0000 Added Smooth engine from Andrew Johnson 2004-12-13 Thomas Wood * configure.ac: * engines/Makefile.am: * engines/smooth/*: Added Smooth engine from Andrew Johnson ChangeLog | 9 + configure.ac | 2 + engines/Makefile.am | 2 +- engines/smooth/AUTHORS | 49 + engines/smooth/Makefile.am | 73 + .../src/engine/shared/gtk/smooth_gtk_drawing.c | 716 +++++ .../src/engine/shared/gtk/smooth_gtk_drawing.h | 103 + .../smooth/src/engine/shared/gtk/smooth_gtk_misc.c | 294 +++ .../smooth/src/engine/shared/gtk/smooth_gtk_misc.h | 39 + .../smooth/src/engine/shared/gtk/smooth_gtk_rc.c | 2495 ++++++++++++++++++ .../smooth/src/engine/shared/gtk/smooth_gtk_rc.h | 500 ++++ engines/smooth/src/engine/smooth_gtk2_drawing.c | 2784 ++++++++++++++++++++ engines/smooth/src/engine/smooth_gtk2_drawing.h | 266 ++ engines/smooth/src/engine/smooth_gtk2_engine.c | 345 +++ engines/smooth/src/engine/smooth_gtk2_engine.h | 80 + engines/smooth/src/engine/smooth_gtk2_misc.c | 576 ++++ engines/smooth/src/engine/smooth_gtk2_misc.h | 167 ++ engines/smooth/src/engine/smooth_gtk2_rc.c | 437 +++ engines/smooth/src/engine/smooth_gtk2_rc.h | 105 + .../abstract/abstract_drawing_interface.c | 735 ++++++ .../abstract/abstract_drawing_interface.h | 29 + .../interfaces/abstract/abstract_type_defines.h | 143 + engines/smooth/src/interfaces/drawing_interface.c | 1359 ++++++++++ engines/smooth/src/interfaces/drawing_interface.h | 812 ++++++ .../src/interfaces/gdk2/gdk2_drawing_interface.c | 2467 +++++++++++++++++ .../src/interfaces/gdk2/gdk2_drawing_interface.h | 43 + .../gdk2/gdk2_private_drawing_interface.h | 148 ++ .../smooth/src/interfaces/gdk2/gdk2_type_defines.h | 62 + .../interfaces/gdk2/src/gdk2_gradient_routines.c | 412 +++ .../interfaces/gdk2/src/gdk2_gradient_routines.h | 29 + .../interfaces/shared/gdk/gdk_drawing_interface.c | 1319 +++++++++ .../interfaces/shared/gdk/gdk_drawing_interface.h | 54 + .../shared/gdk/gdk_private_drawing_interface.h | 178 ++ .../src/interfaces/shared/gdk/gdk_type_defines.h | 108 + engines/smooth/src/utils/calc_colors.c | 327 +++ engines/smooth/src/utils/calc_colors.h | 54 + engines/smooth/src/utils/draw_arrows.c | 675 +++++ engines/smooth/src/utils/draw_arrows.h | 113 + engines/smooth/src/utils/draw_border.c | 1120 ++++++++ engines/smooth/src/utils/draw_border.h | 146 + engines/smooth/src/utils/draw_checkmark.c | 289 ++ engines/smooth/src/utils/draw_checkmark.h | 71 + engines/smooth/src/utils/draw_fill.c | 90 + engines/smooth/src/utils/draw_fill.h | 61 + engines/smooth/src/utils/draw_grips.c | 350 +++ engines/smooth/src/utils/draw_grips.h | 123 + engines/smooth/src/utils/smooth_parts.h | 38 + 47 files changed, 20396 insertions(+), 1 deletions(-) commit a2902054a9a1406329bd71bb0fd07f5ff14741a8 Author: Andrew Johnson Date: Wed Dec 8 18:40:59 2004 +0000 Fix Makefile.am libs 2004-12-08 Andrew Johnson * engines/redmond/Makefile.am: Fix Makefile.am libs * engines/redmond/src/redmond_gtk2_drawing.c: (redmond_draw_arrow), (redmond_draw_shadow), (redmond_draw_combobox_button), (redmond_draw_spinbutton_stepper), (redmond_draw_box), (redmond_draw_handle): Ensure widget isn't null when testing RTL/LTR Ensure valid style is used for combo widget ChangeLog | 12 ++ engines/redmond/Makefile.am | 2 +- engines/redmond/src/redmond_gtk2_drawing.c | 173 ++++++++++++++++++++++------ 3 files changed, 152 insertions(+), 35 deletions(-) commit 3ee638f13cfd25e2a1dc1645313a03f3c1ba6590 Author: Thomas Wood Date: Mon Dec 6 14:24:31 2004 +0000 Added Crux gtkrc 2004-12-06 Thomas Wood * configure.ac: * themes/Crux/Makefile.am: * themes/Crux/gtk-2.0/Makefile.am: * themes/Crux/gtk-2.0/gtkrc: * themes/Makefile.am: Added Crux gtkrc ChangeLog | 10 + configure.ac | 2 + themes/Crux/Makefile.am | 1 + themes/Crux/gtk-2.0/Makefile.am | 5 + themes/Crux/gtk-2.0/gtkrc | 514 +++++++++++++++++++++++++++++++++++++++ themes/Makefile.am | 2 +- 6 files changed, 533 insertions(+), 1 deletions(-) commit d975cdb70fd881c1eb355aec1922a034292a8973 Author: Thomas Wood Date: Sun Dec 5 22:27:04 2004 +0000 2004-12-05 Thomas Wood , Andrew Johnson * engines/redmond/src/redmond_gtk2_drawing.c: * engines/redmond/src/redmond_gtk2_misc.c: - Menu prelight fix (open menu check) - Fixed insensitive arrows - Use stippled background for toggle buttons in "on" state - Fixed Firefox toolbar ChangeLog | 10 ++++ engines/redmond/src/redmond_gtk2_drawing.c | 76 +++++++++++++++++++--------- engines/redmond/src/redmond_gtk2_misc.c | 8 ++- 3 files changed, 66 insertions(+), 28 deletions(-) commit 465ca91684ab5b9c4aeba913d9b8853a08f0ae77 Author: Thomas Wood Date: Fri Dec 3 17:54:06 2004 +0000 REMOVED redmond95/.cvsignore | 12 - redmond95/ChangeLog | 51 ---- redmond95/Makefile.am | 18 -- redmond95/redmond_rc_style.c | 77 ------ redmond95/redmond_rc_style.h | 48 ---- redmond95/redmond_style.c | 579 ---------------------------------------- redmond95/redmond_style.h | 47 ---- redmond95/redmond_theme_main.c | 37 --- 8 files changed, 0 insertions(+), 869 deletions(-) commit 87d70aae3309cbea7aa33dab4574daabf5cc499d Author: Thomas Wood Date: Fri Dec 3 17:42:48 2004 +0000 2004-12-03 Thomas Wood , Andrew Johnson * Makefile.am: * configure.ac: * engines/Makefile.am: * engines/redmond/*: New redmond engine added * redmond95/Theme/.cvsignore: * redmond95/Theme/Makefile.am: * redmond95/Theme/README.html: * redmond95/Theme/gtk-2.0/.cvsignore: * redmond95/Theme/gtk-2.0/Makefile.am: * redmond95/Theme/gtk-2.0/gtkrc: Old redmond engine removed * themes/Makefile.am: * themes/Redmond/Makefile.am: * themes/Redmond/gtk-2.0/Makefile.am: * themes/Redmond/gtk-2.0/gtkrc: Theme files for new redmond engine ChangeLog | 25 + Makefile.am | 2 +- configure.ac | 7 +- engines/Makefile.am | 2 +- engines/redmond/AUTHORS | 5 + engines/redmond/Makefile.am | 17 + engines/redmond/src/redmond_gtk2_drawing.c | 1608 ++++++++++++++++++++++++++++ engines/redmond/src/redmond_gtk2_drawing.h | 167 +++ engines/redmond/src/redmond_gtk2_engine.c | 175 +++ engines/redmond/src/redmond_gtk2_engine.h | 70 ++ engines/redmond/src/redmond_gtk2_misc.c | 1001 +++++++++++++++++ engines/redmond/src/redmond_gtk2_misc.h | 178 +++ redmond95/Theme/.cvsignore | 2 - redmond95/Theme/Makefile.am | 7 - redmond95/Theme/README.html | 12 - redmond95/Theme/gtk-2.0/.cvsignore | 2 - redmond95/Theme/gtk-2.0/Makefile.am | 6 - redmond95/Theme/gtk-2.0/gtkrc | 56 - themes/Makefile.am | 1 + themes/Redmond/Makefile.am | 1 + themes/Redmond/gtk-2.0/Makefile.am | 5 + themes/Redmond/gtk-2.0/gtkrc | 93 ++ 22 files changed, 3352 insertions(+), 90 deletions(-) commit b72418b6ad74dd691e480f484c5bee35e336c028 Author: Thomas Wood Date: Wed Dec 1 16:20:33 2004 +0000 REMOVED notif/.cvsignore | 12 - notif/ChangeLog | 22 - notif/Makefile.am | 14 - notif/Theme/.cvsignore | 2 - notif/Theme/Makefile.am | 6 - notif/Theme/README.html | 12 - notif/Theme/gtk-2.0/.cvsignore | 2 - notif/Theme/gtk-2.0/Makefile.am | 5 - notif/Theme/gtk-2.0/gtkrc | 150 -- notif/notif_theme_draw.c | 1689 -------------------- notif/notif_theme_main.c | 115 -- pixbuf/.cvsignore | 6 - pixbuf/ChangeLog | 271 ---- pixbuf/Makefile.am | 25 - pixbuf/README | 17 - pixbuf/examples/bubble/README | 14 - pixbuf/examples/bubble/gtk-2.0/bc-dark.png | Bin 63960 -> 0 bytes pixbuf/examples/bubble/gtk-2.0/bc-light.png | Bin 24945 -> 0 bytes pixbuf/examples/bubble/gtk-2.0/bc.png | Bin 63764 -> 0 bytes pixbuf/examples/bubble/gtk-2.0/bubble-blue.png | Bin 836 -> 0 bytes pixbuf/examples/bubble/gtk-2.0/bubble-parts.xcf | Bin 6335 -> 0 bytes pixbuf/examples/bubble/gtk-2.0/gtkrc | 65 - .../bubble/gtk-2.0/triangle_background.png | Bin 58238 -> 0 bytes pixbuf/pixbuf-draw.c | 1034 ------------ pixbuf/pixbuf-main.c | 57 - pixbuf/pixbuf-rc-style.c | 815 ---------- pixbuf/pixbuf-rc-style.h | 49 - pixbuf/pixbuf-render.c | 803 ---------- pixbuf/pixbuf-style.h | 49 - pixbuf/pixbuf.h | 196 --- 30 files changed, 0 insertions(+), 5430 deletions(-) commit 2385ad092bf00e9ac9111090bafde59021b55503 Author: Thomas Wood Date: Wed Dec 1 12:55:56 2004 +0000 2004-12-01 Thomas Wood , Andrew Johnson * Update version to 2.5 * Remove pixbuf and notif engines, and misc other files * Move crux, hc, industrial, mist, thinice engines over from gnome-themes and gnome-themes-extras * Replace configure.in with configure.ac COPYING.GPL | 340 +++ COPYING.LGPL | 502 ++++ ChangeLog | 8 + Makefile.am | 19 +- README.win32 | 6 - configure.ac | 52 + configure.in | 63 - engines/Makefile.am | 1 + engines/crux/.cvsignore | 27 + engines/crux/AUTHORS | 4 + engines/crux/Makefile.am | 35 + engines/crux/pixmaps/Makefile.am | 80 + engines/crux/pixmaps/arrow_down-spinner.png | Bin 0 -> 437 bytes engines/crux/pixmaps/arrow_down.png | Bin 0 -> 436 bytes engines/crux/pixmaps/arrow_left.png | Bin 0 -> 439 bytes engines/crux/pixmaps/arrow_right.png | Bin 0 -> 438 bytes engines/crux/pixmaps/arrow_up-spinner.png | Bin 0 -> 425 bytes engines/crux/pixmaps/arrow_up.png | Bin 0 -> 426 bytes .../crux/pixmaps/check-active-default-focus.png | Bin 0 -> 435 bytes engines/crux/pixmaps/check-active-default.png | Bin 0 -> 412 bytes .../crux/pixmaps/check-active-hilight-focus.png | Bin 0 -> 418 bytes engines/crux/pixmaps/check-active-hilight.png | Bin 0 -> 394 bytes engines/crux/pixmaps/check-active-insensitive.png | Bin 0 -> 241 bytes .../crux/pixmaps/check-active-pressed-focus.png | Bin 0 -> 452 bytes engines/crux/pixmaps/check-active-pressed.png | Bin 0 -> 428 bytes engines/crux/pixmaps/check-default-focus.png | Bin 0 -> 292 bytes engines/crux/pixmaps/check-default.png | Bin 0 -> 268 bytes engines/crux/pixmaps/check-hilight-focus.png | Bin 0 -> 281 bytes engines/crux/pixmaps/check-hilight.png | Bin 0 -> 255 bytes engines/crux/pixmaps/check-insensitive.png | Bin 0 -> 193 bytes engines/crux/pixmaps/check-pressed-focus.png | Bin 0 -> 320 bytes engines/crux/pixmaps/check-pressed.png | Bin 0 -> 300 bytes engines/crux/pixmaps/progressbar-left.png | Bin 0 -> 167 bytes engines/crux/pixmaps/progressbar-right.png | Bin 0 -> 203 bytes engines/crux/pixmaps/progressbar.png | Bin 0 -> 274 bytes engines/crux/pixmaps/progressbar_trough.png | Bin 0 -> 286 bytes .../crux/pixmaps/radio-active-default-focus.png | Bin 0 -> 743 bytes engines/crux/pixmaps/radio-active-default.png | Bin 0 -> 697 bytes .../crux/pixmaps/radio-active-hilight-focus.png | Bin 0 -> 737 bytes engines/crux/pixmaps/radio-active-hilight.png | Bin 0 -> 699 bytes engines/crux/pixmaps/radio-active-insensitive.png | Bin 0 -> 486 bytes .../crux/pixmaps/radio-active-pressed-focus.png | Bin 0 -> 715 bytes engines/crux/pixmaps/radio-active-pressed.png | Bin 0 -> 657 bytes engines/crux/pixmaps/radio-default-focus.png | Bin 0 -> 744 bytes engines/crux/pixmaps/radio-default.png | Bin 0 -> 666 bytes engines/crux/pixmaps/radio-hilight-focus.png | Bin 0 -> 715 bytes engines/crux/pixmaps/radio-hilight.png | Bin 0 -> 630 bytes engines/crux/pixmaps/radio-insensitive.png | Bin 0 -> 414 bytes engines/crux/pixmaps/radio-pressed-focus.png | Bin 0 -> 741 bytes engines/crux/pixmaps/radio-pressed.png | Bin 0 -> 663 bytes .../crux/pixmaps/scroller-arrow-down-hilight.png | Bin 0 -> 355 bytes .../crux/pixmaps/scroller-arrow-down-pressed.png | Bin 0 -> 397 bytes engines/crux/pixmaps/scroller-arrow-down.png | Bin 0 -> 397 bytes .../crux/pixmaps/scroller-arrow-left-hilight.png | Bin 0 -> 348 bytes .../crux/pixmaps/scroller-arrow-left-pressed.png | Bin 0 -> 413 bytes engines/crux/pixmaps/scroller-arrow-left.png | Bin 0 -> 413 bytes .../crux/pixmaps/scroller-arrow-right-hilight.png | Bin 0 -> 341 bytes .../crux/pixmaps/scroller-arrow-right-pressed.png | Bin 0 -> 418 bytes engines/crux/pixmaps/scroller-arrow-right.png | Bin 0 -> 418 bytes engines/crux/pixmaps/scroller-arrow-up-hilight.png | Bin 0 -> 353 bytes engines/crux/pixmaps/scroller-arrow-up-pressed.png | Bin 0 -> 386 bytes engines/crux/pixmaps/scroller-arrow-up.png | Bin 0 -> 386 bytes engines/crux/pixmaps/scroller-h-hilight.png | Bin 0 -> 261 bytes engines/crux/pixmaps/scroller-h-thumb-hilight.png | Bin 0 -> 260 bytes engines/crux/pixmaps/scroller-h-thumb.png | Bin 0 -> 262 bytes engines/crux/pixmaps/scroller-h-trough.png | Bin 0 -> 692 bytes engines/crux/pixmaps/scroller-h.png | Bin 0 -> 253 bytes engines/crux/pixmaps/scroller-v-hilight.png | Bin 0 -> 257 bytes engines/crux/pixmaps/scroller-v-thumb-hilight.png | Bin 0 -> 227 bytes engines/crux/pixmaps/scroller-v-thumb.png | Bin 0 -> 236 bytes engines/crux/pixmaps/scroller-v-trough.png | Bin 0 -> 807 bytes engines/crux/pixmaps/scroller-v.png | Bin 0 -> 249 bytes engines/crux/pixmaps/slider_h_thumb.png | Bin 0 -> 296 bytes engines/crux/pixmaps/slider_h_trough.png | Bin 0 -> 332 bytes engines/crux/pixmaps/slider_h_trough_focus.png | Bin 0 -> 257 bytes engines/crux/pixmaps/slider_v_thumb.png | Bin 0 -> 293 bytes engines/crux/pixmaps/slider_v_trough.png | Bin 0 -> 330 bytes engines/crux/pixmaps/slider_v_trough_focus.png | Bin 0 -> 252 bytes engines/crux/pixmaps/tab_left-unsel.png | Bin 0 -> 244 bytes engines/crux/pixmaps/tab_left.png | Bin 0 -> 225 bytes engines/crux/pixmaps/tab_right.png | Bin 0 -> 229 bytes engines/crux/pixmaps/tab_sel-bottom.png | Bin 0 -> 529 bytes engines/crux/pixmaps/tab_sel.png | Bin 0 -> 394 bytes engines/crux/pixmaps/tab_usel-bottom-left.png | Bin 0 -> 501 bytes engines/crux/pixmaps/tab_usel-bottom.png | Bin 0 -> 498 bytes engines/crux/pixmaps/tab_usel-left.png | Bin 0 -> 562 bytes engines/crux/pixmaps/tab_usel.png | Bin 0 -> 562 bytes engines/crux/src/.cvsignore | 13 + engines/crux/src/crux-common.h | 152 ++ engines/crux/src/crux-draw.c | 2660 +++++++++++++++++++ engines/crux/src/crux-draw.h | 12 + engines/crux/src/crux-gradient.c | 362 +++ engines/crux/src/crux-gradient.h | 30 + engines/crux/src/crux-main.c | 48 + engines/crux/src/crux-pixmaps.c | 620 +++++ engines/crux/src/crux-pixmaps.h | 26 + engines/crux/src/crux-rc-parser.c | 1019 ++++++++ engines/crux/src/crux-rc-parser.h | 19 + engines/crux/src/crux-rc-style.c | 117 + engines/crux/src/crux-rc-style.h | 38 + engines/crux/src/crux-style.c | 51 + engines/crux/src/crux-style.h | 39 + engines/crux/src/crux.h | 19 + engines/crux/src/debug.c | 109 + engines/crux/src/debug.h | 7 + engines/crux/src/eazel-theme-hacks.c | 143 + engines/crux/src/eazel-theme.h | 383 +++ engines/hc/AUTHORS | 1 + engines/hc/Makefile.am | 19 + engines/hc/src/hc-main.c | 40 + engines/hc/src/hc-rc-style.c | 71 + engines/hc/src/hc-rc-style.h | 49 + engines/hc/src/hc-style.c | 1639 ++++++++++++ engines/hc/src/hc-style.h | 47 + engines/industrial/AUTHORS | 10 + engines/industrial/Makefile.am | 37 + engines/industrial/src/industrial_rc_style.c | 123 + engines/industrial/src/industrial_rc_style.h | 63 + engines/industrial/src/industrial_style.c | 2718 ++++++++++++++++++++ engines/industrial/src/industrial_style.h | 55 + .../src/industrial_style_versioned_code.h | 193 ++ .../src/industrial_style_versioned_include.h | 23 + engines/industrial/src/industrial_theme_main.c | 36 + engines/industrial/src/parse_rc_style.h | 155 ++ engines/industrial/src/xpm/checkbox-mixed.xpm | 41 + engines/industrial/src/xpm/checkbox-off.xpm | 24 + engines/industrial/src/xpm/checkbox-on.xpm | 42 + engines/industrial/src/xpm/menu-checkbox-mixed.xpm | 36 + engines/industrial/src/xpm/menu-checkbox-off.xpm | 12 + engines/industrial/src/xpm/menu-checkbox-on.xpm | 45 + engines/industrial/src/xpm/menu-radio-mixed.xpm | 21 + engines/industrial/src/xpm/menu-radio-off.xpm | 18 + engines/industrial/src/xpm/menu-radio-on.xpm | 20 + engines/industrial/src/xpm/radio-mixed.xpm | 48 + engines/industrial/src/xpm/radio-off.xpm | 45 + engines/industrial/src/xpm/radio-on.xpm | 61 + .../industrial/src/xpm/table-checkbox-mixed.xpm | 39 + engines/industrial/src/xpm/table-checkbox-off.xpm | 22 + engines/industrial/src/xpm/table-checkbox-on.xpm | 45 + engines/lighthouseblue/AUTHORS | 9 + engines/lighthouseblue/Makefile.am | 19 + .../lighthouseblue/src/lighthouseblue_rc_style.c | 209 ++ .../lighthouseblue/src/lighthouseblue_rc_style.h | 30 + engines/lighthouseblue/src/lighthouseblue_style.c | 1865 ++++++++++++++ engines/lighthouseblue/src/lighthouseblue_style.h | 35 + .../lighthouseblue/src/lighthouseblue_theme_main.c | 50 + engines/lighthouseblue/src/util.c | 481 ++++ engines/mist/AUTHORS | 6 + engines/mist/Makefile.am | 19 + engines/mist/src/mist-rc-style.c | 111 + engines/mist/src/mist-rc-style.h | 23 + engines/mist/src/mist-style.c | 2005 +++++++++++++++ engines/mist/src/mist-style.h | 27 + engines/mist/src/mist.c | 24 + engines/thinice/AUTHORS | 3 + engines/thinice/Makefile.am | 19 + engines/thinice/src/thinice_main.c | 38 + engines/thinice/src/thinice_rc_style.c | 404 +++ engines/thinice/src/thinice_rc_style.h | 92 + engines/thinice/src/thinice_style.h | 27 + engines/thinice/src/thinice_theme_draw.c | 2468 ++++++++++++++++++ gtk-engines.spec.in | 13 +- makefile.msc | 110 - metal/Makefile.am | 9 +- redmond95/Makefile.am | 9 +- 165 files changed, 20699 insertions(+), 208 deletions(-) commit 7f91c354a9fab9e5f8a2d9c8b8ecb947536ef839 Author: James Henstridge Date: Tue Nov 2 15:36:16 2004 +0000 From bug #156666: 2004-11-02 James Henstridge From bug #156666: * configure.in: modernise the configure script a bit. * autogen.sh: use automake 1.9, 1.8 or 1.7 instead of 1.4. ChangeLog | 8 ++++++++ autogen.sh | 25 +++++++++++++++++++++---- configure.in | 16 +++++++--------- 3 files changed, 36 insertions(+), 13 deletions(-) commit a2f7ac410cbb2e8b377eebdda64d815e76fbc3d9 Author: Thomas Vander Stichele Date: Thu Apr 1 09:39:56 2004 +0000 ignore .cvsignore | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 3ee74e89136ae702ba34a424fed6c5a06e5ab1e6 Author: Owen Taylor Date: Thu Mar 18 15:09:55 2004 +0000 Fix ./-> typo. (Federic Crozat) Thu Mar 18 10:07:15 2004 Owen Taylor * pixbuf-draw.c (match_theme_image): Fix ./-> typo. (Federic Crozat) pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-draw.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 30d7137458876910339036a8d7e2fb6b8ea29cc3 Author: Owen Taylor Date: Wed Mar 17 21:43:47 2004 +0000 Fix problem with NULL details. (#112066, MINAMI Hirokazu, Matthias Clasen) Wed Mar 17 16:38:00 2004 Owen Taylor * pixbuf-draw.c (match_theme_image): Fix problem with NULL details. (#112066, MINAMI Hirokazu, Matthias Clasen) pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-draw.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 149a6617c2cbbbb552aaeff75048f3ec0ecc217a Author: Owen Taylor Date: Wed Mar 17 21:28:06 2004 +0000 Fix problem with clipping when creating the tile pixmap. (#107340) Wed Mar 17 16:23:30 2004 Owen Taylor * metal_style.c (metal_scale_slider): Fix problem with clipping when creating the tile pixmap. (#107340) * metal_style.c (metal_scale_trough): Center the "slot" better. metal/ChangeLog | 8 ++++++++ metal/metal_style.c | 45 ++++++++++++++++++++++++--------------------- 2 files changed, 32 insertions(+), 21 deletions(-) commit fba919457a40b4d6f2db84d1b82fa3eb739610b9 Author: Anders Carlsson Date: Wed Jan 21 20:31:18 2004 +0000 Remove font from gtkrc, (#104082, reported by Roland Smith.) 2004-01-21 Anders Carlsson * Theme/gtk-2.0/gtkrc: Remove font from gtkrc, (#104082, reported by Roland Smith.) metal/ChangeLog | 5 +++++ metal/Theme/gtk-2.0/gtkrc | 1 - 2 files changed, 5 insertions(+), 1 deletions(-) commit 3d9637718851ecb13d27e84b788fbdcaff75c240 Author: Mark McLoughlin Date: Tue Jul 15 11:40:19 2003 +0000 make pixbuf_cache static to avoid possible symbol conflicts. 2003-07-15 Mark McLoughlin * pixbuf-render.c: make pixbuf_cache static to avoid possible symbol conflicts. pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-render.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 8e7c5f8da4bd37b19315f50d6736fb8061f27a2b Author: Owen Taylor Date: Wed May 28 14:27:27 2003 +0000 Fix typo of ~/.theme for ~/.themes Wed May 28 10:26:48 2003 Owen Taylor * README: Fix typo of ~/.theme for ~/.themes ChangeLog | 4 ++++ README | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit 5609fed22a6e00332fa24b414e5930364aa35c6b Author: Owen Taylor Date: Tue Apr 22 16:14:55 2003 +0000 Fix 'copy copy' typo. Tue Apr 22 12:14:16 2003 Owen Taylor * README: Fix 'copy copy' typo. ChangeLog | 4 ++++ README | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit 078f41100cfbdb7398e7d45a805e84fcd1d7545c Author: Tor Lillqvist Date: Sun Mar 2 02:00:51 2003 +0000 Call AC_LIBTOOL_WIN32_DLL. Set OS_WIN32 conditional on Windows. 2003-03-02 Tor Lillqvist * configure.in: Call AC_LIBTOOL_WIN32_DLL. Set OS_WIN32 conditional on Windows. * makefile.cygwin: Remove, unmaintained and obsolete. * Makefile.am (EXTRA_DIST): Remove here, too. * README.win32: Update. pixbuf: 2003-03-02 Tor Lillqvist * Makefile.am: Use -no-undefined on Windows. metal and redmond95: 2003-03-02 Tor Lillqvist * Makefile.am: Use -no-undefined, and do use GTK_LIBS on Windows. ChangeLog | 11 ++++++ Makefile.am | 2 +- README.win32 | 6 ++-- configure.in | 13 +++++++ makefile.cygwin | 96 ------------------------------------------------- metal/ChangeLog | 4 ++ metal/Makefile.am | 9 ++++- pixbuf/ChangeLog | 4 ++ pixbuf/Makefile.am | 6 +++- redmond95/ChangeLog | 4 ++ redmond95/Makefile.am | 9 ++++- 11 files changed, 59 insertions(+), 105 deletions(-) commit 4079e7841da4de522d770867f4fd07f16e97929c Author: Owen Taylor Date: Sat Jan 18 18:31:27 2003 +0000 Adding missing file gtk-engines-2.pc.in | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) commit b57f63366c33924a93cf069c6db100f8021aa7ba Author: Owen Taylor Date: Sat Jan 18 00:20:23 2003 +0000 === Released 2.2.0 === Fri Jan 17 19:02:02 2003 Owen Taylor * === Released 2.2.0 === * Makefile.am: Make dist fixes. * gtk-engines.spec: Some updates to bring into a resemblence of workingness. * NEWS: Updated. ChangeLog | 11 +++++++++++ Makefile.am | 2 +- NEWS | 8 ++++++++ configure.in | 2 +- gtk-engines.spec.in | 47 ++++++++++++++++++++++------------------------- 5 files changed, 43 insertions(+), 27 deletions(-) commit fcb0cb835799e1a40da62365440e643276ee3389 Author: Owen Taylor Date: Fri Jan 17 23:50:48 2003 +0000 Patch from Seth Nickell to add a .pc file so that things use one of the Fri Jan 17 18:32:34 2003 Owen Taylor * configure.in Makefile.am gtk-engines-2.pc.in: Patch from Seth Nickell to add a .pc file so that things use one of the gtk-engines engines can check for it's presence. ChangeLog | 7 +++++++ Makefile.am | 5 ++++- configure.in | 1 + 3 files changed, 12 insertions(+), 1 deletions(-) commit 824a31379357c505a7c319ac7595739b29b68702 Author: Owen Taylor Date: Fri Jan 17 23:28:34 2003 +0000 Make MenuItem pattern more comprehensive to catch all types of Menu item Fri Jan 17 18:26:12 2003 Owen Taylor * Theme/gtk-2.0/gtkrc: Make MenuItem pattern more comprehensive to catch all types of Menu item with the metal-black-fg pattern. (#85632). Apply metal-black-fg to option menus. metal/ChangeLog | 7 +++++++ metal/Theme/gtk-2.0/gtkrc | 3 ++- 2 files changed, 9 insertions(+), 1 deletions(-) commit 13a8334880d8e08b9133be722734ca356cb01faf Author: Owen Taylor Date: Fri Jan 17 23:19:18 2003 +0000 Account for tab_hborder/tab_vborder. (Deprecated, but Glade sets it at a Fri Jan 17 18:18:52 2003 Owen Taylor * metal_style.c (draw_notebook_focus): Account for tab_hborder/tab_vborder. (Deprecated, but Glade sets it at a minimum.) metal/ChangeLog | 6 +++++ metal/metal_style.c | 55 +++++++++++++++++++++++++++++++------------------- 2 files changed, 40 insertions(+), 21 deletions(-) commit 82bad62d6f0df2cf13526cca991a0aa33153bf8e Author: Owen Taylor Date: Fri Jan 17 22:57:39 2003 +0000 Redo the computation of whether a tab is the first tab to avoid segfaults Fri Jan 17 17:55:48 2003 Owen Taylor * metal_style.c (is_first_tab): Redo the computation of whether a tab is the first tab to avoid segfaults if the tab label isn't available, and also fix some bugs with pack-end tabs. (#79936, Peter Zelezny) * metal_style.c (draw_notebook_focus): Draw the notebook tab focus in a style similar to the way that the Java metal L&F does it ... use a polygon rather than a square. * metal_style.c (draw_extension): Remove code that was drawing a weird mid-gray box in the middle of the tab. * metal_style.c (metal_tab): Tweak to look less like something the cat dragged in, even if not exactly like the Java metal tabs. metal/ChangeLog | 20 ++++ metal/metal_style.c | 241 +++++++++++++++++++++++++++++---------------------- 2 files changed, 156 insertions(+), 105 deletions(-) commit 006a4a831eb34dd5afe71f985e3a7a0e569d7725 Author: Owen Taylor Date: Fri Jan 17 19:43:46 2003 +0000 Make parent_class static. (#94047, Shivaram Upadhyayula) Fri Jan 17 14:41:05 2003 Owen Taylor * metal_style.c: Make parent_class static. (#94047, Shivaram Upadhyayula) metal/ChangeLog | 5 +++++ metal/metal_style.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit ae4751a386004570b93770f9ad898578c9ce018e Author: Matthias Clasen Date: Sat Nov 2 00:24:06 2002 +0000 Support RTL option menus. redmond95/redmond_style.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) commit 41d17141bec27c8e25ffe6d1d8eb00b23fa572cf Author: Owen Taylor Date: Thu Oct 31 23:58:13 2002 +0000 Remove some useless checks. (Red Hat bugzilla, #64061) Thu Oct 31 18:56:56 2002 Owen Taylor * configure.in: Remove some useless checks. (Red Hat bugzilla, #64061) ChangeLog | 5 +++++ configure.in | 8 -------- 2 files changed, 5 insertions(+), 8 deletions(-) commit 50fb26c7d967205acef5cb232808e7b1ef255748 Author: Christian Schaller Date: Tue Oct 22 12:37:45 2002 +0000 - update spec to actually work 2002-10-22 Christian Schaller - update spec to actually work gtk-engines.spec.in | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-) commit 9c8d1d3966f0a885ceb57dae257608d8a11e9ee2 Author: Havoc Pennington Date: Thu Sep 12 19:24:11 2002 +0000 remove apparently pointless old icon files 2002-09-12 Havoc Pennington * notif/Theme/ICON.png, metal/Theme/ICON.png, redmond95/Theme/ICON.png: remove apparently pointless old icon files ChangeLog | 6 ++++++ metal/ChangeLog | 5 +++++ metal/Theme/Makefile.am | 2 +- notif/ChangeLog | 4 ++++ notif/Theme/Makefile.am | 2 +- redmond95/ChangeLog | 4 ++++ redmond95/Theme/Makefile.am | 2 +- 7 files changed, 22 insertions(+), 3 deletions(-) commit 768f01c56e5dc7bec28f41e81c2f9ad3397b0942 Author: Owen Taylor Date: Sat Sep 7 00:38:31 2002 +0000 Update ChangeLog credits pixbuf/ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 92429ff30f5a4edc5d9eed7a801458c9882b040f Author: Owen Taylor Date: Sat Sep 7 00:35:57 2002 +0000 Account for the possibility of detail == NULL (#89561, Hongli Lai) Fri Sep 6 20:32:45 2002 Owen Taylor * pixbuf-draw.c: Account for the possibility of detail == NULL (#89561, Hongli Lai) pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-draw.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) commit 68db2f3b1b8b35977f080d33cf55ec75985cd7a3 Author: Owen Taylor Date: Sat Sep 7 00:31:59 2002 +0000 Fri Sep 6 20:31:29 2002 Owen Taylor * redmond_style.c: Fix some uses of detail without checking for detail == NULL. redmond95/ChangeLog | 5 +++++ redmond95/redmond_style.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit 80028e0101e07a9fd9d6d94738d287950641dd22 Author: Owen Taylor Date: Fri Sep 6 20:44:06 2002 +0000 Added some text describing how to install gtk-engines into a different Fri Sep 6 16:40:42 2002 Owen Taylor * README: Added some text describing how to install gtk-engines into a different prefix than GTK+. (#84727, Piotr Sawuk) ChangeLog | 6 ++++++ README | 20 ++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) commit fdf3a4dceee6642427bd5bcd6bd39edf79328195 Author: Havoc Pennington Date: Sun Aug 18 22:21:49 2002 +0000 hardcode aclocal-1.4/automake-1.4 so that users with both automake 1.6 and 2002-08-18 Havoc Pennington * autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with both automake 1.6 and 1.4 installed get the right automake. Means compilation from CVS will now require the latest automake 1.4 release, or manually creating symlinks called "automake-1.4" and "aclocal-1.4" ChangeLog | 8 ++++++++ autogen.sh | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) commit 76e36fff591fb33defd9da0f2b0a59440da3d1d2 Author: Owen Taylor Date: Sun Apr 21 19:01:31 2002 +0000 Version 1.9.0 Sun Apr 21 09:52:54 2002 Owen Taylor * configure.in: Version 1.9.0 ChangeLog | 4 ++++ README | 18 +++++++----------- configure.in | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) commit 4c5038aa5cfd18b41c026b6007d6b0ec417fff37 Author: Owen Taylor Date: Sun Apr 21 19:01:18 2002 +0000 Add a workaround for gtkrange brokeness with regards to drawing the Sun Apr 21 14:08:59 2002 Owen Taylor * metal_style.c (reverse_engineer_stepper_box): Add a workaround for gtkrange brokeness with regards to drawing the stepper arrows. metal/ChangeLog | 5 ++++ metal/metal_style.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 0 deletions(-) commit e1baf4b15ee41f2a342af6e2caf1a331e37e6c65 Author: Owen Taylor Date: Sun Apr 21 19:00:52 2002 +0000 Add a fake STEPPER function that is used for drawing scrollbar steppers, Sun Apr 21 14:10:04 2002 Owen Taylor * pixbuf-rc-style.c pixbuf.h pixbuf-draw.c: Add a fake STEPPER function that is used for drawing scrollbar steppers, so that themes that want to draw the button and arrow separately can override the default handling. * pixbuf-draw.c: Remove draw_polygon() since it was just a cut-and-paste of the default one. Remove some unused code. pixbuf/ChangeLog | 11 ++ pixbuf/pixbuf-draw.c | 258 ++++++++++++++++------------------------------ pixbuf/pixbuf-rc-style.c | 3 +- pixbuf/pixbuf.h | 1 + 4 files changed, 105 insertions(+), 168 deletions(-) commit 0feab6c916e6b72a0e6f03b33343dba17b57639b Author: jacob berkman Date: Fri Apr 19 17:07:51 2002 +0000 cleanup a little to really fix 2002-04-19 jacob berkman * metal_style.c (get_tab_status): cleanup a little to really fix metal/ChangeLog | 2 ++ metal/metal_style.c | 5 ----- 2 files changed, 2 insertions(+), 5 deletions(-) commit d05fd5d3aee3a081c9472319efd57ea96ad189a2 Author: jacob berkman Date: Fri Apr 19 16:34:51 2002 +0000 assign a variable before we use it 2002-04-19 jacob berkman * metal_style.c (get_tab_status): assign a variable before we use it metal/ChangeLog | 5 +++++ metal/metal_style.c | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) commit be945b8695f576b5340a696a82339afd199eb850 Author: Manish Singh Date: Tue Mar 19 22:31:26 2002 +0000 shut up cvs .cvsignore | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit d75059ed95d73d8c10bbac1df35f0e572eafed8d Author: James Henstridge Date: Wed Mar 6 23:34:11 2002 +0000 link pixbuf engine against the gtk+ libraries, so that it can be used with 2002-03-07 James Henstridge * Makefile.am (libpixmap_la_LIBADD): link pixbuf engine against the gtk+ libraries, so that it can be used with programs that dlopen gtk+ without the RTLD_GLOBAL flag (such as scripting languages and mozilla). pixbuf/ChangeLog | 7 +++++++ pixbuf/Makefile.am | 1 + 2 files changed, 8 insertions(+), 0 deletions(-) commit 8e9948b130ffb5541e03ae7930d7de160af38728 Author: Owen Taylor Date: Thu Feb 7 05:43:55 2002 +0000 Add gradient rendering -- if the source width/height is zero, render a Thu Feb 7 00:21:21 2002 Owen Taylor * pixbuf-render.c (pixbuf_render): Add gradient rendering -- if the source width/height is zero, render a gradient from the surrounding values. pixbuf/ChangeLog | 6 ++ pixbuf/pixbuf-render.c | 181 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 179 insertions(+), 8 deletions(-) commit a7c2fde9da4135da3cd43718166adaa02fa2ee94 Author: Owen Taylor Date: Mon Jan 28 20:36:38 2002 +0000 Fix hint computation again. Mon Jan 28 15:34:43 2002 Owen Taylor * pixbuf-render.c (compute_hint): Fix hint computation again. pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-render.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) commit 050483063a8727af7eacdce2a79abc545fa11b70 Author: Owen Taylor Date: Mon Jan 28 17:25:14 2002 +0000 Fix problems in computing MISSING hint. Mon Jan 28 12:17:07 2002 Owen Taylor * pixbuf-render.c (compute_hint): Fix problems in computing MISSING hint. pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-render.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit c5183edd43b5c5f0179e8b456a4360c21529c6c3 Author: Anders Carlsson Date: Mon Jan 28 15:08:24 2002 +0000 Set child displacement on GtkButtons. 2002-01-28 Anders Carlsson * Theme/gtk-2.0/gtkrc: Set child displacement on GtkButtons. redmond95/ChangeLog | 4 ++++ redmond95/Theme/gtk-2.0/gtkrc | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 8a4a03dd298da64578d6e17730f0d866eece7f35 Author: Owen Taylor Date: Mon Jan 28 05:34:17 2002 +0000 Optimize the case where a component is entirely transparent by skipping Sun Jan 27 23:58:13 2002 Owen Taylor * pixbuf-render.c (compute_hint): Optimize the case where a component is entirely transparent by skipping drawing it. * pixbuf-rc-style.c (theme_parse_image): Catch case where background or overlay border/stretch are specified without a background image. * pixbuf-render.c (theme_pixbuf_destroy): Actually free the structure and filename. pixbuf/ChangeLog | 13 +++++++++++++ pixbuf/Makefile.am | 4 ++++ pixbuf/pixbuf-draw.c | 3 ++- pixbuf/pixbuf-rc-style.c | 14 ++++++++++++++ pixbuf/pixbuf-render.c | 26 ++++++++++++++++++++------ pixbuf/pixbuf.h | 3 ++- 6 files changed, 55 insertions(+), 8 deletions(-) commit 1cf2f9d6393c46f90a80ce001747d47f9d950b27 Author: Anders Carlsson Date: Wed Jan 23 23:31:12 2002 +0000 Remove these config.guess | 1317 ------------------------------------------------------ config.sub | 1410 ---------------------------------------------------------- 2 files changed, 0 insertions(+), 2727 deletions(-) commit 756eae9927f8563445ef7bd58abbfb4389662afc Author: Anders Carlsson Date: Wed Jan 23 23:30:25 2002 +0000 Use flat boxes when drawing menu items. 2002-01-24 Anders Carlsson * redmond_style.c (draw_box): Use flat boxes when drawing menu items. config.guess | 234 +++++++++++++++++---------------------------- config.sub | 148 +++++++++++++++++++---------- redmond95/ChangeLog | 4 + redmond95/redmond_style.c | 3 + 4 files changed, 195 insertions(+), 194 deletions(-) commit 145f47f321d130cb43d92cb03e13345759a01d18 Author: Owen Taylor Date: Sun Jan 20 05:23:41 2002 +0000 Add rc files that should have been in last commit metal/Theme/gtk-2.0/gtkrc | 58 ++++++++++++---- redmond95/Theme/gtk-2.0/gtkrc | 156 +++++++---------------------------------- 2 files changed, 70 insertions(+), 144 deletions(-) commit c30183a127c8bb0ed9c36bb6bce4fea1fba13531 Author: Owen Taylor Date: Sun Jan 20 02:52:52 2002 +0000 fix theme installation directories metal/Theme/gtk-2.0/Makefile.am | 2 +- notif/Theme/gtk-2.0/Makefile.am | 2 +- redmond95/Theme/gtk-2.0/Makefile.am | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit b983a9489e38464326b0a034202ef032ba8bce3f Author: Owen Taylor Date: Sun Jan 20 02:21:13 2002 +0000 updates .cvsignore | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 51afea87f125fb3f5e35d2a69b3743726d95aca5 Author: Owen Taylor Date: Sun Jan 20 02:19:30 2002 +0000 Remove engine, it's now the GTK+ default. Sat Jan 19 20:42:11 2002 Owen Taylor * raleigh/**: Remove engine, it's now the GTK+ default. * pixmap/**: Remove engine, replaced by pixbuf * pixbuf/**: Replacement for pixmap-engine, compatible RC file format, sane code. * metal,notif,redmond95/Theme/gtk{-2.0}: Rename theme directories to gtk-2.0. * Makefile.am (SUBDIRS): Remove pixmap and raleigh, temporarily remove * ltmain.sh ltconfig acinclude.m4: Remove from CVS * configure.in: Update for GTK+-2.0 and pkg-config. ChangeLog | 19 + Makefile.am | 2 +- acinclude.m4 | 430 ---- autogen.sh | 2 + config.guess | 764 ++++-- config.sub | 280 ++- configure.in | 36 +- ltconfig | 3078 ----------------------- ltmain.sh | 4012 ------------------------------ notif/Theme/Makefile.am | 2 +- notif/Theme/gtk/.cvsignore | 2 - notif/Theme/gtk/Makefile.am | 5 - notif/Theme/gtk/gtkrc | 150 -- pixmap/.cvsignore | 12 - pixmap/ChangeLog | 91 - pixmap/Makefile.am | 15 - pixmap/Theme/.cvsignore | 2 - pixmap/Theme/ICON.png | Bin 3521 -> 0 bytes pixmap/Theme/Makefile.am | 6 - pixmap/Theme/README.html | 3 - pixmap/Theme/gtk/.cvsignore | 2 - pixmap/Theme/gtk/Makefile.am | 22 - pixmap/Theme/gtk/Makefile.am.in | 21 - pixmap/Theme/gtk/arrow_down1.png | Bin 290 -> 0 bytes pixmap/Theme/gtk/arrow_down2.png | Bin 276 -> 0 bytes pixmap/Theme/gtk/arrow_down3.png | Bin 306 -> 0 bytes pixmap/Theme/gtk/arrow_left1.png | Bin 294 -> 0 bytes pixmap/Theme/gtk/arrow_left2.png | Bin 288 -> 0 bytes pixmap/Theme/gtk/arrow_left3.png | Bin 306 -> 0 bytes pixmap/Theme/gtk/arrow_right1.png | Bin 284 -> 0 bytes pixmap/Theme/gtk/arrow_right2.png | Bin 267 -> 0 bytes pixmap/Theme/gtk/arrow_right3.png | Bin 305 -> 0 bytes pixmap/Theme/gtk/arrow_up1.png | Bin 311 -> 0 bytes pixmap/Theme/gtk/arrow_up2.png | Bin 276 -> 0 bytes pixmap/Theme/gtk/arrow_up3.png | Bin 293 -> 0 bytes pixmap/Theme/gtk/brown_bg1.png | Bin 63432 -> 0 bytes pixmap/Theme/gtk/brown_bg2.png | Bin 63414 -> 0 bytes pixmap/Theme/gtk/button1.png | Bin 7471 -> 0 bytes pixmap/Theme/gtk/button2.png | Bin 7275 -> 0 bytes pixmap/Theme/gtk/button3.png | Bin 7520 -> 0 bytes pixmap/Theme/gtk/button4.png | Bin 7432 -> 0 bytes pixmap/Theme/gtk/button5.png | Bin 7478 -> 0 bytes pixmap/Theme/gtk/button6.png | Bin 7400 -> 0 bytes pixmap/Theme/gtk/button7.png | Bin 5967 -> 0 bytes pixmap/Theme/gtk/button8.png | Bin 5921 -> 0 bytes pixmap/Theme/gtk/button9.png | Bin 6055 -> 0 bytes pixmap/Theme/gtk/button_def.png | Bin 6392 -> 0 bytes pixmap/Theme/gtk/check1.png | Bin 348 -> 0 bytes pixmap/Theme/gtk/check2.png | Bin 271 -> 0 bytes pixmap/Theme/gtk/curve_bg1.png | Bin 74130 -> 0 bytes pixmap/Theme/gtk/entry1.png | Bin 9890 -> 0 bytes pixmap/Theme/gtk/entry2.png | Bin 8051 -> 0 bytes pixmap/Theme/gtk/extension_bottom1.png | Bin 5826 -> 0 bytes pixmap/Theme/gtk/extension_left1.png | Bin 5928 -> 0 bytes pixmap/Theme/gtk/extension_right1.png | Bin 5895 -> 0 bytes pixmap/Theme/gtk/extension_top1.png | Bin 5827 -> 0 bytes pixmap/Theme/gtk/focus.png | Bin 258 -> 0 bytes pixmap/Theme/gtk/frame1.png | Bin 5096 -> 0 bytes pixmap/Theme/gtk/frame2.png | Bin 5082 -> 0 bytes pixmap/Theme/gtk/frame_gap.png | Bin 8649 -> 0 bytes pixmap/Theme/gtk/frame_gap_top_end.png | Bin 378 -> 0 bytes pixmap/Theme/gtk/frame_gap_top_start.png | Bin 418 -> 0 bytes pixmap/Theme/gtk/gap_bottom.png | Bin 275 -> 0 bytes pixmap/Theme/gtk/gap_bottom_end.png | Bin 343 -> 0 bytes pixmap/Theme/gtk/gap_bottom_start.png | Bin 348 -> 0 bytes pixmap/Theme/gtk/gap_left.png | Bin 280 -> 0 bytes pixmap/Theme/gtk/gap_left_end.png | Bin 334 -> 0 bytes pixmap/Theme/gtk/gap_left_start.png | Bin 326 -> 0 bytes pixmap/Theme/gtk/gap_right.png | Bin 322 -> 0 bytes pixmap/Theme/gtk/gap_right_end.png | Bin 395 -> 0 bytes pixmap/Theme/gtk/gap_right_start.png | Bin 398 -> 0 bytes pixmap/Theme/gtk/gap_top.png | Bin 259 -> 0 bytes pixmap/Theme/gtk/gap_top_end.png | Bin 341 -> 0 bytes pixmap/Theme/gtk/gap_top_start.png | Bin 327 -> 0 bytes pixmap/Theme/gtk/gtkrc | 979 -------- pixmap/Theme/gtk/handle_vert_thumb.png | Bin 254 -> 0 bytes pixmap/Theme/gtk/hline.png | Bin 412 -> 0 bytes pixmap/Theme/gtk/menubar.png | Bin 19356 -> 0 bytes pixmap/Theme/gtk/notebook1.png | Bin 66033 -> 0 bytes pixmap/Theme/gtk/option1.png | Bin 413 -> 0 bytes pixmap/Theme/gtk/option2.png | Bin 433 -> 0 bytes pixmap/Theme/gtk/option_menu.png | Bin 540 -> 0 bytes pixmap/Theme/gtk/progressbar.png | Bin 1950 -> 0 bytes pixmap/Theme/gtk/ruler_horiz.png | Bin 787 -> 0 bytes pixmap/Theme/gtk/ruler_vert.png | Bin 767 -> 0 bytes pixmap/Theme/gtk/scrollbar_horiz1.png | Bin 987 -> 0 bytes pixmap/Theme/gtk/scrollbar_thumb.png | Bin 231 -> 0 bytes pixmap/Theme/gtk/scrollbar_thumb2.png | Bin 287 -> 0 bytes pixmap/Theme/gtk/scrollbar_vert1.png | Bin 1050 -> 0 bytes pixmap/Theme/gtk/shadow1.png | Bin 5969 -> 0 bytes pixmap/Theme/gtk/shadow2.png | Bin 5995 -> 0 bytes pixmap/Theme/gtk/trough.png | Bin 5933 -> 0 bytes pixmap/Theme/gtk/vline.png | Bin 412 -> 0 bytes pixmap/pixmap_theme.h | 112 - pixmap/pixmap_theme_draw.c | 2262 ----------------- pixmap/pixmap_theme_main.c | 1196 --------- raleigh/.cvsignore | 12 - raleigh/AUTHORS | 1 - raleigh/ChangeLog | 9 - raleigh/Makefile.am | 15 - raleigh/README | 7 - raleigh/Theme/.cvsignore | 2 - raleigh/Theme/Makefile.am | 6 - raleigh/Theme/README.html | 8 - raleigh/Theme/gtk/.cvsignore | 2 - raleigh/Theme/gtk/Makefile.am | 5 - raleigh/Theme/gtk/gtkrc | 20 - raleigh/raleigh.h | 17 - raleigh/raleigh_theme_draw.c | 715 ------ raleigh/raleigh_theme_main.c | 189 -- 110 files changed, 746 insertions(+), 13767 deletions(-) commit eff26aeca611c1f52d3f998231a4dcf367085494 Author: Owen Taylor Date: Sun Jan 20 02:18:50 2002 +0000 Rework using code from Raleigh and the capabilities of GTK+-2.0. Move code Sat Jan 19 20:56:26 2002 Owen Taylor * *.[ch]: Rework using code from Raleigh and the capabilities of GTK+-2.0. Move code around. metal/ChangeLog | 5 + metal/Makefile.am | 12 +- metal/Theme/Makefile.am | 2 +- metal/Theme/gtk/.cvsignore | 2 - metal/Theme/gtk/Makefile.am | 5 - metal/Theme/gtk/gtkrc | 41 - metal/metal_rc_style.c | 81 + metal/metal_rc_style.h | 48 + metal/metal_style.c | 5057 ++++++++++++++++++++------------------ metal/metal_style.h | 53 + metal/metal_theme.h | 40 - metal/metal_theme_draw.c | 2840 --------------------- metal/metal_theme_main.c | 454 +---- redmond95/ChangeLog | 5 + redmond95/Makefile.am | 11 +- redmond95/Theme/Makefile.am | 2 +- redmond95/Theme/gtk/.cvsignore | 2 - redmond95/Theme/gtk/Makefile.am | 6 - redmond95/Theme/gtk/gtkrc | 158 -- redmond95/redmond95_theme_draw.c | 1624 ------------ redmond95/redmond95_theme_main.c | 116 - redmond95/redmond_rc_style.c | 77 + redmond95/redmond_rc_style.h | 48 + redmond95/redmond_style.c | 1920 ++++----------- redmond95/redmond_style.h | 47 + redmond95/redmond_theme_main.c | 37 + 26 files changed, 3487 insertions(+), 9206 deletions(-) commit 52289ae9fb8d061e0f503c33e54f246659c32123 Author: Owen Taylor Date: Sun Jan 20 02:16:54 2002 +0000 Move back into gtk-engines pixbuf/ChangeLog | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 8443bb557b99e61a51d7992d781a2817016b22da Author: Owen Taylor Date: Sat Jan 19 07:52:52 2002 +0000 Catch invalid borders, and warn. Sat Jan 19 02:45:17 2002 Owen Taylor * src/pixbuf-render.c (theme_pixbuf_compute_hints): Catch invalid borders, and warn. pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-render.c | 13 +++++++++++++ 2 files changed, 18 insertions(+), 0 deletions(-) commit eef66e15f73b0fee3ab43f2d9a28cbdbcc1148ee Author: Owen Taylor Date: Sat Jan 19 07:28:56 2002 +0000 fix image file names pixbuf/examples/bubble/gtk-2.0/gtkrc | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit c248b9e587278c788dfb5a57400df88d5bb7b0d7 Author: Owen Taylor Date: Sat Jan 19 07:24:59 2002 +0000 add missed file pixbuf/examples/bubble/gtk-2.0/gtkrc | 65 ++++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 deletions(-) commit 5e01a6f4879de4ad6a060836f02f22c4f2c503dd Author: Owen Taylor Date: Sat Jan 19 05:39:43 2002 +0000 Add an extrodinarily ugly example. Sat Jan 19 00:32:14 2002 Owen Taylor * examples/*: Add an extrodinarily ugly example. * src/pixbuf-draw.c (draw_simple_image): Never shape the window, even if we are allowed to. Shaping is ugly -- if the widget isn't NO_WINDOW (most are), you'll just have to draw it rectangular. * src/pixbuf-render.c (pixbuf_render): Always use gdk_pixbuf_render_alpha() with FULL_ALPHA() as the type. * pixbuf.h src/pixbuf-render.c (theme_pixbuf_compute_hints): To speed up scaling, cache whether pixbufs have constant rows or constant columns. * src/pixbuf-render.c (pixbuf_render): Speed up scaling by using the hints from compute_hints(). pixbuf/ChangeLog | 25 ++ pixbuf/examples/bubble/README | 14 + pixbuf/examples/bubble/gtk-2.0/bc-dark.png | Bin 0 -> 63960 bytes pixbuf/examples/bubble/gtk-2.0/bc-light.png | Bin 0 -> 24945 bytes pixbuf/examples/bubble/gtk-2.0/bc.png | Bin 0 -> 63764 bytes pixbuf/examples/bubble/gtk-2.0/bubble-blue.png | Bin 0 -> 836 bytes pixbuf/examples/bubble/gtk-2.0/bubble-parts.xcf | Bin 0 -> 6335 bytes .../bubble/gtk-2.0/triangle_background.png | Bin 0 -> 58238 bytes pixbuf/pixbuf-draw.c | 18 +- pixbuf/pixbuf-render.c | 334 +++++++++++++++++--- pixbuf/pixbuf.h | 6 + 11 files changed, 333 insertions(+), 64 deletions(-) commit 094c5204588c1f4b8e5601368585e98cd82d1e66 Author: Owen Taylor Date: Fri Jan 18 23:14:45 2002 +0000 Fix for changes to draw_focus. Fri Jan 18 18:14:11 2002 Owen Taylor * src/pixbuf-draw.c (draw_focus): Fix for changes to draw_focus. pixbuf/ChangeLog | 4 ++++ pixbuf/pixbuf-draw.c | 9 ++------- 2 files changed, 6 insertions(+), 7 deletions(-) commit 2241522b26de086497565f93b1e365198bde943b Author: Hans Breuer Date: Fri Sep 21 22:33:48 2001 +0000 GtkRcStyle::parse has a GtkSettings parameter now. Pass it through 2001-09-21 Hans Breuer * src/pixbuf-rc-style-c : GtkRcStyle::parse has a GtkSettings parameter now. Pass it through theme_parse_file () to use it gtk_rc_find_pixmap_in_path () * src/pixbuf-draw.c : the font field from GtkStyle is private now, use accessor gtk_style_get_font () * makefile.msc : compile on win32, use it if you have a _real_ fast computer or want to see gtk in slow motion :-) pixbuf/ChangeLog | 12 ++++++++++++ pixbuf/pixbuf-draw.c | 4 ++-- pixbuf/pixbuf-rc-style.c | 22 +++++++++++++--------- 3 files changed, 27 insertions(+), 11 deletions(-) commit 26db3b0ce7888a640bc79ff7d3e55d096acc624f Author: Owen Taylor Date: Thu May 3 09:38:45 2001 +0000 Fix trailing comma on enumeration. (#54071) Thu May 3 05:36:06 2001 Owen Taylor * pixbuf.h: Fix trailing comma on enumeration. (#54071) pixbuf/ChangeLog | 4 ++++ pixbuf/pixbuf.h | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit 678ad8cafb0738a0db6e95561a624c363a730d21 Author: Owen Taylor Date: Thu Mar 15 07:17:55 2001 +0000 Release 0.12 Thu Mar 15 02:07:25 2001 Owen Taylor * configure.in (cflags_set): Release 0.12 * configure.in: Suppress the default action when checking for gtk_style_set_prop_experimental to avoid messing up $LIBS. (#51989) * configure.in: Add -Wall for GCC. * raleigh/raleigh_theme_{draw,main}.c: Couple of trivial warning cleanups. ChangeLog | 13 +++++++++++++ configure.in | 13 +++++++++++-- raleigh/raleigh_theme_draw.c | 2 ++ raleigh/raleigh_theme_main.c | 1 - 4 files changed, 26 insertions(+), 3 deletions(-) commit 99f82fd529307763ab1ad250dc1a99d63608ec62 Author: Michael Natterer Date: Mon Mar 5 16:44:18 2001 +0000 made the "parent_class" pointer static. 2001-03-05 Michael Natterer * src/pixbuf-draw.c: made the "parent_class" pointer static. (Owen, I just commented out the draw methods which don't exist any more to make it compile). pixbuf/ChangeLog | 7 +++++++ pixbuf/pixbuf-draw.c | 14 ++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) commit 9b8d228a4f347293cf1a0e1abaddcf41a5050aad Author: Sven Neumann Date: Tue Feb 20 21:15:31 2001 +0000 use draw_vline method of parent_class, not draw_hline 2001-02-20 Sven Neumann * src/pixbuf-draw.c (draw_vline): use draw_vline method of parent_class, not draw_hline pixbuf/ChangeLog | 5 +++++ pixbuf/pixbuf-draw.c | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 7aa2800ff94359830f006786b9c08eb9ef28a72b Author: Owen Taylor Date: Fri Feb 16 04:41:49 2001 +0000 Release 0.11. Thu Feb 15 23:32:27 2001 Owen Taylor * configure.in (cflags_set): Release 0.11. ChangeLog | 9 + Makefile.am | 2 +- configure.in | 13 +- pixmap/Theme/gtk/Makefile.am | 2 +- raleigh/AUTHORS | 1 + raleigh/COPYING | 482 ------------------------------------------ raleigh/README | 7 + raleigh/autogen.sh | 43 ---- raleigh/configure.in | 33 --- 9 files changed, 29 insertions(+), 563 deletions(-) commit 4ccd900980ae577fbfb7b09ff98361b3f2a25a14 Author: Owen Taylor Date: Sat Feb 10 16:42:51 2001 +0000 Turn on full-size paned handles. Sat Feb 10 08:34:10 2001 Owen Taylor * raleigh_theme_main.c: Turn on full-size paned handles. * raleigh_theme_draw.c: New bitmaps for check/radio button. raleigh/ChangeLog | 17 ++-------- raleigh/configure.in | 2 +- raleigh/raleigh_theme_draw.c | 65 +++++++++++++++++------------------------- raleigh/raleigh_theme_main.c | 11 ++++--- 4 files changed, 37 insertions(+), 58 deletions(-) commit e38008285159c38fb558c89561b0753167d8d343 Author: Owen Taylor Date: Thu Feb 1 23:55:43 2001 +0000 A few updates for GTypePlugin. Wed Nov 15 21:56:28 2000 Owen Taylor * src/pixbuf-*: A few updates for GTypePlugin. pixbuf/ChangeLog | 4 ++++ pixbuf/Makefile.am | 3 +-- pixbuf/pixbuf-draw.c | 10 +++++----- pixbuf/pixbuf-main.c | 8 ++++---- pixbuf/pixbuf-rc-style.c | 10 +++++----- pixbuf/pixbuf-rc-style.h | 2 +- pixbuf/pixbuf-render.c | 10 ++++++++-- pixbuf/pixbuf-style.h | 2 +- 8 files changed, 29 insertions(+), 20 deletions(-) commit ec0d9beb05ca4d3fbc85aa0256dc4c6606b9f209 Author: Owen Taylor Date: Wed Jan 17 18:41:08 2001 +0000 Remove references to /home/raster. (RH bugzilla #20444) Wed Jan 17 13:40:08 2001 Owen Taylor * {notif,redmond95}/Theme/gtk/gtkrc: Remove references to /home/raster. (RH bugzilla #20444) ChangeLog | 5 +++++ notif/Theme/gtk-2.0/gtkrc | 4 ---- notif/Theme/gtk/gtkrc | 4 ---- redmond95/Theme/gtk-2.0/gtkrc | 4 ---- redmond95/Theme/gtk/gtkrc | 4 ---- 5 files changed, 5 insertions(+), 16 deletions(-) commit 6aa4f6336de80e153e8163c7ed212fd05e3b5a51 Author: Owen Taylor Date: Tue Nov 21 23:37:02 2000 +0000 Initial import commit baa5398c36d0748bf4b9c6d5c523a2a14f22c20f Author: Owen Taylor Date: Tue Nov 21 23:37:02 2000 +0000 Initial revision raleigh/.cvsignore | 12 + raleigh/COPYING | 482 +++++++++++++++++++++++++++ raleigh/ChangeLog | 18 + raleigh/Makefile.am | 15 + raleigh/Theme/.cvsignore | 2 + raleigh/Theme/Makefile.am | 6 + raleigh/Theme/README.html | 8 + raleigh/Theme/gtk/.cvsignore | 2 + raleigh/Theme/gtk/Makefile.am | 5 + raleigh/Theme/gtk/gtkrc | 20 ++ raleigh/autogen.sh | 43 +++ raleigh/configure.in | 33 ++ raleigh/raleigh.h | 17 + raleigh/raleigh_theme_draw.c | 726 +++++++++++++++++++++++++++++++++++++++++ raleigh/raleigh_theme_main.c | 189 +++++++++++ 15 files changed, 1578 insertions(+), 0 deletions(-) commit 91783794f6cc3ef05041da990fe1d8b2f99924ed Author: Owen Taylor Date: Tue Jul 18 16:21:33 2000 +0000 Updates to work with GTK+-2.0 theme engine architecture. It won't even Tue Jul 18 12:13:19 2000 Owen Taylor Updates to work with GTK+-2.0 theme engine architecture. It won't even sort of work with GTK+-1.2 any more. * configure.in src/Makefile.am: Look for GTK+-2.0, install engine into GTK+-2.0 location. * src/pixbuf-style.h src/pixbuf-rc-style.[ch]: New files for GtkRcStyle and GtkStyle subclasses. Parsing, etc, moves to pixbuf-rc-style.[ch] * src/pixbuf-draw.c: Chain up to parent implementation when images aren't found for a certain element. pixbuf/ChangeLog | 15 + pixbuf/Makefile.am | 5 +- pixbuf/pixbuf-draw.c | 733 ++++++++++++++++++++++------------------ pixbuf/pixbuf-main.c | 842 +--------------------------------------------- pixbuf/pixbuf-rc-style.c | 796 +++++++++++++++++++++++++++++++++++++++++++ pixbuf/pixbuf-rc-style.h | 49 +++ pixbuf/pixbuf-style.h | 49 +++ pixbuf/pixbuf.h | 6 - 8 files changed, 1334 insertions(+), 1161 deletions(-) commit 467ec26f06f1cc50bdd5e3010d54ecc616533515 Author: Owen Taylor Date: Sun Jul 9 22:18:21 2000 +0000 Add -Wall for gcc. Sun Jul 9 18:15:58 2000 Owen Taylor * configure.in (ACLOCAL): Add -Wall for gcc. * src/pixbuf-render.c (pixbuf_render): Fix problem using gdk_rectangle_intersect() from GTK+-1.2. * src/pixbuf-render.c src/pixbuf-draw.c: Remove direct access to pixbuf internals. pixbuf/ChangeLog | 10 ++++ pixbuf/Makefile.am | 2 +- pixbuf/pixbuf-draw.c | 14 ++++--- pixbuf/pixbuf-render.c | 110 ++++++++++++++++++++++++++++------------------- 4 files changed, 84 insertions(+), 52 deletions(-) commit fda376585b55a26ba3a430b83c31b8bfaebb691f Author: Owen Taylor Date: Mon Mar 6 18:47:32 2000 +0000 Moved into docs/ subdir Mon Mar 6 11:44:58 2000 Owen Taylor * docs/gap-geometry.fig: Moved into docs/ subdir * Makefile.am configure.in autogen.sh src/Makefile.am: automakify * src/pixbuf.h src/pixbuf-render.c src/pixbuf-draw.c src/pixbuf-main.c: Move sources into subdir and rename. pixbuf/.cvsignore | 6 ++++++ pixbuf/ChangeLog | 11 +++++++++++ pixbuf/Makefile.am | 8 ++++---- pixbuf/pixbuf-draw.c | 2 +- pixbuf/pixbuf-main.c | 2 +- pixbuf/pixbuf-render.c | 2 +- 6 files changed, 24 insertions(+), 7 deletions(-) commit e4da37a2290d82eea41ac92290f9730188d8d97b Author: Owen Taylor Date: Mon Mar 6 16:39:14 2000 +0000 Start automake-ifying pixbuf/Makefile.am | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) commit f52cadd202c8940fc298bb2223d5fda0cbd7bd5d Author: Owen Taylor Date: Mon Mar 6 16:12:22 2000 +0000 Handle drawing transparency without a mask correctly. Mon Mar 6 11:02:07 2000 Owen Taylor * pixmap_theme_pixbuf.c: Handle drawing transparency without a mask correctly. * pixmap_theme_main.c pixmap_theme_draw.c: Remove duplicate includes. pixbuf/ChangeLog | 8 ++++++++ pixbuf/pixbuf-draw.c | 11 +++++------ pixbuf/pixbuf-main.c | 3 +-- pixbuf/pixbuf-render.c | 21 +++++---------------- pixbuf/pixbuf.h | 22 ++++++++++++++++++++++ 5 files changed, 41 insertions(+), 24 deletions(-) commit 08f6172ada7912529518bd779214c1d0cd3a578f Author: Tor Lillqvist Date: Sun Feb 13 20:30:41 2000 +0000 New file, for building with MSVC. 2000-02-13 Tor Lillqvist * makefile.msc: New file, for building with MSVC. * README.win32: New file. ChangeLog | 9 +++-- Makefile.am | 2 +- README.win32 | 6 +++ makefile.msc | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+), 4 deletions(-) commit c9ffc1add6a87db470fce305c8a5877485250795 Author: Tor Lillqvist Date: Sun Feb 13 20:27:06 2000 +0000 New file, for building on Windows without auto* and libtool. 2000-02-13 Tor Lillqvist * makefile.cygwin: New file, for building on Windows without auto* and libtool. * Makefile.am (EXTRA_DIST): Distribute it. * metal_theme_main.c: No need to include gdkx.h. * Theme/gtk/gtkrc: Use point size, not pixel size, in font spec. ChangeLog | 7 +++ Makefile.am | 2 +- makefile.cygwin | 96 +++++++++++++++++++++++++++++++++++++++++ metal/ChangeLog | 4 ++ metal/metal_theme_main.c | 1 - pixmap/ChangeLog | 4 ++ pixmap/Theme/gtk/gtkrc | 2 +- redmond95/ChangeLog | 4 ++ redmond95/Theme/gtk-2.0/gtkrc | 2 +- redmond95/Theme/gtk/gtkrc | 2 +- 10 files changed, 119 insertions(+), 5 deletions(-) commit 9e03a598ad8357fb0985f81c5b56acd4afe99751 Author: Owen Taylor Date: Mon Feb 7 02:36:39 2000 +0000 Initial import of gdk-pixbuf-based engine commit 96a0cf5e3cdfbbcec1bdd5b2a5a072f4a7cc519a Author: Owen Taylor Date: Mon Feb 7 02:36:39 2000 +0000 Initial revision pixbuf/ChangeLog | 88 ++++ pixbuf/README | 17 + pixbuf/pixbuf-draw.c | 1038 ++++++++++++++++++++++++++++++++++++++++++++++++ pixbuf/pixbuf-main.c | 878 ++++++++++++++++++++++++++++++++++++++++ pixbuf/pixbuf-render.c | 356 +++++++++++++++++ pixbuf/pixbuf.h | 172 ++++++++ 6 files changed, 2549 insertions(+), 0 deletions(-) commit 612c1fe2535d2b46e80b6fef28868ed51726a8fd Author: Manish Singh Date: Thu Feb 3 01:11:30 2000 +0000 acinclude.m4 config.guess config.sub ltconfig upgrade to libtool 1.3.4 * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release) -Yosh ChangeLog | 8 + acinclude.m4 | 22 ++- config.guess | 169 ++++++++++++++++++------ config.sub | 317 +++++++++++++++++++++++++++++++++++++++------ ltconfig | 408 +++++++++++++++++++++++++++++++++++++++++----------------- ltmain.sh | 314 +++++++++++++++++++++++++++++++-------------- 6 files changed, 934 insertions(+), 304 deletions(-) commit c09678ed688b06825e142071647c70a9ae0fb878 Author: Owen Taylor Date: Tue Jan 25 15:40:15 2000 +0000 Up version, make a 0.10 release including workaround hack for pixmap Tue Jan 25 10:58:11 2000 Owen Taylor * configure.in: Up version, make a 0.10 release including workaround hack for pixmap eventbox backgrounds. ChangeLog | 5 +++++ configure.in | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit a31990d149ea42e6078f74fa3f851ba0ff9641b7 Author: Owen Taylor Date: Tue Jan 25 15:35:18 2000 +0000 Workaround hack to fix the fact that most pixmap themes are broken for Tue Jan 25 10:55:06 2000 Owen Taylor * pixmap_theme_draw.c (draw_flat_box): Workaround hack to fix the fact that most pixmap themes are broken for eventboxes for GTK+-1.2.x. pixmap/ChangeLog | 6 ++++++ pixmap/pixmap_theme_draw.c | 3 +++ 2 files changed, 9 insertions(+), 0 deletions(-) commit f7bb763a7687fb91ba919512c3c377f58827ab3d Author: Elliot Lee Date: Wed Dec 22 16:45:05 1999 +0000 0.9 has been sitting in my local tree for too long. 0.9 has been sitting in my local tree for too long. configure.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 8db07598fe93691c164aa6bfa8af7ab30987953d Author: Martin Baulig Date: Thu Nov 25 20:26:42 1999 +0000 Use g_new0 (), not g_new (). pixmap/pixmap_theme_main.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 3ee48b35b5865c5b3c9b28deced2c5c83c8f9f0f Author: Martin Baulig Date: Mon Nov 22 23:06:26 1999 +0000 Really copy the `src_data->img_list', not just the pointer that points to 1999-11-22 Martin Baulig * pixmap_theme_main.c (theme_duplicate_style): Really copy the `src_data->img_list', not just the pointer that points to it. pixmap/ChangeLog | 5 +++++ pixmap/pixmap_theme_main.c | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletions(-) commit 29754e533b0e245ddb579cd96539caf2a2be8303 Author: Elliot Lee Date: Tue Oct 5 20:33:05 1999 +0000 0.8 (aka "bug fix from owen") 0.8 (aka "bug fix from owen") configure.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 298d74b5b567765438e5eac331654fd03d375c52 Author: Owen Taylor Date: Tue Oct 5 19:04:13 1999 +0000 Don't set background pixmap on pixmaps. Tue Oct 5 15:13:29 1999 Owen Taylor * pixmap_theme_draw.c (apply_theme_image): Don't set background pixmap on pixmaps. pixmap/ChangeLog | 5 +++++ pixmap/pixmap_theme_draw.c | 3 +++ 2 files changed, 8 insertions(+), 0 deletions(-) commit 680e65e2effa8d0c4ead46f5864977bc4d8d075d Author: Elliot Lee Date: Tue Sep 21 21:12:19 1999 +0000 0.7 (aka "metal theme bugfix") (aka "what 0.6 should have been") 0.7 (aka "metal theme bugfix") (aka "what 0.6 should have been") configure.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9457eb825436830aa320613b11218a425ddc3dcc Author: Elliot Lee Date: Tue Sep 21 21:10:48 1999 +0000 BUGFIX #1454 - switching away from metal theme. BUGFIX #1454 - switching away from metal theme. metal/ChangeLog | 4 +++ metal/metal_theme_main.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 0 deletions(-) commit 5e264243aefeb0ad4deced70d5b9acdf31197450 Author: Elliot Lee Date: Thu Sep 9 21:50:10 1999 +0000 0.6 0.6 Makefile.am | 4 +--- configure.in | 2 +- gtk-engines.spec.in | 12 +++++------- 3 files changed, 7 insertions(+), 11 deletions(-) commit 98a3b2f99985662e3e563e0c519c3df8328f7235 Author: Elliot Lee Date: Thu Aug 19 20:18:48 1999 +0000 do make -j properly, plus allow CUSTOM_RELEASE gtk-engines.spec.in | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 4d4b5d400398df0e2dcab9ed55fbdc81c0cbe1e9 Author: James Henstridge Date: Sun May 30 08:45:11 1999 +0000 make the theme engines link against gtk. 1999-05-30 James Henstridge * configure.in, */Makefile.am: make the theme engines link against gtk. ChangeLog | 5 +++++ configure.in | 4 ---- metal/Makefile.am | 2 ++ notif/Makefile.am | 2 ++ redmond95/Makefile.am | 2 ++ 5 files changed, 11 insertions(+), 4 deletions(-) commit 3b16605f5f4a82d3fcde8da25da9272ffc75e538 Author: Manish Singh Date: Sat May 1 19:12:03 1999 +0000 libtool 1.3 -Yosh ChangeLog | 8 + acinclude.m4 | 339 ++++++++------------------------------ config.guess | 68 ++++++-- config.sub | 34 +++- ltconfig | 516 ++++++++++++++++++++++++++++++++++------------------------ ltmain.sh | 479 +++++++++++++++++++++++++++++++++--------------------- 6 files changed, 751 insertions(+), 693 deletions(-) commit 6c6ea0bb95e27bbc8f54db96ff2c79fece759433 Author: Manish Singh Date: Wed Apr 21 17:38:31 1999 +0000 shut up cvs -Yosh .cvsignore | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 404bde298728602fdc6a51fc47f318b92bf6f54b Author: Carsten Haitzler Date: Sat Apr 10 21:15:37 1999 +0000 redraw bug in metal theme fixed redraw bug in metal theme fixed metal/metal_style.c | 35 ++++++++++++++++++----------------- metal/metal_theme_draw.c | 35 ++++++++++++++++++----------------- 2 files changed, 36 insertions(+), 34 deletions(-) commit 3cb59f582b6c5ab7de600c6308873aa725c71ee4 Author: Manish Singh Date: Tue Mar 30 05:18:27 1999 +0000 libtool 1.2f -Yosh ChangeLog | 8 + acinclude.m4 | 222 ++++++++----- config.guess | 67 +++-- config.sub | 31 ++- ltconfig | 1028 ++++++++++++++++++++++++++++++++++++++++++++++------------ ltmain.sh | 942 +++++++++++++++++++++++++++++++++++------------------ 6 files changed, 1661 insertions(+), 637 deletions(-) commit a1b6c7634e129ea40ce225cc3a8c4603dfb68220 Author: Owen Taylor Date: Fri Mar 12 15:47:45 1999 +0000 [ commit old version number change ] Fri Feb 26 20:38:53 1999 Owen Taylor * configure.in: Up version number to 0.5 ChangeLog | 4 ++++ configure.in | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit 4a82c0f36c3a7113920a87dd156d3181af11c856 Author: Carsten Haitzler Date: Thu Feb 25 22:25:48 1999 +0000 add copyright. add copyright. README | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) commit 8b36df7af48fd26e7c344e7556b3a9963ef557fb Author: Tor Lillqvist Date: Wed Feb 24 20:15:44 1999 +0000 Declare fuzzy_match before use. Make it static. metal/ChangeLog | 5 +++++ metal/metal_style.c | 6 +++++- metal/metal_theme_draw.c | 6 +++++- 3 files changed, 15 insertions(+), 2 deletions(-) commit bd2da112268c92bf27068bfc06ade195cda8b1c2 Author: Michael Fulbright Date: Sun Feb 21 21:03:34 1999 +0000 Spec file autogenerated and updated Dr Mike Makefile.am | 6 +++- configure.in | 1 + gtk-engines.spec | 71 --------------------------------------------------- gtk-engines.spec.in | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+), 72 deletions(-) commit 6bb8fa9c46b16938604105f3d0fdef9161c06ac6 Author: Justin Maurer Date: Mon Feb 15 23:23:25 1999 +0000 converted c++ comments to c comments metal/metal_style.c | 176 +++++++++++++++++++++++----------------------- metal/metal_theme_draw.c | 176 +++++++++++++++++++++++----------------------- 2 files changed, 176 insertions(+), 176 deletions(-) commit 07aafa4755c4f70ef202c1af7ba6b8d873d65c4e Author: Raja R Harinath Date: Sun Feb 14 22:49:07 1999 +0000 Handle the case when files are deleted. * Theme/gtk/Makefile.am.in (Makefile.am): Handle the case when files are deleted. pixmap/ChangeLog | 5 +++++ pixmap/Theme/gtk/Makefile.am | 8 +++++++- pixmap/Theme/gtk/Makefile.am.in | 8 +++++++- 3 files changed, 19 insertions(+), 2 deletions(-) commit e0f7ee7137e0dbe75e83a51340b43f4e76b08009 Author: Owen Taylor Date: Fri Feb 12 04:28:24 1999 +0000 Up version number to 0.4. Thu Feb 11 23:09:55 1999 Owen Taylor * configure.in (cflags_set): Up version number to 0.4. * **/Makefile.am: Removed all references to makemakefile.sh ChangeLog | 7 +++++++ configure.in | 2 +- gtk-engines.spec | 2 +- metal/Theme/Makefile.am | 2 +- metal/Theme/gtk-2.0/Makefile.am | 2 +- metal/Theme/gtk/Makefile.am | 2 +- notif/Theme/Makefile.am | 2 +- notif/Theme/gtk-2.0/Makefile.am | 2 +- notif/Theme/gtk/Makefile.am | 2 +- pixmap/Theme/Makefile.am | 2 +- redmond95/Theme/Makefile.am | 2 +- redmond95/Theme/gtk-2.0/Makefile.am | 2 +- redmond95/Theme/gtk/Makefile.am | 2 +- 13 files changed, 19 insertions(+), 12 deletions(-) commit 77b45dec69fe4c18fecf04f35bbb9368ec26307b Author: Owen Taylor Date: Fri Feb 12 04:00:11 1999 +0000 Draw some box if widget == NULL. Thu Feb 11 22:36:38 1999 Owen Taylor * metal_theme_draw.c (draw_box): Draw some box if widget == NULL. * metal_theme_draw.c (draw_shadow): Fix handling of frames with SHADOW_NONE; * Theme/gtk/gtkrc: Remove cruft, introduce separate style for scrollbars with thickness = 1. * metal_theme_main.c metal_theme_draw.c: Remove hack to set border thickness by introducing a thickness parameter. metal/ChangeLog | 15 ++++ metal/Theme/gtk-2.0/gtkrc | 159 +++----------------------------------------- metal/Theme/gtk/gtkrc | 159 +++----------------------------------------- metal/metal_style.c | 34 ++------- metal/metal_theme_draw.c | 34 ++------- metal/metal_theme_main.c | 148 +++++++++++++++++++++++++++++++++++++---- pixmap/ChangeLog | 5 ++ pixmap/pixmap_theme_main.c | 1 + 8 files changed, 194 insertions(+), 361 deletions(-) commit 0eec5d7b0ce06de4530ebdb395679f39dc39ffd1 Author: Raja R Harinath Date: Thu Feb 4 00:24:28 1999 +0000 Update to reflect cosmetic changes in Makefile.am.in. BTW, even though this is a generated file, it is a _VERY BAD IDEA_ to delete it from the CVS repository. pixmap/Theme/gtk/Makefile.am | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit e0e1d802f6547f842048d1c4ec070030353e04d9 Author: Raja R Harinath Date: Thu Feb 4 00:17:59 1999 +0000 All these were "useless", except for pixmap/Theme/gtk/makemakefile.sh. I've committed an alternative for this, so even that is unnecessary. - Hari metal/Theme/gtk-2.0/makemakefile.sh | 13 ------------- metal/Theme/gtk/makemakefile.sh | 13 ------------- metal/Theme/makemakefile.sh | 15 --------------- notif/Theme/gtk-2.0/makemakefile.sh | 13 ------------- notif/Theme/gtk/makemakefile.sh | 13 ------------- notif/Theme/makemakefile.sh | 15 --------------- pixmap/Theme/gtk/makemakefile.sh | 13 ------------- pixmap/Theme/makemakefile.sh | 15 --------------- redmond95/Theme/gtk-2.0/makemakefile.sh | 13 ------------- redmond95/Theme/gtk/makemakefile.sh | 13 ------------- redmond95/Theme/makemakefile.sh | 15 --------------- 11 files changed, 0 insertions(+), 151 deletions(-) commit 207b679ff536bd3b5bde9b4d0771a13f8198fa5f Author: Raja R Harinath Date: Thu Feb 4 00:14:54 1999 +0000 New file. Theme/gtk/Makefile.am is generated from this file when new *.png * Theme/gtk/Makefile.am.in: New file. Theme/gtk/Makefile.am is generated from this file when new *.png files are added. pixmap/ChangeLog | 5 +++++ pixmap/Theme/gtk/Makefile.am | 21 ++++++++++++--------- pixmap/Theme/gtk/Makefile.am.in | 15 +++++++++++++++ 3 files changed, 32 insertions(+), 9 deletions(-) commit b88d6e78c72bc387049f86455890081ff6e621a7 Author: Manish Singh Date: Tue Feb 2 14:25:08 1999 +0000 acinclude.m4 config.guess config.sub ltconfig use CVS libtool 1.2e. Tell * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: use CVS libtool 1.2e. Tell me what breaks. * pixmap/Makefile.am * metal/Makefile.am * notif/Makefile.am * redmond95/Makefile.am: use -module and -avoid-version flags * configure.in: minor clean ups -Yosh .cvsignore | 2 - ChangeLog | 15 + acinclude.m4 | 302 ++++--- autogen.sh | 2 +- config.guess | 973 ++++++++++++++++++++ config.sub | 956 ++++++++++++++++++++ configure.in | 14 +- ltconfig | 723 +++++++++------- ltmain.sh | 2380 ++++++++++++++++++++++++++++-------------------- metal/Makefile.am | 5 +- notif/Makefile.am | 4 +- pixmap/Makefile.am | 8 +- redmond95/Makefile.am | 5 +- 13 files changed, 3934 insertions(+), 1455 deletions(-) commit c7eaeae9bda9346f00831435c8a0425ef7ee3700 Author: Manish Singh Date: Tue Feb 2 13:51:39 1999 +0000 Remove autogenned files -Yosh install-sh | 238 ------------------------------------------------------------ 1 files changed, 0 insertions(+), 238 deletions(-) commit 7c10365db04a274500fcb5f55005ef8643eca8d9 Author: Manish Singh Date: Thu Jan 28 05:24:21 1999 +0000 new file, to go with libtool * acinclude.m4: new file, to go with libtool * ltmain.sh * ltconfig: better file magic regexp for Linux libs -Yosh ChangeLog | 7 + acinclude.m4 | 543 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ltconfig | 2 +- ltmain.sh | 4 +- 4 files changed, 553 insertions(+), 3 deletions(-) commit c26ea99e7a1827507d281fe2f144438acb84fc4b Author: Miguel de Icaza Date: Sun Jan 24 03:03:18 1999 +0000 Turn on pixmap cache. 1999-01-23 Miguel de Icaza * pixmap_theme_main.c (theme_init): Turn on pixmap cache. pixmap/ChangeLog | 4 ++++ pixmap/pixmap_theme_main.c | 7 +++++++ 2 files changed, 11 insertions(+), 0 deletions(-) commit 14e8c3047f7353c23700b36b4b1013274511b08a Author: Owen Taylor Date: Mon Jan 18 19:04:36 1999 +0000 Wrote one Added Randy Gordon Mon Jan 18 14:08:14 1999 Owen Taylor * README: Wrote one * AUTHORS: Added Randy Gordon * gtk-engines.spec: Up version number AUTHORS | 1 + ChangeLog | 7 ++++++ README | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ gtk-engines.spec | 2 +- 4 files changed, 68 insertions(+), 1 deletions(-) commit b3f49afa28fdcbaec9389ab1095d03f8eae7d40e Author: Owen Taylor Date: Mon Jan 18 18:50:18 1999 +0000 Up version for an 0.2 release. Mon Jan 18 13:46:41 1999 Owen Taylor * configure.in: Up version for an 0.2 release. ChangeLog | 4 ++++ configure.in | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) commit 4cffea2ea7d1c5836112cd774a27734705424c03 Author: Owen Taylor Date: Mon Jan 18 18:38:23 1999 +0000 Remove -lgdk, -lgtk, and -lglib from GDK_IMLIB_LIBS. Mon Jan 18 11:25:25 1999 Owen Taylor * configure.in: Remove -lgdk, -lgtk, and -lglib from GDK_IMLIB_LIBS. * redmond95/Makefile.am notif/Makefile.am metal/Makefile.am pixmap/Makefile.am: Don't link to GTK_LIBS, since we want to use the main programs copy of GTK+. * */*_theme_main.c: Add a gtk_module_check_init() function to check if we are compatible with the version of GTK+ of the main executable. Removed some debugging printf's. Mon Jan 18 13:37:23 1999 Owen Taylor * Theme/gtk/gtkrc: Give buttons a gray background color so they look a little less funny when initially drawing. ChangeLog | 12 +++++++++++ configure.in | 4 +++ metal/ChangeLog | 4 +++ metal/Makefile.am | 1 - metal/metal_theme_main.c | 41 +++++++++++++++++++++++++------------- notif/Makefile.am | 1 - notif/notif_theme_main.c | 19 +++++++++++++--- pixmap/ChangeLog | 6 +++++ pixmap/Makefile.am | 2 +- pixmap/Theme/gtk/gtkrc | 2 + pixmap/pixmap_theme_main.c | 14 +++++++++++++ redmond95/Makefile.am | 1 - redmond95/redmond95_theme_main.c | 18 +++++++++++++-- 13 files changed, 100 insertions(+), 25 deletions(-) commit f1094b1b0e27722d6aace553f28ec15c0a490ea6 Author: Manish Singh Date: Thu Jan 14 00:32:48 1999 +0000 ltconfig House! Techno! Libtool! (do the 1.2d dance baby) * ltconfig * ltmain.sh: House! Techno! Libtool! (do the 1.2d dance baby) -Yosh ChangeLog | 5 + ltconfig | 832 ++++++++++++++++++++++++++++++++++++++++++++++++----------- ltmain.sh | 859 +++++++++++++++++++++++++++++++++++++++++++++++-------------- 3 files changed, 1357 insertions(+), 339 deletions(-) commit 207a0e4d09246fe5371cb9ef703d2ed1ecd7d541 Author: Owen Taylor Date: Wed Jan 13 23:56:49 1999 +0000 Fixed pervasive mis-bracketing that was causing drawing if the drawn Wed Jan 13 18:58:25 1999 Owen Taylor * pixmap_theme_draw.c: Fixed pervasive mis-bracketing that was causing drawing if the drawn region and clipping region did NOT intersect, and a couple of errors in computing source and destination regions. pixmap/ChangeLog | 8 + pixmap/pixmap_theme_draw.c | 390 ++++++++++++++++++++++++-------------------- 2 files changed, 224 insertions(+), 174 deletions(-) commit 75e4befbfd82665481cab97e5223e5bd80954846 Author: Elliot Lee Date: Wed Jan 6 17:53:46 1999 +0000 Allow srcdir != builddir Allow srcdir != builddir autogen.sh | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) commit f575bb8f9d7e6c39a162d8e1c42c2c77569ca166 Author: Manish Singh Date: Sun Jan 3 22:15:30 1999 +0000 don't try to build static libs by default, it doesn't make much sense * configure.in: don't try to build static libs by default, it doesn't make much sense * redmond95/Makefile.am * notif/Makefile.am * metal/Makefile.am: don't link to $GDK_IMLIB_LIBS -Yosh ChangeLog | 9 +++++++++ configure.in | 14 +++++++++++--- metal/Makefile.am | 4 ++-- notif/Makefile.am | 4 ++-- redmond95/Makefile.am | 4 ++-- 5 files changed, 26 insertions(+), 9 deletions(-) commit e0031123b4514c86b35b0a6d264a3132c48e5196 Author: Carsten Haitzler Date: Wed Dec 16 20:29:20 1998 +0000 add spec file for make dist. add spec file for make dist. Makefile.am | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 11883f2af74814e7d072c95a2e448c0bcdd2637f Author: EST 1998 The Rasterman Date: Wed Dec 16 17:55:58 1998 +0000 removed win95 and Motif themes - replace with Notif and Redmond95 - Wed Dec 16 12:52:55 EST 1998 The Rasterman * removed win95 and Motif themes - replace with Notif and Redmond95 - otherwise the same. ChangeLog | 4 + Makefile.am | 2 +- configure.in | 12 +- gtk-engines.spec | 8 +- motif/.cvsignore | 12 - motif/ChangeLog | 18 - motif/Makefile.am | 11 - motif/Theme/.cvsignore | 2 - motif/Theme/Makefile.am | 6 - motif/Theme/README.html | 1 - motif/Theme/gtk/.cvsignore | 2 - motif/Theme/gtk/Makefile.am | 5 - motif/Theme/gtk/gtkrc | 154 --- motif/Theme/gtk/makemakefile.sh | 13 - motif/Theme/makemakefile.sh | 15 - motif/motif_theme_draw.c | 1689 ------------------------------- motif/motif_theme_main.c | 104 -- notif/.cvsignore | 12 + notif/ChangeLog | 18 + notif/Makefile.am | 11 + notif/Theme/.cvsignore | 2 + notif/Theme/Makefile.am | 6 + notif/Theme/README.html | 12 + notif/Theme/gtk-2.0/.cvsignore | 2 + notif/Theme/gtk-2.0/Makefile.am | 5 + notif/Theme/gtk-2.0/gtkrc | 154 +++ notif/Theme/gtk-2.0/makemakefile.sh | 13 + notif/Theme/gtk/.cvsignore | 2 + notif/Theme/gtk/Makefile.am | 5 + notif/Theme/gtk/gtkrc | 154 +++ notif/Theme/gtk/makemakefile.sh | 13 + notif/Theme/makemakefile.sh | 15 + notif/notif_theme_draw.c | 1689 +++++++++++++++++++++++++++++++ notif/notif_theme_main.c | 104 ++ redmond95/.cvsignore | 12 + redmond95/ChangeLog | 21 + redmond95/Makefile.am | 11 + redmond95/Theme/.cvsignore | 2 + redmond95/Theme/Makefile.am | 7 + redmond95/Theme/README.html | 12 + redmond95/Theme/gtk-2.0/.cvsignore | 2 + redmond95/Theme/gtk-2.0/Makefile.am | 6 + redmond95/Theme/gtk-2.0/gtkrc | 162 +++ redmond95/Theme/gtk-2.0/makemakefile.sh | 13 + redmond95/Theme/gtk/.cvsignore | 2 + redmond95/Theme/gtk/Makefile.am | 6 + redmond95/Theme/gtk/gtkrc | 162 +++ redmond95/Theme/gtk/makemakefile.sh | 13 + redmond95/Theme/makemakefile.sh | 15 + redmond95/redmond95_theme_draw.c | 1624 +++++++++++++++++++++++++++++ redmond95/redmond95_theme_main.c | 104 ++ redmond95/redmond_style.c | 1624 +++++++++++++++++++++++++++++ win95/.cvsignore | 12 - win95/ChangeLog | 21 - win95/Makefile.am | 11 - win95/Theme/.cvsignore | 2 - win95/Theme/ICON.png | Bin 2546 -> 0 bytes win95/Theme/Makefile.am | 7 - win95/Theme/README.html | 1 - win95/Theme/gtk/.cvsignore | 2 - win95/Theme/gtk/Makefile.am | 6 - win95/Theme/gtk/gtkrc | 162 --- win95/Theme/gtk/makemakefile.sh | 13 - win95/Theme/makemakefile.sh | 15 - win95/win95_theme_draw.c | 1624 ----------------------------- win95/win95_theme_main.c | 104 -- 66 files changed, 6030 insertions(+), 4023 deletions(-) commit 8cbd018c4f64d8b8b31387583abf599cf2b9d8bf Author: Owen Taylor Date: Wed Dec 16 07:09:48 1998 +0000 Add back metal_theme.h. (Missed in last commit) metal/metal_theme.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) commit 29b94b80ce87fab86fb4c7dd8b1ca9ec6ca9e277 Author: Owen Taylor Date: Wed Dec 16 04:44:58 1998 +0000 Integrated in changes newer version from Randy Gordon (v 0.9). Much Tue Dec 15 23:42:52 1998 Owen Taylor * metal_theme_draw.c metal_theme_main.h metal_theme.h: Integrated in changes newer version from Randy Gordon (v 0.9). Much spiffier scrollbars, and ranges. metal/ChangeLog | 6 + metal/Makefile.am | 1 + metal/metal_style.c | 2719 ++++++++++++++++++++++++++++++++-------------- metal/metal_theme_draw.c | 2719 ++++++++++++++++++++++++++++++++-------------- metal/metal_theme_main.c | 207 +++- 5 files changed, 3961 insertions(+), 1691 deletions(-) commit d5d0ef3b9ac4f6235f1925b2cfa5648d35d74511 Author: Michael Fulbright Date: Mon Dec 14 19:51:28 1998 +0000 Numerous changes so that make distcheck will work. Dr Mike metal/Theme/Makefile.am | 3 ++- metal/Theme/gtk-2.0/Makefile.am | 3 ++- metal/Theme/gtk/Makefile.am | 3 ++- motif/Theme/Makefile.am | 3 ++- motif/Theme/gtk/Makefile.am | 3 ++- pixmap/Makefile.am | 4 +++- pixmap/Theme/Makefile.am | 3 ++- pixmap/Theme/gtk/Makefile.am | 11 ++++++++++- win95/Theme/Makefile.am | 4 +++- win95/Theme/gtk/Makefile.am | 4 +++- 10 files changed, 31 insertions(+), 10 deletions(-) commit 132853929c7fd159b20a8ba60984e66d0162f26c Author: Michael Fulbright Date: Sat Nov 21 03:22:20 1998 +0000 Yeah definately like the old days at RH Dr Mike gtk-engines.spec | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) commit f5534836a32b133ea4c097a21b41e908a8344d2f Author: Michael Fulbright Date: Sat Nov 21 03:20:02 1998 +0000 Man this reminds me of the old days at RH... Dr Mike gtk-engines.spec | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 5bb4340d6ffa133d5b46f114c52c8c1184a4df85 Author: Michael Fulbright Date: Fri Nov 20 18:02:30 1998 +0000 Spec file for gtk-engines Dr Mike gtk-engines.spec | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 deletions(-) commit 83f4a434b266f7dbe2aadd1ea1ce70b9fa662936 Author: Carsten Haitzler Date: Wed Nov 11 22:08:24 1998 +0000 fixed visual problem for imlib (pixmap theme)... :) fixed visual problem for imlib (pixmap theme)... :) pixmap/pixmap_theme_main.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit c5bdfc1b0d160bde305370680478e058b32be0ed Author: Arturo Espinosa Date: Mon Nov 9 16:55:10 1998 +0000 Include math.h in several places where it was missing - Federico metal/ChangeLog | 5 +++++ metal/metal_style.c | 3 ++- metal/metal_theme_draw.c | 3 ++- motif/ChangeLog | 4 ++++ motif/motif_theme_draw.c | 1 + pixmap/ChangeLog | 4 ++++ pixmap/pixmap_theme_draw.c | 2 +- win95/ChangeLog | 4 ++++ win95/win95_theme_draw.c | 1 + 9 files changed, 24 insertions(+), 3 deletions(-) commit 00987038b86524bfe9c3f34e091cd6f8b51bd44d Author: Manish Singh Date: Mon Nov 9 04:55:13 1998 +0000 no more subdirs -Yosh autogen.sh | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) commit 0c30e1c4dd67ebf61600f06da1b29c3686c4e881 Author: Raja R Harinath Date: Sat Nov 7 23:11:04 1998 +0000 Update to new directory contents. Remove. * Theme/gtk/Makefile.am (theme_DATA): Update to new directory contents. * configure.in: Remove. pixmap/ChangeLog | 6 +++++ pixmap/Theme/gtk/Makefile.am | 2 +- pixmap/autogen.sh | 36 ----------------------------- pixmap/configure.in | 51 ------------------------------------------ 4 files changed, 7 insertions(+), 88 deletions(-) commit a74f460c11efb38ba6ebb0acebe844953d0908d3 Author: Raja R Harinath Date: Sat Nov 7 23:10:39 1998 +0000 Removed. * configure.in: Removed. metal/ChangeLog | 4 ++++ metal/autogen.sh | 36 ------------------------------------ metal/configure.in | 51 --------------------------------------------------- motif/ChangeLog | 4 ++++ motif/autogen.sh | 36 ------------------------------------ motif/configure.in | 51 --------------------------------------------------- win95/ChangeLog | 4 ++++ win95/autogen.sh | 36 ------------------------------------ win95/configure.in | 51 --------------------------------------------------- 9 files changed, 12 insertions(+), 261 deletions(-) commit ac88060327d9f13ef888892ebb302f90769988e2 Author: Raja R Harinath Date: Sat Nov 7 23:09:39 1998 +0000 Unify all subdir `configure.in's here. * configure.in: Unify all subdir `configure.in's here. ChangeLog | 4 ++++ configure.in | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 55 insertions(+), 2 deletions(-) commit ee6aed7f9c03e2f533f52631076560a8cfc21a97 Author: Owen Taylor Date: Fri Nov 6 22:27:39 1998 +0000 Removed some debugging printf's. Fri Nov 6 17:26:12 1998 Owen Taylor * pixmap_theme_main.c: Removed some debugging printf's. * Theme/gtk/notebook1.c Theme/gtk/menubar.png: new bigger pixmaps to reduce pixelation. * Theme/gtk/gtkrc: Reorganized to use several styles instead of one huge style. Change clist backgrounds to be prettier. pixmap/ChangeLog | 12 + pixmap/Theme/gtk/gtkrc | 815 ++++++++++++++++++---------------------- pixmap/Theme/gtk/menubar.png | Bin 0 -> 19356 bytes pixmap/Theme/gtk/notebook1.png | Bin 0 -> 66033 bytes pixmap/pixmap_theme_main.c | 14 - 5 files changed, 383 insertions(+), 458 deletions(-) commit 505473bf685768cd896d495773fa96e7f35b212e Author: Owen Taylor Date: Fri Nov 6 16:26:23 1998 +0000 Fixed hard-coded gap_side of '0'. Thu Nov 5 10:23:46 1998 Owen Taylor * pixmap_theme_draw.c (draw_shadow_gap): Fixed hard-coded gap_side of '0'. Mon Nov 2 14:46:02 1998 Owen Taylor * pixmap_theme_draw.c (apply_theme_image_shadow_gap): Removed several hundred lines of duplicated code with a bit of reoriganization. Wed Oct 28 16:18:04 1998 Owen Taylor * pixmap_theme_main.c (theme_symbols): Removed lots and lots of white space. */*draw.c Changed position to gap_side to GtkPositionType. Removed draw_entry */Makefile.am Set INCLUDES instead of overwriting CFLAGS metal/ChangeLog | 5 + metal/Makefile.am | 2 +- metal/metal_style.c | 140 ++------- metal/metal_theme_draw.c | 140 ++------- motif/ChangeLog | 5 + motif/Makefile.am | 2 +- motif/motif_theme_draw.c | 142 ++------- pixmap/ChangeLog | 16 + pixmap/Makefile.am | 2 +- pixmap/pixmap_theme.h | 2 +- pixmap/pixmap_theme_draw.c | 713 ++++++++++++-------------------------------- pixmap/pixmap_theme_main.c | 368 ++++++----------------- win95/ChangeLog | 8 + win95/Makefile.am | 2 +- win95/Theme/gtk/gtkrc | 5 +- win95/win95_theme_draw.c | 223 ++++---------- 16 files changed, 480 insertions(+), 1295 deletions(-) commit 58f48f0d1a9bd867d2bf74988f52014299c99aa9 Author: Manish Singh Date: Thu Nov 5 22:51:32 1998 +0000 Shut up cvs -Yosh .cvsignore | 2 ++ ltconfig | 8 ++++---- ltmain.sh | 13 ++++--------- metal/.cvsignore | 12 ++++++++++++ metal/Theme/.cvsignore | 2 ++ metal/Theme/gtk-2.0/.cvsignore | 2 ++ metal/Theme/gtk/.cvsignore | 2 ++ motif/.cvsignore | 12 ++++++++++++ motif/Theme/.cvsignore | 2 ++ motif/Theme/gtk/.cvsignore | 2 ++ pixmap/.cvsignore | 12 ++++++++++++ pixmap/Theme/.cvsignore | 2 ++ pixmap/Theme/gtk/.cvsignore | 2 ++ win95/.cvsignore | 12 ++++++++++++ win95/Theme/.cvsignore | 2 ++ win95/Theme/gtk/.cvsignore | 2 ++ 16 files changed, 76 insertions(+), 13 deletions(-) commit 08163099d8c2351d187583fed5af803d0afe2b10 Author: Owen Taylor Date: Mon Oct 19 16:02:01 1998 +0000 Add in ltconfig and ltmain.sh with correct shldeps patches. Mon Oct 19 12:11:28 1998 Owen Taylor * Add in ltconfig and ltmain.sh with correct shldeps patches. ChangeLog | 5 + ltconfig | 1559 ++++++++++++++++++++++++++++++++++++ ltmain.sh | 2613 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 4177 insertions(+), 0 deletions(-) commit 4ffbb3a03b470511d71dbcad450b1a932a54acc7 Author: Jonathan Blandford Date: Sat Oct 17 04:53:16 1998 +0000 changed AC_INIT field ChangeLog | 4 ++++ metal/configure.in | 2 +- motif/configure.in | 2 +- pixmap/configure.in | 2 +- win95/configure.in | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) commit 30ff73ccaf05ae84465115deb3784f4d40c93fa3 Author: Owen Taylor Date: Sat Oct 17 04:28:11 1998 +0000 Removed unused code for handling RC data, made functions static to reduce Sat Oct 17 00:35:10 1998 Owen Taylor * */*.[ch]: Removed unused code for handling RC data, made functions static to reduce damage from g_module's RTLD_GLOBAL. Removed theme_set_background functions which were just cut 'n paste code from GTK+. * */*.h: Removed unused, obsolete header files. Sat Oct 17 00:06:51 1998 Owen Taylor * metal_theme_draw.c (draw_shadow): Don't set GC's for SHADOW_NONE. ChangeLog | 9 +++ metal/ChangeLog | 5 ++ metal/metal_style.c | 128 ++++++++++++++------------------------ metal/metal_theme.h | 13 ---- metal/metal_theme_draw.c | 128 ++++++++++++++------------------------ metal/metal_theme_main.c | 117 +++++------------------------------ motif/ChangeLog | 5 ++ motif/motif_theme.h | 14 ---- motif/motif_theme_draw.c | 128 ++++++++++++++------------------------ motif/motif_theme_main.c | 147 ++++--------------------------------------- pixmap/pixmap_theme_draw.c | 134 +++++++++++++++------------------------- pixmap/pixmap_theme_main.c | 74 +++++++++++----------- win95/ChangeLog | 5 ++ win95/win95_theme.h | 13 ---- win95/win95_theme_draw.c | 128 ++++++++++++++------------------------ win95/win95_theme_main.c | 147 ++++--------------------------------------- 16 files changed, 343 insertions(+), 852 deletions(-) commit e4eeec96fcfca40ab56919f94bd90e0fa352070f Author: Carsten Haitzler Date: Fri Sep 25 00:10:21 1998 +0000 blum - more blum - more pixmap/Theme/gtk/Makefile.am | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit e461b36384e7ce1b44bd44375df37a7f39852f09 Author: Carsten Haitzler Date: Fri Sep 25 00:07:57 1998 +0000 adding mroe stuff adding mroe stuff autogen.sh | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit f4b5a9af350eb887548ccefa1b4d4fc14231ffa2 Author: Carsten Haitzler Date: Thu Sep 24 23:27:46 1998 +0000 gtk theme engines are now a separate cvs module :) gtk theme engines are now a separate cvs module :) Changelog | 21 - Makefile.am | 35 +- README.metal | 29 - autogen.sh | 5 + configure.in | 54 +- ltconfig | 1559 ------------------ ltmain.sh | 2608 ------------------------------ metal/Makefile.am | 11 + metal/Theme/Makefile.am | 5 + metal/Theme/README.html | 9 + metal/Theme/gtk-2.0/Makefile.am | 4 + metal/Theme/gtk-2.0/gtkrc | 178 ++ metal/Theme/gtk-2.0/makemakefile.sh | 13 + metal/Theme/gtk/Makefile.am | 4 + metal/Theme/gtk/gtkrc | 178 ++ metal/Theme/gtk/makemakefile.sh | 13 + metal/Theme/makemakefile.sh | 15 + metal/autogen.sh | 36 + metal/configure.in | 51 + metal/metal_style.c | 1893 ++++++++++++++++++++++ metal/metal_theme.h | 13 + metal/metal_theme_draw.c | 1893 ++++++++++++++++++++++ metal/metal_theme_main.c | 223 +++ metal_theme.h | 13 - metal_theme_draw.c | 1893 ---------------------- metal_theme_main.c | 223 --- motif/Makefile.am | 11 + motif/Theme/Makefile.am | 5 + motif/Theme/README.html | 1 + motif/Theme/gtk/Makefile.am | 4 + motif/Theme/gtk/gtkrc | 154 ++ motif/Theme/gtk/makemakefile.sh | 13 + motif/Theme/makemakefile.sh | 15 + motif/autogen.sh | 36 + motif/configure.in | 51 + motif/motif_theme.h | 14 + motif/motif_theme_draw.c | 1798 ++++++++++++++++++++ motif/motif_theme_main.c | 223 +++ motif_theme.h | 14 - motif_theme_draw.c | 1798 -------------------- motif_theme_main.c | 223 --- pixmap/Makefile.am | 11 + pixmap/Theme/ICON.png | Bin 0 -> 3521 bytes pixmap/Theme/Makefile.am | 5 + pixmap/Theme/README.html | 3 + pixmap/Theme/gtk/arrow_down1.png | Bin 0 -> 290 bytes pixmap/Theme/gtk/arrow_down2.png | Bin 0 -> 276 bytes pixmap/Theme/gtk/arrow_down3.png | Bin 0 -> 306 bytes pixmap/Theme/gtk/arrow_left1.png | Bin 0 -> 294 bytes pixmap/Theme/gtk/arrow_left2.png | Bin 0 -> 288 bytes pixmap/Theme/gtk/arrow_left3.png | Bin 0 -> 306 bytes pixmap/Theme/gtk/arrow_right1.png | Bin 0 -> 284 bytes pixmap/Theme/gtk/arrow_right2.png | Bin 0 -> 267 bytes pixmap/Theme/gtk/arrow_right3.png | Bin 0 -> 305 bytes pixmap/Theme/gtk/arrow_up1.png | Bin 0 -> 311 bytes pixmap/Theme/gtk/arrow_up2.png | Bin 0 -> 276 bytes pixmap/Theme/gtk/arrow_up3.png | Bin 0 -> 293 bytes pixmap/Theme/gtk/brown_bg1.png | Bin 0 -> 63432 bytes pixmap/Theme/gtk/brown_bg2.png | Bin 0 -> 63414 bytes pixmap/Theme/gtk/button1.png | Bin 0 -> 7471 bytes pixmap/Theme/gtk/button2.png | Bin 0 -> 7275 bytes pixmap/Theme/gtk/button3.png | Bin 0 -> 7520 bytes pixmap/Theme/gtk/button4.png | Bin 0 -> 7432 bytes pixmap/Theme/gtk/button5.png | Bin 0 -> 7478 bytes pixmap/Theme/gtk/button6.png | Bin 0 -> 7400 bytes pixmap/Theme/gtk/button7.png | Bin 0 -> 5967 bytes pixmap/Theme/gtk/button8.png | Bin 0 -> 5921 bytes pixmap/Theme/gtk/button9.png | Bin 0 -> 6055 bytes pixmap/Theme/gtk/button_def.png | Bin 0 -> 6392 bytes pixmap/Theme/gtk/check1.png | Bin 0 -> 348 bytes pixmap/Theme/gtk/check2.png | Bin 0 -> 271 bytes pixmap/Theme/gtk/curve_bg1.png | Bin 0 -> 74130 bytes pixmap/Theme/gtk/entry1.png | Bin 0 -> 9890 bytes pixmap/Theme/gtk/entry2.png | Bin 0 -> 8051 bytes pixmap/Theme/gtk/extension_bottom1.png | Bin 0 -> 5826 bytes pixmap/Theme/gtk/extension_left1.png | Bin 0 -> 5928 bytes pixmap/Theme/gtk/extension_right1.png | Bin 0 -> 5895 bytes pixmap/Theme/gtk/extension_top1.png | Bin 0 -> 5827 bytes pixmap/Theme/gtk/focus.png | Bin 0 -> 258 bytes pixmap/Theme/gtk/frame1.png | Bin 0 -> 5096 bytes pixmap/Theme/gtk/frame2.png | Bin 0 -> 5082 bytes pixmap/Theme/gtk/frame_gap.png | Bin 0 -> 8649 bytes pixmap/Theme/gtk/frame_gap_top_end.png | Bin 0 -> 378 bytes pixmap/Theme/gtk/frame_gap_top_start.png | Bin 0 -> 418 bytes pixmap/Theme/gtk/gap_bottom.png | Bin 0 -> 275 bytes pixmap/Theme/gtk/gap_bottom_end.png | Bin 0 -> 343 bytes pixmap/Theme/gtk/gap_bottom_start.png | Bin 0 -> 348 bytes pixmap/Theme/gtk/gap_left.png | Bin 0 -> 280 bytes pixmap/Theme/gtk/gap_left_end.png | Bin 0 -> 334 bytes pixmap/Theme/gtk/gap_left_start.png | Bin 0 -> 326 bytes pixmap/Theme/gtk/gap_right.png | Bin 0 -> 322 bytes pixmap/Theme/gtk/gap_right_end.png | Bin 0 -> 395 bytes pixmap/Theme/gtk/gap_right_start.png | Bin 0 -> 398 bytes pixmap/Theme/gtk/gap_top.png | Bin 0 -> 259 bytes pixmap/Theme/gtk/gap_top_end.png | Bin 0 -> 341 bytes pixmap/Theme/gtk/gap_top_start.png | Bin 0 -> 327 bytes pixmap/Theme/gtk/gtkrc | 1050 ++++++++++++ pixmap/Theme/gtk/handle_vert_thumb.png | Bin 0 -> 254 bytes pixmap/Theme/gtk/hline.png | Bin 0 -> 412 bytes pixmap/Theme/gtk/makemakefile.sh | 13 + pixmap/Theme/gtk/option1.png | Bin 0 -> 413 bytes pixmap/Theme/gtk/option2.png | Bin 0 -> 433 bytes pixmap/Theme/gtk/option_menu.png | Bin 0 -> 540 bytes pixmap/Theme/gtk/progressbar.png | Bin 0 -> 1950 bytes pixmap/Theme/gtk/ruler_horiz.png | Bin 0 -> 787 bytes pixmap/Theme/gtk/ruler_vert.png | Bin 0 -> 767 bytes pixmap/Theme/gtk/scrollbar_horiz1.png | Bin 0 -> 987 bytes pixmap/Theme/gtk/scrollbar_thumb.png | Bin 0 -> 231 bytes pixmap/Theme/gtk/scrollbar_thumb2.png | Bin 0 -> 287 bytes pixmap/Theme/gtk/scrollbar_vert1.png | Bin 0 -> 1050 bytes pixmap/Theme/gtk/shadow1.png | Bin 0 -> 5969 bytes pixmap/Theme/gtk/shadow2.png | Bin 0 -> 5995 bytes pixmap/Theme/gtk/trough.png | Bin 0 -> 5933 bytes pixmap/Theme/gtk/vline.png | Bin 0 -> 412 bytes pixmap/Theme/makemakefile.sh | 15 + pixmap/autogen.sh | 36 + pixmap/configure.in | 51 + pixmap/pixmap_theme.h | 112 ++ pixmap/pixmap_theme_draw.c | 2587 +++++++++++++++++++++++++++++ pixmap/pixmap_theme_main.c | 1363 ++++++++++++++++ pixmap_theme.h | 112 -- pixmap_theme_draw.c | 2587 ----------------------------- pixmap_theme_main.c | 1363 ---------------- win95/Makefile.am | 11 + win95/Theme/ICON.png | Bin 0 -> 2546 bytes win95/Theme/Makefile.am | 5 + win95/Theme/README.html | 1 + win95/Theme/gtk/Makefile.am | 4 + win95/Theme/gtk/gtkrc | 161 ++ win95/Theme/gtk/makemakefile.sh | 13 + win95/Theme/makemakefile.sh | 15 + win95/autogen.sh | 36 + win95/configure.in | 51 + win95/win95_theme.h | 13 + win95/win95_theme_draw.c | 1754 ++++++++++++++++++++ win95/win95_theme_main.c | 223 +++ win95_theme.h | 13 - win95_theme_draw.c | 1754 -------------------- win95_theme_main.c | 223 --- 139 files changed, 14407 insertions(+), 14517 deletions(-) commit a429ce50429192eb896d576525b2e3129928710a Author: Raja R Harinath Date: Thu Sep 24 18:20:32 1998 +0000 Merged in raster's `Changelog' (notice the small `l'). ChangeLog | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) commit 793fb396c07f193aad8aba6906c3e9f2e868d636 Author: Carsten Haitzler Date: Thu Sep 24 16:15:07 1998 +0000 setting up theme engines module for gtk+ setting up theme engines module for gtk+ .cvsignore | 13 + AUTHORS | 2 + ChangeLog | 19 + Changelog | 21 + Makefile.am | 35 + README.metal | 29 + autogen.sh | 36 + configure.in | 51 + install-sh | 238 +++++ ltconfig | 1559 ++++++++++++++++++++++++++++++ ltmain.sh | 2608 +++++++++++++++++++++++++++++++++++++++++++++++++++ metal_theme.h | 13 + metal_theme_draw.c | 1893 +++++++++++++++++++++++++++++++++++++ metal_theme_main.c | 223 +++++ motif_theme.h | 14 + motif_theme_draw.c | 1798 +++++++++++++++++++++++++++++++++++ motif_theme_main.c | 223 +++++ pixmap_theme.h | 112 +++ pixmap_theme_draw.c | 2587 ++++++++++++++++++++++++++++++++++++++++++++++++++ pixmap_theme_main.c | 1363 +++++++++++++++++++++++++++ win95_theme.h | 13 + win95_theme_draw.c | 1754 ++++++++++++++++++++++++++++++++++ win95_theme_main.c | 223 +++++ 23 files changed, 14827 insertions(+), 0 deletions(-) gtk-engines-2.20.2/INSTALL0000644000175000017500000003633211324777651012006 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. gtk-engines-2.20.2/NEWS0000644000175000017500000007435611451355657011463 00000000000000Overview of Changes in 2.20.2 (since 2.10.1) ============================================ Changes in this release: - Fix evolution ETree header in Clearlooks - Minor fixes in mist - Removed Xfce specific workaround from the clearlooks engine (bug #616124) Added/updated translations: - en@shaw, courtesy of Thomas Thurman - id, courtesy of Dirgita - ja, courtesy of Takeshi AIHANA - lv, courtesy of Anita Reitere - sl, courtesy of Matej Urbančič Overview of Changes in 2.20.1 (since 2.20.0) ============================================ Changes in this release: - Fixes the shadow around entries in the Clearlooks Gummy style. Overview of Changes in 2.20.0 (since 2.19.0) ============================================ Changes in this release: - Increased spacing between icons and labels in Clearlooks GNOME bugs fixed in this release: 594014 - gtk-engines: system-lua check is buggy New and updated translations: F Wolff (af) Israt Jahan (bn) Suso Baleato (gl) Xandru Armesto (ast) Overview of Changes in 2.19.0 (since 2.18.2) ============================================ Changes in this release: - Option to use the systems version of liblua - Removal of a potential endless loop in different Clearlooks styles - Support for Automake 1.11. - Improvements for bug #525065 (small Clearlooks themes) GNOME bugs fixed in this release: 594014 - gtk-engines: system-lua check is buggy 572178 - Remove deprecated GTK+ symbols 500952 - check/radio buttons have no insensitive states (mist) 502165 - Inconsistent toggle buttons are drawn unselected New and updated translations: Gil Forcada (ca@valencia) Goran Rakić (sr@latin) Israt Jahan (bn) Khaled Hosny (ar) Krix Apolinário (pt_BR) Lucian Adrian Grijincu (ro) Rajesh Ranjan (hi) Runa Bhattacharjee (bn_IN) Sangeeta Kumari (mai) Seán de Búrca (ga) Thomas Thurman (en@shaw) wanderlust (uk) Yavor Doganov (bg) Горан Ракић (sr) Overview of Changes in 2.18.2 (since 2.18.1) ============================================ Changes in this release: - Changes for the git migration (doap file, ChangeLog) GNOME bugs fixed in this release: 578882 – gtk-engines-2.18.1 doesn't pass tests due to exported_lua New and updated translations: Krishna Babu K (te) Overview of Changes in 2.18.1 (since 2.18.0) ============================================ Changes in this release: - Clearlooks draws the focus line of entries now correct. - Clearlooks now only draws a one pixel line between two adjacent steppers. GNOME bugs fixed in this release: 576786 – clearlooks is broken on trunk 576787 – export hygiene 572178 – Remove deprecated GTK+ symbols New and updated translations: Ray Wang (zh_CN) Shankar Prasad (kn) Djihed Afifi (ar) Suso Baleato (gl) Overview of Changes in 2.18.0 (since 2.17.4) ============================================ Changes in this release: - Improved entry progress drawing in Clearlooks. New and updated translations: Suso Baleato (gl) Amitakhya Phukan (as) Kenneth Nielsen (da) Jennie Petoumenou (el) Sandeep Shedmake (mr) Ankit Patel (gu) I. Felix (ta) Hendrik Richter (de) Yaron Shahrabani (he) Gintautas Miliauskas (lt) Manoj Kumar Giri (or) Overview of Changes in 2.17.4 (since 2.17.3) ============================================ Changes in this release: - Many themes have some initial support for progressbars in entries. New and udpated translations: Claude Paroz (fr) Duarte Loreto (pt) David Lodge (en_GB) Baris Cicek (tr) Adi Roiban (ro) Wouter Bolsterlee (nl) Overview of Changes in 2.17.3 (since 2.17.2) ============================================ This release of gtk-engines is now solely LGPL 2.1 or any later version. GNOME Bugs fixed in this release: 563787 – GNOME Goal: Clean up GLib and GTK+ includes 571835 – Focus inconsistent between expander and other widgets in Clearlooks New and udpated translations: Wouter Bolsterlee (nl) Lucas Lommer (cs) Tomasz Dominikowski (pl) Gabor Kelemen (hu) Iñaki Larrañaga Murgoitio (eu) Gil Forcada (ca) Yavor Doganov (bg) Chao-Hsiung Liao (zh_HK) Chao-Hsiung Liao (zh_TW) Takeshi AIHANA (ja) Theppitak Karoonboonyanan (th) Clytie Siddall (vi) Changwoo Ryu (ko) Ilkka Tuohela (fi) Kjartan Maraas (nb) Daniel Nylander (sv) Overview of Changes in 2.17.2 (since 2.17.1) ============================================ GNOME Bugs fixed in this release: 563256 – 2.17.1 ftbfs Overview of Changes in 2.17.1 (since 2.17.0) ============================================ Changes in this release: - A leak in Clearlooks that happened for default buttons was fixed. - The Clearlooks inconsistent radio indicator drawing was fixed. GNOME Bugs fixed in this release: 560042 – Sub-optimal -I flag ordering 560443 – GNOME Goal: Remove deprecated GLib symbols 549830 – Use G_DEFINE_DYNAMIC_TYPE in theme engines New and udpated translations: Daniel Nylander (sv) Jorge González (es) Laurent Dhima (sq) Overview of Changes in 2.17.0 (since 2.16.0) ============================================ Changes in this release: - Focus indicator drawing in Mist - Clearlooks now has a disable_focus option to do screenshots for documentation - Fixed the background color of viewports in notebooks in Clearlooks. GNOME Bugs fixed in this release: 553575 – [PATCH] Only draw focus when navigating with the keyboard 555890 – Button rendering bug Overview of Changes in 2.16.0 (since 2.15.4) ============================================ Changes in this release: - Small fix in Clearlooks spinbutton drawing. New and udpated translations: Laurent Dhima (sq) Горан Ракић (sr) Goran Rakić (sr@latin) Djihed Afifi (ar) I. Felix (ta) Ivar Smolin (et) Hari Vishnu (ml) Overview of Changes in 2.15.4 (since 2.15.3) ============================================ Changes in this release: - Reworked Clearlooks gtkrc. GNOME Bugs fixed in this release: 549830 – Use G_DEFINE_DYNAMIC_TYPE in theme engines (only in Clearlooks) New and udpated translations: Hari Vishnu (ml) Krishna Babu K (te) Goran Rakić (sr@latin) Djihed Afifi (ar) Overview of Changes in 2.15.3 (since 2.15.2) ============================================ Changes in this release: - A problem in the glide engine where the drawing of some widgets could suddenly disappear forever was fixed. GNOME Bugs fixed in this release: 546839 – Add special case for transparent entries (for gecko and others) 547024 – size of radio button hardcoded New and udpated translations: Djihed Afifi (ar) Sweta Kothari (gu) Overview of Changes in 2.15.2 (since 2.15.1) ============================================ The most important change in this release is that the smooth GTK+ engine has been removed. This engine has long lost its popularity and it had a huge codebase that has not been properly maintained for years now. Changes in this release: - Larger menuitem separators in the Clearlooks theme - Frame drawing fixes in the Clearlooks engine - Padding of progress bars inside menus is fixed in the Industrial theme GNOME Bugs fixed in this release: 511958 – List store tree view contains superfluous border (clearlooks) 542625 – 1px gap between notebook at extension (industrial) 501734 – Dead code in glide_gtk2_drawing.c 535456 – Unnecessary cast breaks build on Solaris 543608 – Fix for Fortify detected problem New and udpated translations: Djihed Afifi (ar) Clytie Siddall (vi) Yavor Doganov (bg) Overview of Changes in 2.15.1 (since 2.15.0) ============================================ Changes in this release: - A lot of internal changes in the Clearlooks engine - Modifications to the "classic" style to be more like the pre cairo versions of the engine. GNOME Bugs fixed in this release: 531633 – Scrollbars trough is drawn smaller even when no stepper is present New and udpated translations: Yavor Doganov (bg) Massimo Furlani (fur Eskild Hustvedt (nn) Overview of Changes in 2.15.0 (since 2.14.1) ============================================ Changes in this release: - Schema translations are no longer installed. - Improvements to the Redmond scrollbars, scrolled window and menus. GNOME Bugs fixed in this release: 526890 – Support inverted scrollbars (ranges) Overview of Changes in 2.14.1 (since 2.14.0) ============================================ Changes in this release: - Warning and C89 fixes - Parser fix in thinice - Added a workaround for bug 514400 (Glitches on panel launcher) - Some improvements in Clearlooks (insensitive spinbuttons, scales, notebook background color) GNOME Bugs fixed in this release: 521679 – compile error 523369 – automake warning New and udpated translations: Eskild Hustvedt (nn) Giannis Katsampirhs (el) Overview of Changes in 2.14.0 (since 2.13.6) ============================================ Changes in this release: - Several improvements in Crux, this includes spinbuttons and comboboxes. - Text color fixes and workarounds in the different themes - Correct shadow for insensitive entries in Clearlooks - Changed contrast handling in Clearlooks GNOME Bugs fixed in this release: 395013 – Visual artifacts setting radius to 10.0 (max value) 505334 – work around GtkList label colors New and udpated translations: Giannis Katsampirhs (el) Kenneth Nielsen (da) Gabor Kelemen (hu) Chao-Hsiung Liao (zh_HK) Chao-Hsiung Liao (zh_TW) Runa Bhattacharjee (bn_IN) Ivar Smolin (et) Maxim V. Dziumanenko (uk) Rajesh Ranjan (hi) Alexandre Prokoudine (ru) David Lodge (en_GB) Sandeep Shedmake (mr) Gintautas Miliauskas (lt) Djihed Afifi (ar) Changwoo Ryu (ko) Luca Ferretti (it) Overview of Changes in 2.13.6 (since 2.13.5) ============================================ Changes in this release: - Fix in the clearlooks schema file. It listed the wrong default style. - Lighter background color in the Crux theme. - Some small changes in the Clearlooks GUMMY focus drawing. New and udpated translations: Luca Ferretti (it) Yair Hershkovitz (he) Ivar Smolin (et) Ilkka Tuohela (fi) Wouter Bolsterlee (nl) Baris Cicek (tr) Gil Forcada (ca) Ihar Hrachyshka (be@latin) Chao-Hsiung Liao (zh_HK) Chao-Hsiung Liao (zh_TW) Claude Paroz (fr) Petr Kovar (cs) Arangel Angov (mk) Jorge González (es) Clytie Siddall (vi) Tomasz Dominikowski (pl) Ask Hjorth Larsen (da) Overview of Changes in 2.13.5 (since 2.13.4) ============================================ Changes in this release: - Read the shadow before drawing toolbars and menubars (Clearlooks) GNOME Bugs fixed in this release: 500952 – check/radio buttons have no insensitive states (mist) New and udpated translations: Lukáš Lommer (cs) Duarte Loreto (pt) Hendrik Brandt (de) Theppitak Karoonboonyanan (th) Iñaki Larrañaga Murgoitio (eu) Tomasz Dominikowski (pl) Arangel Angov (mk) Takeshi AIHANA (ja) Kjartan Maraas (nb) Ignacio Casal Quinteiro (gl) Djihed Afifi (ar) Jorge González (es) Daniel Nylander (sv) Overview of Changes in 2.13.4 (since 2.13.3) ============================================ Changes in this release: - Clearlooks progressbar padding inside menus has been fixed. - New "reliefstyle" option for clearlooks, which controls inset vs. shadow around buttons. GUMMY based themes will now use inset by default and need to be modified. - Updated focus drawing for treeviews and notebook tabs in GUMMY GNOME Bugs fixed in this release: 509226 – focus rect not painted in aisleriot with clearlooks New and udpated translations: Iñaki Larrañaga Murgoitio (eu) Ivar Smolin (et) Overview of Changes in 2.13.3 (since 2.13.2) ============================================ Changes in this release: - autogen.sh script fix - Correct gap size in notebooks and shadows in the HighContrast engine - Added a missing initilization in clearlooks focus drawing - Clearlooks now does not draw a status bar if the shadow is set to NONE New and udpated translations: Ivar Smolin (et) Clytie Siddall (vi) Kjartan Maraas (nb) Yannig Marchegay (Kokoyaya) (oc) sandeep shedmake (mr) Daniel Nylander (sv) Overview of Changes in 2.13.2 (since 2.13.1) ============================================ Important changes in this release: - The high contrast engine is fixed and now works again. - Some focus improvements for the gummy style in clearlooks Bugs fixed in this release: 501611 – Dead code in widget-information.c (ge_combo_box_is_using_list) 501612 – overrun variable in clearlooks 501816 – highcontrast engine is broken with gtk-engines 2.21.3 492372 – ETree fix for other evolution compnoents 475291 – Clearlooks vertical tabs fixes 488850 – Wrong background for disk-usage graph in nautilus New and udpated translations: Daniel Nylander (sv) Kjartan Maraas (nb) Eskild Hustvedt (nn) Matej Urbančič (sl) Ihar Hrachyshka (be@latin) Jorge González (es) Ignacio Casal Quinteiro (gl) Overview of Changes in 2.13.1 (since 2.13.0) ============================================ Other changes and bugfixes include: - gtk-engines now depends on GTK+ 2.12 for color parsing (used by Clearlooks) - Some modifications and fixes for the Gummy focus ring. - Fixed descriptions in the clearlooks schema file. - Some initial fixes for bug #486418. New and udpated translations: Ignacio Casal Quinteiro (gl) Ivar Smolin (et) Matej Urbančič (sl) Ihar Hrachyshka (be@latin) Daniel Nylander (sv) Jorge González (es) Djihed Afifi (ar) Overview of Changes in 2.13.0 (since 2.12.2) ============================================ This is the first release in the 2.13 unstable series. A major change is that the clearlooks and industrial engines now use styles from the rc file to determine what to draw, instead of checking widgets that often. This adresses bug 453499 – Widget specific special cases in the engine. Other changes and bugfixes include: - Improved treeview header in Industrial - The clearlooks (gummy) vertical tabs were fixed (Bug #475291) - New tab design for the gummy style in Clearlooks - New focus drawing code in Clearlooks with a new style in gummy - Added missing options to the clearlooks schema file. (Bug #475294) New and udpated translations: Djihed Afifi (ar) Matej Urbančič (sl) Ivar Smolin (et) Overview of Changes in 2.12.2 (since 2.12.1) ============================================ Hilights in this release include: - Clearlooks progress bars in menus are now correct - The workaround for the combobox text colors has been fixed in Clearlooks - The RC file parsing in both Thinice and HighContrast has been fixed to correctly merge styles. Fixed bugs in this release: Bug #475629 – Themes doesn't reflect GtkSpinButton range limits visually Bug #482542 – with edge_thickness = 1, checkboxes always appear unchecked Bug #480629 – Make the padding on menu separators smaller Bug #457087 – gap between notebook and tab label for pack-end tabs in vertical tabs Bug #482922 – Work around evolution new button New and updated Translations: Ivar Smolin (et) Ihar Hrachyshka (be@latin) Djihed Afifi (ar) Nickolay V. Shmyrev (ru) Overview of Changes in 2.12.1 (since 2.12.0) ============================================ Fixed bugs in this release: Bug 478759 - typo in crux gtkrc Overview of Changes in 2.12.0 (since 2.11.7) ============================================ Hilights in this release include: - A set of tweaks to the Clearlooks theme and Gummy engine code - Fixed color scheme support in Clearlooks, Crux and Industrial - Fixed GTK+ 2.12 tooltips in Clearlooks, Crux, Industrial and Thinice - Better notebook edge drawing in Clearlooks that addresses bug #457087. New and updated Translations: Djihed Afifi (ar) Nickolay V. Shmyrev (ru) Горан Ракић (sr) Goran Rakić (sr@Latn) Luca Ferretti (it) Gil Forcada (ca) Ani Peter (ml) Ilkka Tuohela (fi) Overview of Changes in 2.11.7 (since 2.11.6) ============================================ Hilights in this release include: - Clearlooks scrollbars are back to being colored - The clearlooks background is now a warmer color New and updated Translations: Yannig MARCHEGAY (oc) Overview of Changes in 2.11.6 (since 2.11.5) ============================================ Hilights in this release include: - Clearlooks theme scrollbars are no longer colored (Bug #462723) - Improved Gummy scale fill level drawing - Clearlooks notebook fix for right to left langues New and updated Translations: Ilkka Tuohela (fi) Simos Xenitellis (el) Dr.T.Vasudevan (ta) Overview of Changes in 2.11.5 (since 2.11.4) ============================================ Hilights in this release include: - Cleaned up Clearlooks gtkrc - The Clearlooks menubar height has been fixed - Clearlooks now supports the tooltip color option New and updated Translations: Dr.T.Vasudevan (ta) Theppitak Karoonboonyanan (th) Hendrik Brandt (de) Kjartan Maraas (nb) Overview of Changes in 2.11.4 (since 2.11.3) ============================================ Hilights in this release include: - Moved default Clearlooks theme to the Gummy style - Minor improvements to the Glossy and Gummy style of Clearlooks - Radius support for menuitems in Clearlooks - Vertical handles for the Gummy style Overview of Changes in 2.11.3 (since 2.11.2) ============================================ Hilights in this release include: - Different shading of the scrollbar color in Clearlooks New and updated Translations: Lucas Lommer (cs) Takeshi AIHANA (ja) Kjartan Maraas (nb) Artur Flinta (pl) Danishka Navin (si) Clytie Siddall (vi) Overview of Changes in 2.11.2 (since 2.11.1) ============================================ Hilights in this release include: - Schema file naming now follows the engine library names - GtkRange fill level implemented in Clearlooks and Industrial - New toolbar styles for the gummy and glossy clearlooks styles New Translations: Laurent Dhima (sq) Updated Translations: Ivar Smolin: (et) Overview of Changes in 2.11.1 (since 2.11.0) ============================================ Hilights in this release include: - Tabbing fix in Glide - Prevent colors from getting too saturated when shading them - Improved torture test to find more bugs - Reworked README file - Tweaked toolbars that do not have any other widget above them in Clearlooks - New option to colorize the Clearlooks scrollbar sliders Fixed bugs in this release: Bug 438397 - fix build with gcc 2 Bug 438456 - Potential invalid g_free() on slice-allocated data Bug 413055 - make tooltip border color themeable (clearlooks) New Translations: Runa Bhattacharjee (bn_IN) Updated Translations: Ignacio Casal Quinteiro (gl) Ivar Smolin (et) Overview of Changes in 2.11.0 (since 2.10.1) ============================================ Hilights in this release include: - Several improvements to the Redmond theme - A lot of changes to standard Clearlooks and the Glossy style - New Gummy style added by Andrea Cimitan Fixed bugs in this release: Bug 429988 - Redmond: CombBox should appear as list Bug 430012 - Redmond: Tabs are not drawn correctly Bug 429761 - Redmond: The radio's diameter is too big Bug 429730 - Redmond engine draws radio buttons wrong Bug 428772 - Unnecessary cast breaks build on Solaris Bug 427265 - Clearlooks: invisible resize handle in RTL New Translations: Gintautas Miliauskas (lt) Subhransu Behera (or) Yannig MARCHEGAY (oc) Overview of Changes in 2.10.1 (since 2.10.0) ============================================ Hilights in this release include: - Several improvements and fixes to Clearlooks - Removal of fixed colours from Crux Fixed bugs in this release: Bug 412982 - If text color set to white, tooltips are unreadable. Bug 412647 - Remaining problems with dark themes (arrows) Overview of Changes in 2.10.0 (since 2.9.4) =========================================== Hilights in this release include: - Remove the cairo stroking performance workaround - Added XML information files for third party applications to use Overview of Changes in 2.9.4 (since 2.9.3) ========================================== Hilights in this release include: - Revert checkbox style to a tick in Clearlooks - Add clearlooks inverted style to test suite - Fixes to Clearlooks shading, style and colours - Fix inconsistent toggle buttons in Redmond engine - Use quarks with engines name in thinice and mist engines - Skip torture tests if buildin fails (eg. no X server or crashes in GTK+) Fixed bugs in this release: - Bug 407440 - Use text[NORMAL] for active checkmarks Overview of Changes in 2.9.3 (since 2.9.2) ========================================== Hilights in this release include: - Many improvements to Clearlooks style from Andrea Cimitan - Added some generic engine checks to "make check" - Use symbolic colors in Crux - c90 fixes Overview of Changes in 2.9.2 (since 2.9.1) ========================================== Hilights in this release include: - RTL Fixes in Smooth - C89 fixes for lua engine (from TFKyle) - Corrections to hilighted side for inverted scales and vertical ranges in Smooth engine - Fix menu border spacing in Mist Fixed bugs in this release: Bug 356426 - Don't force Crux icons to be 22x22 Bug 393312 - Memory corruption in Smooth engine Bug 395193 - Division by zero bug in Smooth Overview of Changes in 2.9.1 (since 2.9.0) ========================================== - New lua scripting engine by Daniel Borgmann - New clearlooks options radius, improvements to glossy style - Implement suggestions for clearlooks menu selection from bug 382634 - Plus many other small bug fixes Fixed bugs in this release: - Bug 382397 - Clearlooks: Use @selected_fg_color for text[PRELIGHT] inside menus and for fg[PRELIGHT] in GtkProgressBar - Bug 382704 - Clearlooks: C89 fixes (Patch by Jens Granseuer) - Bug 385106 - Clearlooks: Don't set shadow type to NONE if the detail is not one of the known ones. Overview of Changes in 2.9.0 (since 2.8.2) ========================================== Hilights in this release include: - Add glossy options for Clearlooks - Use gtk-colour-scheme in Clearlooks, Mist and Industrial themes - Require GTK+ 2.10 - Misc. fixes to Clearlooks Overview of Changes in 2.8.2 (since 2.8.1) ========================================== Hilights in this release include: - Don't draw boxes around handles on gnome-panels in Mist - Add a --disable-all option, so that it is possible to build one engine without requiring to disable every other engine manually. - Various changes to avoid expensive code paths in cairo - Fix background fill for redmond slider widgets (GtkScale) - Improvements in Crux arrows and scrollbar troughs - Fixes to enable gtk-engines to compile on win32 with VC++ - Set some "Redmond" style icon sizes in the Redmond theme See the ChangeLog for full details of other smaller fixes and enhancements. Fixed bugs in this release: Bug 364750 - Menu separator, tear off dash lines and option menu lines changed shading style Bug 352602 - When accessing parent styles, engines shouldn't assume same type Bug 366716 - mist_style_draw_shadow is missing a SHADOW_NONE test Overview of Changes in 2.8.1 (since 2.8.0) ========================================== Highlights in this release include: - Visual improvements to the Crux engine - Implement "contrast" option in Industrial - Minor build and information fixes Overview of Changes in 2.8.0 (since 2.7.8) ========================================== Highlights in this release include: - Ensure all engines (except smooth) compile with paranoia compiler flags - Miscellaneous cleanups to the Clearlooks engine - Many RTL issues fixed in Clearlooks - Fixed minor visual issues in other engines See the ChangeLog for full details of other smaller fixes and enhancements. Fixed bugs in this release: 326309 - Clearlooks read-only checkboxes are nearly invisible 328053 - GtkTreeView's title bar's borders isn't shown properly in RTL applications 45579 (bugzilla.ximian.com) - sodipodi rulers corrupted when using industrial gtk engine Overview of Changes in 2.7.8 (since 2.7.7) ========================================== Highlights in this release include: - Add paranoia and deprecated configure flags - Improve HighContrast (HC) engine inconsistent state check mark - Use the base/text values for expander arrow in HC (fixes invisible indicator problem) - Improve visibility/contrast of checks in HC - Fix broken Clearlooks menu on panel check - Implement a focus rectangle for GtkEntry - Many other visual improvements to Industrial See the ChangeLog for full details of other smaller fixes and enhancements. Fixed bugs in this release: 349575 - C89 Fixes (Last C89 Patch to close bug) 350606 - Location of G_GNUC_INTERNAL breaks Solaris build 351057 - Leak in clearlooks_style.c Overview of Changes in 2.7.7 (since 2.7.6) ========================================== Highlights in this release include: * RTL fixes and other enhancements in Crux * Lots of namespace and symbol precautions * Port of Industrial to cairo Fixed bugs in this release: 349575 - C89 Fixes 347227 - Add inconsistent state for option buttons (Clearlooks) Overview of Changes in 2.7.6 (since 2.7.5) ========================================== Highlights in this release include: * More improvements to the cairo version of Crux, now using purple highlights. * Further improvements to the cairo version of the High Constrast engine * New cairo based Engine called Glide for the Glider theme Fixed bugs in this release: 343893 - Engines need to handle GTK_ARROW_NONE. 348167 - Remove crux/pixmaps directory. Overview of Changes in 2.7.5 (since 2.7.4) ========================================== Highlights in this release include: * Further improvements to the cairo version of Crux, now with a new tango style from a mockup by Lapo Calamandrei * Fixed lots of memory leaks in Clearlooks, and several other bugs * High Constrast engine conversion to cairo started * Redmond, Thinice and Mist engine conversions to cairo almost complete * Lighthouseblue and Metal engines have been removed, since no one has volounteered to convert them to cairo, and they are no longer maintained. Fixed bugs in this release: 345769 - Clearlooks' gtk_paint_* functions do not correctly obey the passed clip rect 341694 - Crash in d4x (industrial) 338826 - style copy function broken in clearlooks 337381 - GtkHScale is improperly displayed in RTL (clearlooks) 325760 - panel applets have black background on transparent/solid colour panels (clearlooks) 332639 - Fix memory leaks in draw_flat_box and gtk_treeview_get_header_index (clearlooks) 325932 - "Inconsistent" checkbox state missing (clearlooks) Overview of Changes in 2.7.4 (since 2.7.3) ========================================== * Not compiling any animation code in clearlooks anymore * Crux updated with radio and check buttons drawn using cairo * Crux updated with progress bar bars drawn using cairo Overview of Changes in 2.7.3 (since 2.7.2) ========================================== * Various fixes and updates to Clearlooks * Fixes to hc (#318151) * Cleanups in lighthouseblue (#321140) Overview of Changes in 2.7.2 (since 2.7.1) ========================================== * Numerous Clearlooks bug fixes (including #315562, #323218, #323218, #325168) * Patches and fixes for bug 321140 to hc, industrial, mist, redmond, smooth and thinice engines (cleanups for compiler warnings and removal of unneeded code) Overview of Changes in 2.7.1 (since 2.7.0) ========================================== * Bug fixes to metal and thinice engines (bug 323215) * Updates and bug fixes to Clearlooks engine Overview of Changes in 2.7.0 (since 2.6.3) ========================================== * Clearlooks and Mist engine now uses cairo to do drawing * Redmond and Crux engine conversions to cairo started * Various cleanups and fixes * Animation code for checkboxes and radiobuttons in clearlooks (off by default) Overview of Changes in 2.6.4 (since 2.6.3) ========================================== * Fixed bugs: #305374 - Smooth makes d4x crash #161960 - Panel on 2nd screen crashes when using crux #303112 - [lighthouseblue] Radio buttons appear all checked in GtkTreeView #308551 - uninitialized variables in the smooth engine #305432 - smooth theme queries GtkButton style properties for all kind of widgets #170824 - Industrial labels are purple #300530 - clearlooks engine is installed in a different directory than the other engines * Updated clearlooks engine Overview of Changes in 2.6.3 (since 2.6.2) ========================================== * Added Clearlooks engine and theme [Andrew Johnson, Thomas Wood ] * Fixed various Crux bugs, and bug 170113 [ Thomas ] * Memory and other fixes for Smooth engine [ Andrew ] * Better looking insensitive icons for Industrial [ Michele Cella ] * Work arounds for GNOME "Places" and "Desktop" menu bar applet item colours in Industrial, LighthouseBlue, Mist and ThinIce themes [ Thomas ] Overview of Changes in 2.6.2 (since 2.6.1) ========================================== * Fix bugs #167389 and #163370 [ Andrew Johnson ] Overview of Changes in 2.6.1 (since 2.6.0) ========================================== * Fix bugs 162131, 163099 [ Thomas Wood ] * Fix that closes bugs 165942, 166018, 160803 [ Kjartan Maraas ] * Fix bug 166201 [ William Jon McCann ] * Smooth updates (0.6.0.2) [ Andrew Johnson ] Overview of Changes in 2.6.0 (since 2.2.0) ========================================== * Autogen.sh updates [ James Henstridge ] * Pixbuf Engine Moved to GTK+ 2.6 [ Matthias Clasen ] * Remove old Pixbuf, and Notif Sources [ Thomas Wood ] * Add COPYING.GPL/COPYING.LGPL [ Thomas ] * Rewrite/Cleanup Redmond95 Engine [ Andrew Johnson ] * Replace Redmond95 Theme with Redmond Theme [ Andrew ] * Revise Engine/Theme Build Layout [ Andrew/Thomas ] * Add Crux Engine and Theme [ Andrew, Thomas ] * Add HC Engine [ Andrew, Thomas ] * Add Industrial Engine and Theme [ Andrew, Thomas] * Add LightHouseBlue Engine and Theme [ Andrew, Thomas ] * Add Mist Engine and Theme [ Andrew, Thomas ] * Add Smooth Engine [ Andrew, Thomas ] * Add ThinIce Engine and Theme [ Andrew, Thomas ] * Improve Smooth/Redmond/Industrial Engines for RTL Locales [ Andrew ] * Update README, add COPYING list of licences [ Andrew ] Overview of Changes in 2.2.0 (since 1.9.0) ========================================== * Add a .pc file [Seth Nickell] * Various crash fixes [Luca Barbato, Hongli Lai, Shivaram Upadhyayula, Peter Zelezny) * Build fixes [Havoc Pennington] * Metal theme drawing improvements [Owen Taylor] * Improve installation docs [Owen, Piotr Sawuk] gtk-engines-2.20.2/compile0000755000175000017500000000727111324777651012333 00000000000000#! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=2009-10-06.20; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software # Foundation, Inc. # Written by Tom Tromey . # # This program 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. # # This program 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand `-c -o'. Remove `-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file `INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; esac ofile= cfile= eat= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we strip `-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use `[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtk-engines-2.20.2/config.guess0000755000175000017500000012763711344453613013275 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2009-12-30' # This file 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 of the License, or # (at your option) any later version. # # This program 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., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gtk-engines-2.20.2/config.sub0000755000175000017500000010344511344453613012727 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file 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 of the License, or # (at your option) any later version. # # This program 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., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; # This must be matched before tile*. tilegx*) basic_machine=tilegx-unknown os=-linux-gnu ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gtk-engines-2.20.2/depcomp0000755000175000017500000004426711324777651012340 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Software Foundation, Inc. # This program 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. # This program 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtk-engines-2.20.2/install-sh0000755000175000017500000003253711324777651012764 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtk-engines-2.20.2/ltmain.sh0000755000175000017500000073337711446654310012604 00000000000000# Generated from ltmain.m4sh. # ltmain.sh (GNU libtool) 2.2.6b # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print informational messages (default) # --version print version information # -h, --help print short or long help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . PROGRAM=ltmain.sh PACKAGE=libtool VERSION="2.2.6b Debian-2.2.6b-2" TIMESTAMP="" package_revision=1.3017 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # NLS nuisances: We save the old values to restore during execute mode. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done $lt_unset CDPATH : ${CP="cp -f"} : ${ECHO="echo"} : ${EGREP="/bin/grep -E"} : ${FGREP="/bin/grep -F"} : ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # Generated shell functions inserted here. # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: # In the unlikely event $progname began with a '-', it would play havoc with # func_echo (imagine progname=-n), so we prepend ./ in that case: func_dirname_and_basename "$progpath" progname=$func_basename_result case $progname in -*) progname=./$progname ;; esac # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname${mode+: }$mode: $*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` done my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "X$my_tmpdir" | $Xsed } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "X$1" | $Xsed \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_version # Echo version message to standard output and exit. func_version () { $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $SED -n '/^# Usage:/,/# -h/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" $ECHO $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help # Echo long help message to standard output and exit. func_help () { $SED -n '/^# Usage:/,/# Report bugs to/ { s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ p }' < "$progpath" exit $? } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { func_error "missing argument for $1" exit_cmd=exit } exit_cmd=: # Check that we have a working $ECHO. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then # Yippee, $ECHO works! : else # Restart under the correct shell, and then maybe $ECHO will work. exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # Parse options once, thoroughly. This comes as soon as possible in # the script to make things like `libtool --version' happen quickly. { # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Parse non-mode specific arguments: while test "$#" -gt 0; do opt="$1" shift case $opt in --config) func_config ;; --debug) preserve_args="$preserve_args $opt" func_echo "enabling shell trace mode" opt_debug='set -x' $opt_debug ;; -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break execute_dlfiles="$execute_dlfiles $1" shift ;; --dry-run | -n) opt_dry_run=: ;; --features) func_features ;; --finish) mode="finish" ;; --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break case $1 in # Valid mode arguments: clean) ;; compile) ;; execute) ;; finish) ;; install) ;; link) ;; relink) ;; uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac mode="$1" shift ;; --preserve-dup-deps) opt_duplicate_deps=: ;; --quiet|--silent) preserve_args="$preserve_args $opt" opt_silent=: ;; --verbose| -v) preserve_args="$preserve_args $opt" opt_silent=false ;; --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break preserve_args="$preserve_args $opt $1" func_enable_tag "$1" # tagname is set here shift ;; # Separate optargs to long options: -dlopen=*|--mode=*|--tag=*) func_opt_split "$opt" set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} shift ;; -\?|-h) func_usage ;; --help) opt_help=: ;; --version) func_version ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) nonopt="$opt" break ;; esac done case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_duplicate_deps ;; esac # Having warned about all mis-specified options, bail out if # anything was wrong. $exit_cmd $EXIT_FAILURE } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } ## ----------- ## ## Main. ## ## ----------- ## $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi test -z "$mode" && func_fatal_error "error: you must specify a MODE." # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$mode' for more information." } # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_ltwrapper_scriptname_result="" if func_ltwrapper_executable_p "$1"; then func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" fi } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done case "$@ " in " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T <?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi removelist="$removelist $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist removelist="$removelist $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$mode'" ;; esac $ECHO $ECHO "Try \`$progname --help' for more information about other modes." exit $? } # Now that we've collected a possible --mode arg, show help if necessary $opt_help && func_mode_help # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $execute_dlfiles; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_quote_for_eval "$file" args="$args $func_quote_for_eval_result" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" $ECHO "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS $ECHO "X----------------------------------------------------------------------" | $Xsed $ECHO "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done $ECHO $ECHO "If you ever happen to want to link against installed libraries" $ECHO "in a given directory, LIBDIR, you must either use libtool, and" $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" $ECHO "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" $ECHO " during execution" fi if test -n "$runpath_var"; then $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" $ECHO " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi $ECHO $ECHO "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" $ECHO "pages." ;; *) $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac $ECHO "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS } test "$mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $ECHO "X$nonopt" | $GREP shtool >/dev/null; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" install_prog="$install_prog$func_quote_for_eval_result" # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= for arg do if test -n "$dest"; then files="$files $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" install_prog="$install_prog $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for progfile in $progfiles; do func_verbose "extracting global C symbols from \`$progfile'" $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" } done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" fi $ECHO >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; " case $host in *cygwin* | *mingw* | *cegcc* ) $ECHO >> "$output_objdir/$my_dlsyms" "\ /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */" lt_dlsym_const= ;; *osf5*) echo >> "$output_objdir/$my_dlsyms" "\ /* This system does not cope well with relocations in const data */" lt_dlsym_const= ;; *) lt_dlsym_const=const ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ extern $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) symtab_cflags="$symtab_cflags $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper_part1 [arg=no] # # Emit the first part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part1 () { func_emit_wrapper_part1_arg1=no if test -n "$1" ; then func_emit_wrapper_part1_arg1=$1 fi $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then ECHO=\"$qecho\" file=\"\$0\" # Make sure echo works. if test \"X\$1\" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then # Yippee, \$ECHO works! : else # Restart under the correct shell, and then maybe \$ECHO will work. exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} fi fi\ " $ECHO "\ # Find the directory that this script lives in. thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done " } # end: func_emit_wrapper_part1 # func_emit_wrapper_part2 [arg=no] # # Emit the second part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part2 () { func_emit_wrapper_part2_arg1=no if test -n "$1" ; then func_emit_wrapper_part2_arg1=$1 fi $ECHO "\ # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # end: func_emit_wrapper_part2 # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=no if test -n "$1" ; then func_emit_wrapper_arg1=$1 fi # split this up so that func_emit_cwrapperexe_src # can call each part independently. func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" } # func_to_host_path arg # # Convert paths to host format when used with build tools. # Intended for use with "native" mingw (where libtool itself # is running under the msys shell), or in the following cross- # build environments: # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # where wine is equipped with the `winepath' executable. # In the native mingw case, the (msys) shell automatically # converts paths for any non-msys applications it launches, # but that facility isn't available from inside the cwrapper. # Similar accommodations are necessary for $host mingw and # $build cygwin. Calling this function does no harm for other # $host/$build combinations not listed above. # # ARG is the path (on $build) that should be converted to # the proper representation for $host. The result is stored # in $func_to_host_path_result. func_to_host_path () { func_to_host_path_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' case $build in *mingw* ) # actually, msys # awkward: cmd appends spaces to result lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_path_tmp1=`( cmd //c echo "$1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_path_tmp1=`cygpath -w "$1"` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # Unfortunately, winepath does not exit with a non-zero # error code, so we are forced to check the contents of # stdout. On the other hand, if the command is not # found, the shell will set an exit code of 127 and print # *an error message* to stdout. So we must check for both # error code of zero AND non-empty stdout, which explains # the odd construction: func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` else # Allow warning below. func_to_host_path_result="" fi ;; esac if test -z "$func_to_host_path_result" ; then func_error "Could not determine host path corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_path_result="$1" fi ;; esac fi } # end: func_to_host_path # func_to_host_pathlist arg # # Convert pathlists to host format when used with build tools. # See func_to_host_path(), above. This function supports the # following $build/$host combinations (but does no harm for # combinations not listed here): # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # # Path separators are also converted from $build format to # $host format. If ARG begins or ends with a path separator # character, it is preserved (but converted to $host format) # on output. # # ARG is a pathlist (on $build) that should be converted to # the proper representation on $host. The result is stored # in $func_to_host_pathlist_result. func_to_host_pathlist () { func_to_host_pathlist_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_to_host_pathlist_tmp2="$1" # Once set for this call, this variable should not be # reassigned. It is used in tha fallback case. func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e 's|^:*||' -e 's|:*$||'` case $build in *mingw* ) # Actually, msys. # Awkward: cmd appends spaces to result. lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # unfortunately, winepath doesn't convert pathlists func_to_host_pathlist_result="" func_to_host_pathlist_oldIFS=$IFS IFS=: for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do IFS=$func_to_host_pathlist_oldIFS if test -n "$func_to_host_pathlist_f" ; then func_to_host_path "$func_to_host_pathlist_f" if test -n "$func_to_host_path_result" ; then if test -z "$func_to_host_pathlist_result" ; then func_to_host_pathlist_result="$func_to_host_path_result" else func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" fi fi fi IFS=: done IFS=$func_to_host_pathlist_oldIFS ;; esac if test -z "$func_to_host_pathlist_result" ; then func_error "Could not determine the host path(s) corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This may break if $1 contains DOS-style drive # specifications. The fix is not to complicate the expression # below, but for the user to provide a working wine installation # with winepath so that path translation in the cross-to-mingw # case works properly. lt_replace_pathsep_nix_to_dos="s|:|;|g" func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_replace_pathsep_nix_to_dos"` fi # Now, add the leading and trailing path separators back case "$1" in :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" ;; esac case "$1" in *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" ;; esac ;; esac fi } # end: func_to_host_pathlist # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include # define setmode _setmode #else # include # include # ifdef __CYGWIN__ # include # define HAVE_SETENV # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif # endif #endif #include #include #include #include #include #include #include #include #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif #ifdef _MSC_VER # define S_IXUSR _S_IEXEC # define stat _stat # ifndef _INTPTR_T_DEFINED # define intptr_t int # endif #endif #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifdef __CYGWIN__ # define FOPEN_WB "wb" #endif #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #undef LTWRAPPER_DEBUGPRINTF #if defined DEBUGWRAPPER # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args static void ltwrapper_debugprintf (const char *fmt, ...) { va_list args; va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } #else # define LTWRAPPER_DEBUGPRINTF(args) #endif const char *program_name = NULL; void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_fatal (const char *message, ...); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_opt_process_env_set (const char *arg); void lt_opt_process_env_prepend (const char *arg); void lt_opt_process_env_append (const char *arg); int lt_split_name_value (const char *arg, char** name, char** value); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); static const char *script_text_part1 = EOF func_emit_wrapper_part1 yes | $SED -e 's/\([\\"]\)/\\\1/g' \ -e 's/^/ "/' -e 's/$/\\n"/' echo ";" cat <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } EOF case $host_os in mingw*) cat <<"EOF" /* execv doesn't actually work on mingw as expected on unix */ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); if (rval == -1) { /* failed to start process */ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); return 127; } return rval; EOF ;; *) cat <<"EOF" execv (lt_argv_zero, newargz); return rval; /* =127, but avoids unused variable warning */ EOF ;; esac cat <<"EOF" } void * xmalloc (size_t num) { void *p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char) name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable (const char *path) { struct stat st; LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", tmp_pathspec)); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { char *errstr = strerror (errno); lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal ("Could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } void lt_setenv (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", (name ? name : ""), (value ? value : ""))); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } int lt_split_name_value (const char *arg, char** name, char** value) { const char *p; int len; if (!arg || !*arg) return 1; p = strchr (arg, (int)'='); if (!p) return 1; *value = xstrdup (++p); len = strlen (arg) - strlen (*value); *name = XMALLOC (char, len); strncpy (*name, arg, len-1); (*name)[len - 1] = '\0'; return 0; } void lt_opt_process_env_set (const char *arg) { char *name = NULL; char *value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); } lt_setenv (name, value); XFREE (name); XFREE (value); } void lt_opt_process_env_prepend (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); } new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_opt_process_env_append (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); } new_value = lt_extend_str (getenv (name), value, 1); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_update_exe_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF } # end: func_emit_cwrapperexe_src # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) deplibs="$deplibs $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) weak_libs="$weak_libs $arg" prev= continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname '-L' '' "$arg" dir=$func_stripname_result if test -z "$dir"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" linker_flags="$linker_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" compiler_flags="$compiler_flags $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_duplicate_deps ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= case $lib in *.la) func_source "$lib" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` case " $weak_libs " in *" $deplib_base "*) ;; *) deplibs="$deplibs $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" dir=$func_stripname_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then $ECHO $ECHO "*** Warning: Trying to link with static lib archive $deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because the file extensions .$libext of this argument makes me believe" $ECHO "*** that it is just a static archive that I should not use here." else $ECHO $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) temp_rpath="$temp_rpath$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded notinst_deplibs="$notinst_deplibs $lib" need_relink=no ;; *) if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then $ECHO if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $ECHO $ECHO "*** And there doesn't seem to be a static archive available" $ECHO "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. $ECHO $ECHO "*** Warning: This system can not link to static lib archive $lib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then $ECHO "*** But as you try to build a module library, libtool will still create " $ECHO "*** a static module, that should work as long as the dlopening application" $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then $ECHO $ECHO "*** However, this would only work if libtool was able to extract symbol" $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" $ECHO "*** not find such a program. So, this module is probably useless." $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_dirname "$deplib" "" "." dir="$func_dirname_result" # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else $ECHO $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" libobjs="$libobjs $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $ECHO $ECHO "*** Warning: linker path does not have real file for library $a_deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $ECHO $ECHO "*** Warning: linker path does not have real file for library $a_deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` done fi if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | $GREP . >/dev/null; then $ECHO if test "X$deplibs_check_method" = "Xnone"; then $ECHO "*** Warning: inter-library dependencies are not supported in this platform." else $ECHO "*** Warning: inter-library dependencies are not known to be supported." fi $ECHO "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $ECHO $ECHO "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" $ECHO "*** a static module, that should work as long as the dlopening" $ECHO "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $ECHO $ECHO "*** However, this would only work if libtool was able to extract symbol" $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" $ECHO "*** not find such a program. So, this module is probably useless." $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $ECHO "*** The inter-library dependencies that have been dropped here will be" $ECHO "*** automatically added whenever a program is linked with this library" $ECHO "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $ECHO $ECHO "*** Since this library must not contain undefined symbols," $ECHO "*** because either the platform does not support them or" $ECHO "*** it was explicitly requested with -no-undefined," $ECHO "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" delfiles="$delfiles $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" func_len " $cmd" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then func_show_eval "$cmd" 'exit $?' skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output output_la=`$ECHO "X$output" | $Xsed -e "$basename"` # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" $ECHO 'INPUT (' > $output for obj in $save_libobjs do $ECHO "$obj" >> $output done $ECHO ')' >> $output delfiles="$delfiles $output" elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do $ECHO "$obj" >> $output done delfiles="$delfiles $output" output=$firstobj\"$file_list_spec$output\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. eval concat_cmds=\"$reload_cmds $objlist $last_robj\" else # All subsequent reloadable object files will link in # the last one created. eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=$obj func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi delfiles="$delfiles $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *cegcc) # Disable wrappers for cegcc, we are cross compiling anyway. wrappers_required=no ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $ECHO for shipping. if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; esac qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then oldobjs="$oldobjs $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles oldobjs="$oldobjs $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else $ECHO "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlfiles="$newdlfiles $libdir/$name" ;; *) newdlfiles="$newdlfiles $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlprefiles="$newdlprefiles $libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$mode" = link || test "$mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) RM="$RM $arg"; rmforce=yes ;; -*) RM="$RM $arg" ;; *) files="$files $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= origobjdir="$objdir" for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then objdir="$origobjdir" else objdir="$dir/$origobjdir" fi func_basename "$file" name="$func_basename_result" test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result rmfiles="$rmfiles $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$mode" = uninstall || test "$mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 gtk-engines-2.20.2/missing0000755000175000017500000002623311324777651012353 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program 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. # This program 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtk-engines-2.20.2/gtk-engines.doap0000644000175000017500000000235611445424675014033 00000000000000 gtk-engines GTK+ Theme Engines Andrea Cimitan acimitan Benjamin Berg bberg Thomas Wood thos gtk-engines-2.20.2/autogen.sh0000755000175000017500000000406711445424675012755 00000000000000#!/bin/sh # Run this to generate all the initial makefiles, etc. srcdir=`dirname $0` test -z "$srcdir" && srcdir=. DIE=0 THEDIR=`pwd` cd $srcdir (autoconf --version) < /dev/null > /dev/null 2>&1 || { echo echo "You must have autoconf installed to compile GTK+." echo "Download the appropriate package for your distribution," echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/" DIE=1 } if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then AUTOMAKE=automake-1.11 ACLOCAL=aclocal-1.11 elif automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then AUTOMAKE=automake-1.10 ACLOCAL=aclocal-1.10 elif automake-1.9 --version < /dev/null > /dev/null 2>&1 ; then AUTOMAKE=automake-1.9 ACLOCAL=aclocal-1.9 elif automake-1.8 --version < /dev/null > /dev/null 2>&1 ; then AUTOMAKE=automake-1.8 ACLOCAL=aclocal-1.8 elif automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then AUTOMAKE=automake-1.7 ACLOCAL=aclocal-1.7 else echo echo "You must have automake 1.7.x installed to compile $PROJECT." echo "Install the appropriate package for your distribution," echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/" DIE=1 fi (libtool --version) < /dev/null > /dev/null 2>&1 || { echo echo "You must have libtool installed to compile GTK+." echo "Get http://ftp.gnu.org/gnu/libtool/libtool-1.5.10.tar.gz" echo "(or a newer version if it is available)" DIE=1 } (intltoolize --version) < /dev/null > /dev/null 2>&1 || { echo echo "You must have intltool installed to compile gtk-engines." DIE=1 } if test "$DIE" -eq 1; then exit 1 fi if test -z "$*"; then echo "I am going to run ./configure with no arguments - if you wish " echo "to pass any to it, please specify them on the $0 command line." fi libtoolize --force --copy intltoolize --force --copy --automake $ACLOCAL $ACLOCAL_FLAGS autoconf autoheader $AUTOMAKE --add-missing cd $THEDIR $srcdir/configure --enable-maintainer-mode "$@" echo echo "Now type 'make' to compile themes" gtk-engines-2.20.2/gtk-engines.spec0000644000175000017500000000250211451355767014035 00000000000000Summary: Default GTK+ theme engines Name: gtk2-engines Version: 2.20.2 Release: 1 License: GPL Group: X11/Libraries Source: gtk-engines-%{version}.tar.gz URL: ftp://ftp.gnome.org/pub/GNOME/sources/gtk-engines/ BuildRoot:/var/tmp/gtk-engines-%{PACKAGE_VERSION}-root %description These are the graphical engines for the various GTK+ toolkit themes. %prep %setup -n gtk-engines-%{version} %build # Needed for snapshot releases. if [ ! -f configure ]; then ./autogen.sh fi %configure if [ "$SMP" != "" ]; then make -j$SMP "MAKE=make -j$SMP" else make fi %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT %makeinstall # Clean out files that should not be part of the rpm. # This is the recommended way of dealing with it for RH8 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.10.0/engines/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.10.0/engines/*.a %clean rm -rf $RPM_BUILD_ROOT %changelog * Fri Jan 17 2003 Owen Taylor - Various fixes to good RPM practice * Thu Oct 22 2002 Christian F.K. Schaller - Update SPEC file to include latest stuff - work on RH8 * Fri Nov 20 1998 Michael Fulbright - First try at a spec file %files %defattr(-, root, root) %doc COPYING README NEWS ChangeLog %{_datadir}/themes %{_libdir}/gtk-2.0/2.10.0/engines/*.so %{_libdir}/pkgconfig gtk-engines-2.20.2/intltool-extract.in0000644000175000017500000000000011446654310014567 00000000000000gtk-engines-2.20.2/intltool-merge.in0000644000175000017500000000000011446654310014214 00000000000000gtk-engines-2.20.2/intltool-update.in0000644000175000017500000000000011446654310014377 00000000000000gtk-engines-2.20.2/engines/0000755000175000017500000000000011451420647012445 500000000000000gtk-engines-2.20.2/engines/Makefile.am0000644000175000017500000000026411451352576014430 00000000000000SUBDIRS = support $(BUILD_ENGINES) DIST_SUBDIRS = support clearlooks crux glide hc industrial lua mist redmond thinice EXTRA_DIST = engine.symbols -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/Makefile.in0000644000175000017500000004316311451355760014444 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = support $(BUILD_ENGINES) DIST_SUBDIRS = support clearlooks crux glide hc industrial lua mist redmond thinice EXTRA_DIST = engine.symbols all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/engine.symbols0000644000175000017500000000010011445424675015243 00000000000000g_module_check_init theme_init theme_exit theme_create_rc_style gtk-engines-2.20.2/engines/support/0000755000175000017500000000000011451420647014161 500000000000000gtk-engines-2.20.2/engines/support/Makefile.am0000644000175000017500000000047411445424675016152 00000000000000noinst_LTLIBRARIES=libsupport.la INCLUDES = $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) EXTRA_DIST = ./config.h.in libsupport_la_SOURCES = \ ./cairo-support.c \ ./cairo-support.h \ ./general-support.h \ ./widget-information.c \ ./widget-information.h \ ./ge-support.h \ ./config.h -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/support/Makefile.in0000644000175000017500000004472611451355761016167 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/support DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/config.h.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libsupport_la_LIBADD = am_libsupport_la_OBJECTS = cairo-support.lo widget-information.lo libsupport_la_OBJECTS = $(am_libsupport_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libsupport_la_SOURCES) DIST_SOURCES = $(libsupport_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libsupport.la INCLUDES = $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) EXTRA_DIST = ./config.h.in libsupport_la_SOURCES = \ ./cairo-support.c \ ./cairo-support.h \ ./general-support.h \ ./widget-information.c \ ./widget-information.h \ ./ge-support.h \ ./config.h all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/support/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/support/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status engines/support/config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libsupport.la: $(libsupport_la_OBJECTS) $(libsupport_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libsupport_la_OBJECTS) $(libsupport_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-support.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/widget-information.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< cairo-support.lo: ./cairo-support.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cairo-support.lo -MD -MP -MF $(DEPDIR)/cairo-support.Tpo -c -o cairo-support.lo `test -f './cairo-support.c' || echo '$(srcdir)/'`./cairo-support.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cairo-support.Tpo $(DEPDIR)/cairo-support.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./cairo-support.c' object='cairo-support.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cairo-support.lo `test -f './cairo-support.c' || echo '$(srcdir)/'`./cairo-support.c widget-information.lo: ./widget-information.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT widget-information.lo -MD -MP -MF $(DEPDIR)/widget-information.Tpo -c -o widget-information.lo `test -f './widget-information.c' || echo '$(srcdir)/'`./widget-information.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/widget-information.Tpo $(DEPDIR)/widget-information.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./widget-information.c' object='widget-information.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o widget-information.lo `test -f './widget-information.c' || echo '$(srcdir)/'`./widget-information.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) config.h installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: all install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-hdr \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/support/config.h.in0000644000175000017500000000471011451356000016115 00000000000000/* engines/support/config.h.in. Generated from configure.ac by autoheader. */ /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* Defines whether to enable runtime widget checks as a fallback to hints from the theme. */ #undef ENABLE_WIDGET_CHECKS /* Gettext package */ #undef GETTEXT_PACKAGE /* Defines whether to compile with animation support */ #undef HAVE_ANIMATION /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION gtk-engines-2.20.2/engines/support/cairo-support.c0000644000175000017500000005322711446654310017065 00000000000000/* Helper functions for gtk-engines * * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006 Thomas Wood * Copyright (C) 2006-2007 Benjamin Berg * Copyright (C) 2007 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Andrew Johnson * Written by Benjamin Berg * Written by Thomas Wood * modified by Andrea Cimitan * */ #include #include "general-support.h" #include "cairo-support.h" /*********************************************** * ge_hsb_from_color - * * Get HSB values from RGB values. * * Modified from Smooth but originated in GTK+ ***********************************************/ void ge_hsb_from_color (const CairoColor *color, gdouble *hue, gdouble *saturation, gdouble *brightness) { gdouble min, max, delta; gdouble red, green, blue; red = color->r; green = color->g; blue = color->b; if (red > green) { max = MAX(red, blue); min = MIN(green, blue); } else { max = MAX(green, blue); min = MIN(red, blue); } *brightness = (max + min) / 2; if (fabs(max - min) < 0.0001) { *hue = 0; *saturation = 0; } else { if (*brightness <= 0.5) *saturation = (max - min) / (max + min); else *saturation = (max - min) / (2 - max - min); delta = max -min; if (red == max) *hue = (green - blue) / delta; else if (green == max) *hue = 2 + (blue - red) / delta; else if (blue == max) *hue = 4 + (red - green) / delta; *hue *= 60; if (*hue < 0.0) *hue += 360; } } /*********************************************** * ge_color_from_hsb - * * Get RGB values from HSB values. * * Modified from Smooth but originated in GTK+ ***********************************************/ #define MODULA(number, divisor) (((gint)number % divisor) + (number - (gint)number)) void ge_color_from_hsb (gdouble hue, gdouble saturation, gdouble brightness, CairoColor *color) { gint i; gdouble hue_shift[3], color_shift[3]; gdouble m1, m2, m3; if (!color) return; if (brightness <= 0.5) m2 = brightness * (1 + saturation); else m2 = brightness + saturation - brightness * saturation; m1 = 2 * brightness - m2; hue_shift[0] = hue + 120; hue_shift[1] = hue; hue_shift[2] = hue - 120; color_shift[0] = color_shift[1] = color_shift[2] = brightness; i = (saturation == 0)?3:0; for (; i < 3; i++) { m3 = hue_shift[i]; if (m3 > 360) m3 = MODULA(m3, 360); else if (m3 < 0) m3 = 360 - MODULA(ABS(m3), 360); if (m3 < 60) color_shift[i] = m1 + (m2 - m1) * m3 / 60; else if (m3 < 180) color_shift[i] = m2; else if (m3 < 240) color_shift[i] = m1 + (m2 - m1) * (240 - m3) / 60; else color_shift[i] = m1; } color->r = color_shift[0]; color->g = color_shift[1]; color->b = color_shift[2]; color->a = 1.0; } void ge_gdk_color_to_cairo (const GdkColor *c, CairoColor *cc) { gdouble r, g, b; g_return_if_fail (c && cc); r = c->red / 65535.0; g = c->green / 65535.0; b = c->blue / 65535.0; cc->r = r; cc->g = g; cc->b = b; cc->a = 1.0; } void ge_cairo_color_to_gtk (const CairoColor *cc, GdkColor *c) { gdouble r, g, b; g_return_if_fail (c && cc); r = cc->r * 65535.0; g = cc->g * 65535.0; b = cc->b * 65535.0; c->red = r; c->green = g; c->blue = b; } void ge_gtk_style_to_cairo_color_cube (GtkStyle * style, CairoColorCube *cube) { int i; g_return_if_fail (style && cube); for (i = 0; i < 5; i++) { ge_gdk_color_to_cairo (&style->bg[i], &cube->bg[i]); ge_gdk_color_to_cairo (&style->fg[i], &cube->fg[i]); ge_gdk_color_to_cairo (&style->dark[i], &cube->dark[i]); ge_gdk_color_to_cairo (&style->light[i], &cube->light[i]); ge_gdk_color_to_cairo (&style->mid[i], &cube->mid[i]); ge_gdk_color_to_cairo (&style->base[i], &cube->base[i]); ge_gdk_color_to_cairo (&style->text[i], &cube->text[i]); ge_gdk_color_to_cairo (&style->text_aa[i], &cube->text_aa[i]); } cube->black.r = cube->black.g = cube->black.b = 0; cube->black.a = 1; cube->white.r = cube->white.g = cube->white.b = 1; cube->white.a = 1; } void ge_shade_color(const CairoColor *base, gdouble shade_ratio, CairoColor *composite) { gdouble hue = 0; gdouble saturation = 0; gdouble brightness = 0; g_return_if_fail (base && composite); if (shade_ratio == 1.0) { composite->r = base->r; composite->g = base->g; composite->b = base->b; composite->a = base->a; return; } ge_hsb_from_color (base, &hue, &saturation, &brightness); brightness = MIN(brightness*shade_ratio, 1.0); brightness = MAX(brightness, 0.0); saturation = MIN(saturation*shade_ratio, 1.0); saturation = MAX(saturation, 0.0); ge_color_from_hsb (hue, saturation, brightness, composite); composite->a = base->a; } void ge_saturate_color (const CairoColor *base, gdouble saturate_level, CairoColor *composite) { gdouble hue = 0; gdouble saturation = 0; gdouble brightness = 0; g_return_if_fail (base && composite); ge_hsb_from_color (base, &hue, &saturation, &brightness); saturation = MIN(saturation*saturate_level, 1.0); saturation = MAX(saturation, 0.0); ge_color_from_hsb (hue, saturation, brightness, composite); composite->a = base->a; } void ge_mix_color (const CairoColor *color1, const CairoColor *color2, gdouble mix_factor, CairoColor *composite) { g_return_if_fail (color1 && color2 && composite); composite->r = color1->r * (1-mix_factor) + color2->r * mix_factor; composite->g = color1->g * (1-mix_factor) + color2->g * mix_factor; composite->b = color1->b * (1-mix_factor) + color2->b * mix_factor; composite->a = 1.0; } cairo_t * ge_gdk_drawable_to_cairo (GdkDrawable *window, GdkRectangle *area) { cairo_t *cr; g_return_val_if_fail (window != NULL, NULL); cr = (cairo_t*) gdk_cairo_create (window); cairo_set_line_width (cr, 1.0); cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER); if (area) { cairo_rectangle (cr, area->x, area->y, area->width, area->height); cairo_clip_preserve (cr); cairo_new_path (cr); } return cr; } void ge_cairo_set_color (cairo_t *cr, const CairoColor *color) { g_return_if_fail (cr && color); cairo_set_source_rgba (cr, color->r, color->g, color->b, color->a); } void ge_cairo_set_gdk_color_with_alpha (cairo_t *cr, const GdkColor *color, gdouble alpha) { g_return_if_fail (cr && color); cairo_set_source_rgba (cr, color->red / 65535.0, color->green / 65535.0, color->blue / 65535.0, alpha); } void ge_cairo_pattern_add_color_stop_color (cairo_pattern_t *pattern, gfloat offset, const CairoColor *color) { g_return_if_fail (pattern && color); cairo_pattern_add_color_stop_rgba (pattern, offset, color->r, color->g, color->b, color->a); } void ge_cairo_pattern_add_color_stop_shade (cairo_pattern_t *pattern, gdouble offset, const CairoColor *color, gdouble shade) { CairoColor shaded; g_return_if_fail (pattern && color && (shade >= 0) && (shade <= 3)); shaded = *color; if (shade != 1) { ge_shade_color(color, shade, &shaded); } ge_cairo_pattern_add_color_stop_color(pattern, offset, &shaded); } /* * This function will draw a rounded corner at position x,y. If the radius * is very small (or negative) it will instead just do a line_to. * ge_cairo_rounded_corner assumes clockwise drawing. */ void ge_cairo_rounded_corner (cairo_t *cr, double x, double y, double radius, CairoCorners corner) { if (radius < 0.0001) { cairo_line_to (cr, x, y); } else { switch (corner) { case CR_CORNER_NONE: cairo_line_to (cr, x, y); break; case CR_CORNER_TOPLEFT: cairo_arc (cr, x + radius, y + radius, radius, G_PI, G_PI * 3/2); break; case CR_CORNER_TOPRIGHT: cairo_arc (cr, x - radius, y + radius, radius, G_PI * 3/2, G_PI * 2); break; case CR_CORNER_BOTTOMRIGHT: cairo_arc (cr, x - radius, y - radius, radius, 0, G_PI * 1/2); break; case CR_CORNER_BOTTOMLEFT: cairo_arc (cr, x + radius, y - radius, radius, G_PI * 1/2, G_PI); break; default: /* A bitfield and not a sane value ... */ g_assert_not_reached (); cairo_line_to (cr, x, y); return; } } } void ge_cairo_rounded_rectangle (cairo_t *cr, double x, double y, double w, double h, double radius, CairoCorners corners) { g_return_if_fail (cr != NULL); if (radius < 0.0001 || corners == CR_CORNER_NONE) { cairo_rectangle (cr, x, y, w, h); return; } #ifdef DEVELOPMENT if ((corners == CR_CORNER_ALL) && (radius > w / 2.0 || radius > h / 2.0)) g_warning ("Radius is too large for width/height in ge_rounded_rectangle.\n"); else if (radius > w || radius > h) /* This isn't perfect. Assumes that only one corner is set. */ g_warning ("Radius is too large for width/height in ge_rounded_rectangle.\n"); #endif if (corners & CR_CORNER_TOPLEFT) cairo_move_to (cr, x+radius, y); else cairo_move_to (cr, x, y); if (corners & CR_CORNER_TOPRIGHT) cairo_arc (cr, x+w-radius, y+radius, radius, G_PI * 1.5, G_PI * 2); else cairo_line_to (cr, x+w, y); if (corners & CR_CORNER_BOTTOMRIGHT) cairo_arc (cr, x+w-radius, y+h-radius, radius, 0, G_PI * 0.5); else cairo_line_to (cr, x+w, y+h); if (corners & CR_CORNER_BOTTOMLEFT) cairo_arc (cr, x+radius, y+h-radius, radius, G_PI * 0.5, G_PI); else cairo_line_to (cr, x, y+h); if (corners & CR_CORNER_TOPLEFT) cairo_arc (cr, x+radius, y+radius, radius, G_PI, G_PI * 1.5); else cairo_line_to (cr, x, y); } /* ge_cairo_stroke_rectangle. * * A simple function to stroke the rectangle { x, y, w, h}. * (This function only exists because of a cairo performance bug that * has been fixed and it may be a good idea to get rid of it again.) */ void ge_cairo_stroke_rectangle (cairo_t *cr, double x, double y, double w, double h) { cairo_rectangle (cr, x, y, w, h); cairo_stroke (cr); } void ge_cairo_inner_rectangle (cairo_t *cr, double x, double y, double width, double height) { double line_width = cairo_get_line_width (cr); cairo_rectangle (cr, x + line_width / 2.0, y + line_width / 2.0, width - line_width, height - line_width); } void ge_cairo_inner_rounded_rectangle (cairo_t *cr, double x, double y, double width, double height, double radius, CairoCorners corners) { double line_width = cairo_get_line_width (cr); ge_cairo_rounded_rectangle (cr, x + line_width / 2.0, y + line_width / 2.0, width - line_width, height - line_width, radius, corners); } /*********************************************** * ge_cairo_simple_border - * * A simple routine to draw thin squared * borders with a topleft and bottomright color. * * It originated in Smooth-Engine. ***********************************************/ void ge_cairo_simple_border (cairo_t *cr, const CairoColor * tl, const CairoColor * br, gint x, gint y, gint width, gint height, gboolean topleft_overlap) { gboolean solid_color; g_return_if_fail (cr != NULL); g_return_if_fail (tl != NULL); g_return_if_fail (br != NULL); solid_color = (tl == br) || ((tl->r == br->r) && (tl->g == br->g) && (tl->b == br->b) && (tl->a == br->a)); topleft_overlap &= !solid_color; cairo_save(cr); cairo_set_line_width (cr, 1); if (topleft_overlap) { ge_cairo_set_color(cr, br); cairo_move_to(cr, x + 0.5, y + height - 0.5); cairo_line_to(cr, x + width - 0.5, y + height - 0.5); cairo_line_to(cr, x + width - 0.5, y + 0.5); cairo_stroke (cr); } ge_cairo_set_color(cr, tl); cairo_move_to(cr, x + 0.5, y + height - 0.5); cairo_line_to(cr, x + 0.5, y + 0.5); cairo_line_to(cr, x + width - 0.5, y + 0.5); if (!topleft_overlap) { if (!solid_color) { cairo_stroke(cr); ge_cairo_set_color(cr, br); } cairo_move_to(cr, x + 0.5, y + height - 0.5); cairo_line_to(cr, x + width - 0.5, y + height - 0.5); cairo_line_to(cr, x + width - 0.5, y + 0.5); } cairo_stroke(cr); cairo_restore(cr); } void ge_cairo_polygon (cairo_t *cr, const CairoColor *color, GdkPoint *points, gint npoints) { int i = 0; cairo_save(cr); ge_cairo_set_color(cr, color); cairo_move_to(cr, points[0].x, points[0].y); for (i = 1; i < npoints; i++) { if (!((points[i].x == points[i + 1].x) && (points[i].y == points[i + 1].y))) { cairo_line_to(cr, points[i].x, points[i].y); } } if ((points[npoints-1].x != points[0].y) || (points[npoints-1].y != points[0].y)) { cairo_line_to(cr, points[0].x, points[0].y); } cairo_fill(cr); cairo_restore(cr); } void ge_cairo_line (cairo_t *cr, const CairoColor *color, gint x1, gint y1, gint x2, gint y2) { cairo_save(cr); ge_cairo_set_color(cr, color); cairo_set_line_width (cr, 1); cairo_move_to(cr, x1 + 0.5, y1 + 0.5); cairo_line_to(cr, x2 + 0.5, y2 + 0.5); cairo_stroke(cr); cairo_restore(cr); } void ge_cairo_mirror (cairo_t *cr, CairoMirror mirror, gint *x, gint *y, gint *width, gint *height) { cairo_matrix_t matrix; cairo_matrix_init_identity (&matrix); cairo_translate (cr, *x, *y); *x = 0; *y = 0; if (mirror & CR_MIRROR_HORIZONTAL) { cairo_matrix_scale (&matrix, -1, 1); *x = -*width; } if (mirror & CR_MIRROR_VERTICAL) { cairo_matrix_scale (&matrix, 1, -1); *y = -*height; } cairo_transform (cr, &matrix); } void ge_cairo_exchange_axis (cairo_t *cr, gint *x, gint *y, gint *width, gint *height) { gint tmp; cairo_matrix_t matrix; cairo_translate (cr, *x, *y); cairo_matrix_init (&matrix, 0, 1, 1, 0, 0, 0); cairo_transform (cr, &matrix); /* swap width/height */ tmp = *width; *x = 0; *y = 0; *width = *height; *height = tmp; } /*********************************************** * ge_cairo_pattern_fill - * * Fill an area with some pattern * Scaling or tiling if needed ***********************************************/ void ge_cairo_pattern_fill(cairo_t *canvas, CairoPattern *pattern, gint x, gint y, gint width, gint height) { cairo_matrix_t original_matrix, current_matrix; if (pattern->operator == CAIRO_OPERATOR_DEST) return; if (width <= 0 || height <= 0) return; cairo_pattern_get_matrix(pattern->handle, &original_matrix); current_matrix = original_matrix; if (pattern->scale != GE_DIRECTION_NONE) { gdouble scale_x = 1.0; gdouble scale_y = 1.0; if ((pattern->scale == GE_DIRECTION_VERTICAL) || (pattern->scale == GE_DIRECTION_BOTH)) { scale_x = 1.0/width; } if ((pattern->scale == GE_DIRECTION_HORIZONTAL) || (pattern->scale == GE_DIRECTION_BOTH)) { scale_y = 1.0/height; } cairo_matrix_scale(¤t_matrix, scale_x, scale_y); } if (pattern->translate != GE_DIRECTION_NONE) { gdouble translate_x = 0; gdouble translate_y = 0; if ((pattern->translate == GE_DIRECTION_VERTICAL) || (pattern->translate == GE_DIRECTION_BOTH)) { translate_x = 0.0-x; } if ((pattern->translate == GE_DIRECTION_HORIZONTAL) || (pattern->translate == GE_DIRECTION_BOTH)) { translate_y = 0.0-y; } cairo_matrix_translate(¤t_matrix, translate_x, translate_y); } cairo_pattern_set_matrix(pattern->handle, ¤t_matrix); cairo_save(canvas); cairo_set_source(canvas, pattern->handle); cairo_set_operator(canvas, pattern->operator); cairo_rectangle(canvas, x, y, width, height); cairo_fill (canvas); cairo_restore(canvas); cairo_pattern_set_matrix(pattern->handle, &original_matrix); } /*********************************************** * ge_cairo_color_pattern - * * Create A Solid Color Pattern ***********************************************/ CairoPattern* ge_cairo_color_pattern(CairoColor *base) { CairoPattern * result = g_new0(CairoPattern, 1); #if ((CAIRO_VERSION_MAJOR < 1) || ((CAIRO_VERSION_MAJOR == 1) && (CAIRO_VERSION_MINOR < 2))) result->type = CAIRO_PATTERN_TYPE_SOLID; #endif result->scale = GE_DIRECTION_NONE; result->translate = GE_DIRECTION_NONE; result->handle = cairo_pattern_create_rgba(base->r, base->g, base->b, base->a); result->operator = CAIRO_OPERATOR_SOURCE; return result; } /*********************************************** * ge_cairo_pixbuf_pattern - * * Create A Tiled Pixbuf Pattern ***********************************************/ CairoPattern* ge_cairo_pixbuf_pattern(GdkPixbuf *pixbuf) { CairoPattern * result = g_new0(CairoPattern, 1); cairo_t *canvas; cairo_surface_t * surface; gint width, height; #if ((CAIRO_VERSION_MAJOR < 1) || ((CAIRO_VERSION_MAJOR == 1) && (CAIRO_VERSION_MINOR < 2))) result->type = CAIRO_PATTERN_TYPE_SURFACE; #endif result->scale = GE_DIRECTION_NONE; result->translate = GE_DIRECTION_BOTH; width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); canvas = cairo_create(surface); gdk_cairo_set_source_pixbuf (canvas, pixbuf, 0, 0); cairo_rectangle (canvas, 0, 0, width, height); cairo_fill (canvas); cairo_destroy(canvas); result->handle = cairo_pattern_create_for_surface (surface); cairo_surface_destroy(surface); cairo_pattern_set_extend (result->handle, CAIRO_EXTEND_REPEAT); result->operator = CAIRO_OPERATOR_SOURCE; return result; } /*********************************************** * ge_cairo_pixmap_pattern - * * Create A Tiled Pixmap Pattern ***********************************************/ CairoPattern* ge_cairo_pixmap_pattern(GdkPixmap *pixmap) { CairoPattern * result = NULL; GdkPixbuf * pixbuf; gint width, height; gdk_drawable_get_size (GDK_DRAWABLE (pixmap), &width, &height); pixbuf = gdk_pixbuf_get_from_drawable(NULL, GDK_DRAWABLE (pixmap), gdk_drawable_get_colormap(GDK_DRAWABLE (pixmap)), 0, 0, 0, 0, width, height); result = ge_cairo_pixbuf_pattern(pixbuf); g_object_unref (pixbuf); return result; } /*********************************************** * ge_cairo_linear_shade_gradient_pattern - * * Create A Linear Shade Gradient Pattern * Aka Smooth Shade Gradient, from/to gradient * With End points defined as shades of the * base color ***********************************************/ CairoPattern * ge_cairo_linear_shade_gradient_pattern(CairoColor *base, gdouble shade1, gdouble shade2, gboolean vertical) { CairoPattern * result = g_new0(CairoPattern, 1); #if ((CAIRO_VERSION_MAJOR < 1) || ((CAIRO_VERSION_MAJOR == 1) && (CAIRO_VERSION_MINOR < 2))) result->type = CAIRO_PATTERN_TYPE_LINEAR; #endif if (vertical) { result->scale = GE_DIRECTION_VERTICAL; result->handle = cairo_pattern_create_linear(0, 0, 1, 0); } else { result->scale = GE_DIRECTION_HORIZONTAL; result->handle = cairo_pattern_create_linear(0, 0, 0, 1); } result->translate = GE_DIRECTION_BOTH; result->operator = CAIRO_OPERATOR_SOURCE; ge_cairo_pattern_add_color_stop_shade(result->handle, 0, base, shade1); ge_cairo_pattern_add_color_stop_shade(result->handle, 1, base, shade2); return result; } void ge_cairo_pattern_destroy(CairoPattern *pattern) { if (pattern) { if (pattern->handle) cairo_pattern_destroy(pattern->handle); g_free(pattern); } } /* * The following function will be called by GTK+ when the module * is loaded and checks to see if we are compatible with the * version of GTK+ that loads us. */ GE_EXPORT const gchar* g_module_check_init (GModule *module); const gchar* g_module_check_init (GModule *module) { return gtk_check_version (GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION - GTK_INTERFACE_AGE); } gtk-engines-2.20.2/engines/support/cairo-support.h0000644000175000017500000001352711446654310017071 00000000000000/* Helper functions for gtk-engines * * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006 Thomas Wood * Copyright (C) 2006-2007 Benjamin Berg * Copyright (C) 2007 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Andrew Johnson * Written by Benjamin Berg * Written by Thomas Wood * modified by Andrea Cimitan * */ #include #include typedef struct { gdouble r; gdouble g; gdouble b; gdouble a; } CairoColor; typedef struct { CairoColor bg[5]; CairoColor fg[5]; CairoColor dark[5]; CairoColor light[5]; CairoColor mid[5]; CairoColor base[5]; CairoColor text[5]; CairoColor text_aa[5]; CairoColor black; CairoColor white; } CairoColorCube; typedef enum { CR_CORNER_NONE = 0, CR_CORNER_TOPLEFT = 1, CR_CORNER_TOPRIGHT = 2, CR_CORNER_BOTTOMLEFT = 4, CR_CORNER_BOTTOMRIGHT = 8, CR_CORNER_ALL = 15 } CairoCorners; typedef enum { CR_MIRROR_NONE = 0, CR_MIRROR_HORIZONTAL = 1 << 0, CR_MIRROR_VERTICAL = 1 << 1 } CairoMirror; /*****************************/ /* Pattern Fills */ /*****************************/ typedef enum { GE_DIRECTION_VERTICAL, GE_DIRECTION_HORIZONTAL, GE_DIRECTION_BOTH, GE_DIRECTION_NONE } GeDirection; #if ((CAIRO_VERSION_MAJOR < 1) || ((CAIRO_VERSION_MAJOR == 1) && (CAIRO_VERSION_MINOR < 2))) typedef enum _cairo_pattern_type { CAIRO_PATTERN_TYPE_SOLID, CAIRO_PATTERN_TYPE_SURFACE, CAIRO_PATTERN_TYPE_LINEAR, CAIRO_PATTERN_TYPE_RADIAL } cairo_pattern_type_t; # define CAIRO_PATTERN_TYPE(pattern) pattern->type; #else # define CAIRO_PATTERN_TYPE(pattern) cairo_pattern_get_type (pattern->handle); #endif typedef struct { #if ((CAIRO_VERSION_MAJOR < 1) || ((CAIRO_VERSION_MAJOR == 1) && (CAIRO_VERSION_MINOR < 2))) cairo_pattern_type_t type; #endif GeDirection scale; GeDirection translate; cairo_pattern_t *handle; cairo_operator_t operator; } CairoPattern; GE_INTERNAL void ge_hsb_from_color (const CairoColor *color, gdouble *hue, gdouble *saturation, gdouble *brightness); GE_INTERNAL void ge_color_from_hsb (gdouble hue, gdouble saturation, gdouble brightness, CairoColor *color); GE_INTERNAL void ge_gdk_color_to_cairo (const GdkColor * gc, CairoColor * cc); GE_INTERNAL void ge_cairo_color_to_gtk (const CairoColor *cc, GdkColor *c); GE_INTERNAL void ge_gtk_style_to_cairo_color_cube (GtkStyle * style, CairoColorCube *cube); GE_INTERNAL void ge_shade_color(const CairoColor *base, gdouble shade_ratio, CairoColor *composite); GE_INTERNAL void ge_saturate_color (const CairoColor * base, gdouble saturate_level, CairoColor *composite); GE_INTERNAL void ge_mix_color (const CairoColor *color1, const CairoColor *color2, gdouble mix_factor, CairoColor *composite); GE_INTERNAL cairo_t * ge_gdk_drawable_to_cairo (GdkDrawable *window, GdkRectangle *area); GE_INTERNAL void ge_cairo_set_color (cairo_t *cr, const CairoColor *color); GE_INTERNAL void ge_cairo_set_gdk_color_with_alpha (cairo_t *cr, const GdkColor *color, gdouble alpha); GE_INTERNAL void ge_cairo_pattern_add_color_stop_color (cairo_pattern_t *pattern, gfloat offset, const CairoColor *color); GE_INTERNAL void ge_cairo_pattern_add_color_stop_shade (cairo_pattern_t *pattern, gdouble offset, const CairoColor *color, gdouble shade); GE_INTERNAL void ge_cairo_rounded_corner (cairo_t *cr, double x, double y, double radius, CairoCorners corner); GE_INTERNAL void ge_cairo_rounded_rectangle (cairo_t *cr, double x, double y, double w, double h, double radius, CairoCorners corners); GE_INTERNAL void ge_cairo_stroke_rectangle (cairo_t *cr, double x, double y, double w, double h); GE_INTERNAL void ge_cairo_inner_rectangle (cairo_t *cr, double x, double y, double width, double height); GE_INTERNAL void ge_cairo_inner_rounded_rectangle (cairo_t *cr, double x, double y, double width, double height, double radius, CairoCorners corners); GE_INTERNAL void ge_cairo_simple_border (cairo_t *cr, const CairoColor * tl, const CairoColor * br, gint x, gint y, gint width, gint height, gboolean topleft_overlap); GE_INTERNAL void ge_cairo_line (cairo_t *cr, const CairoColor *color, gint x1, gint y1, gint x2, gint y2); GE_INTERNAL void ge_cairo_polygon (cairo_t *cr, const CairoColor *color, GdkPoint *points, gint npoints); GE_INTERNAL void ge_cairo_mirror (cairo_t *cr, CairoMirror mirror, gint *x, gint *y, gint *width, gint *height); GE_INTERNAL void ge_cairo_exchange_axis (cairo_t *cr, gint *x, gint *y, gint *width, gint *height); GE_INTERNAL void ge_cairo_pattern_fill(cairo_t *canvas, CairoPattern *pattern, gint x, gint y, gint width, gint height); GE_INTERNAL CairoPattern *ge_cairo_color_pattern(CairoColor *base); GE_INTERNAL CairoPattern *ge_cairo_pixbuf_pattern(GdkPixbuf *pixbuf); GE_INTERNAL CairoPattern *ge_cairo_pixmap_pattern(GdkPixmap *pixmap); GE_INTERNAL CairoPattern *ge_cairo_linear_shade_gradient_pattern(CairoColor *base, gdouble shade1, gdouble shade2, gboolean vertical); GE_INTERNAL void ge_cairo_pattern_destroy(CairoPattern *pattern); gtk-engines-2.20.2/engines/support/general-support.h0000644000175000017500000000450111445424675017411 00000000000000/* Helper functions for gtk-engines * * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Andrew Johnson * Written by Benjamin Berg * */ #ifndef __GENERAL_SUPPORT_H #define __GENERAL_SUPPORT_H #include #include /* macros to make sure that things are sane ... */ #define CHECK_DETAIL(detail, value) ((detail) && (!strcmp(value, detail))) #define CHECK_ARGS \ g_return_if_fail (window != NULL); \ g_return_if_fail (style != NULL); #define SANITIZE_SIZE \ g_return_if_fail (width >= -1); \ g_return_if_fail (height >= -1); \ \ if ((width == -1) && (height == -1)) \ gdk_drawable_get_size (window, &width, &height); \ else if (width == -1) \ gdk_drawable_get_size (window, &width, NULL); \ else if (height == -1) \ gdk_drawable_get_size (window, NULL, &height); #define GE_EXPORT G_MODULE_EXPORT #define GE_INTERNAL G_GNUC_INTERNAL /* explicitly export with ggc, G_MODULE_EXPORT does not do this, this should * make it possible to compile with -fvisibility=hidden */ #ifdef G_HAVE_GNUC_VISIBILITY # undef GE_EXPORT # define GE_EXPORT __attribute__((__visibility__("default"))) #endif #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) # undef GE_EXPORT # undef GE_INTERNAL # define GE_EXPORT __global # define GE_INTERNAL __hidden #endif #endif /* __GENERAL_SUPPORT_H */ gtk-engines-2.20.2/engines/support/widget-information.c0000644000175000017500000003024111446654310020053 00000000000000/* Helper functions for gtk-engines * * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Andrew Johnson * Written by Benjamin Berg * modified by Andrea Cimitan * */ #include #include "general-support.h" #include "widget-information.h" #include "config.h" #include #include static gchar ge_widget_hints[] = "treeview\0" "treeview-header\0" "statusbar\0" "comboboxentry\0" "spinbutton\0" "scale\0" "vscale\0" "hscale\0" "scrollbar\0" "vscrollbar\0" "hscrollbar\0" "progressbar\0" "menubar\0"; gboolean ge_check_hint (GEHint hint, GQuark style_hint, GtkWidget *widget) { static GEHint quark_hint_lookup[GE_HINT_COUNT] = {0}; g_assert ((hint >= 0) && (hint < GE_HINT_COUNT)); /* Initilize lookup table */ if (G_UNLIKELY (quark_hint_lookup[0] == 0)) { guint i = 0; gchar *cur_hint_str = ge_widget_hints; while ((i < GE_HINT_COUNT) && cur_hint_str[0]) { /* Can't use _from_static_string as the engine may be unloaded. */ quark_hint_lookup[i] = g_quark_from_string (cur_hint_str); cur_hint_str += strlen(cur_hint_str) + 1; i++; } g_assert (i == GE_HINT_COUNT && cur_hint_str[0] == '\0'); } if (quark_hint_lookup[hint] == style_hint) return TRUE; /* Try to decide based on other hints, eg. hscale is also a scale. */ if (hint == GE_HINT_SCALE) if (ge_check_hint (GE_HINT_VSCALE, style_hint, widget) || ge_check_hint (GE_HINT_HSCALE, style_hint, widget)) return TRUE; if (hint == GE_HINT_SCROLLBAR) if (ge_check_hint (GE_HINT_VSCROLLBAR, style_hint, widget) || ge_check_hint (GE_HINT_HSCROLLBAR, style_hint, widget)) return TRUE; if (hint == GE_HINT_TREEVIEW) if (ge_check_hint (GE_HINT_TREEVIEW_HEADER, style_hint, widget)) return TRUE; /* These may be caused by applications so we never want to disable them. * TODO: This does not catch the case where the theme uses appears-as-list * and the application turns it off again. Though this case * is even less likely. */ switch (hint) { case GE_HINT_COMBOBOX_ENTRY: if (widget && ge_object_is_a (G_OBJECT (widget), "GtkComboBox")) { gboolean appears_as_list = FALSE; gtk_widget_style_get (widget, "appears-as-list", &appears_as_list, NULL); if (appears_as_list) return TRUE; } break; default: break; } #ifdef ENABLE_WIDGET_CHECKS /* If a style_hint *was* set, and nothing matched, just give up right away. * A theme shall either support it fully, or not at all. */ if (style_hint != 0) return FALSE; /* No widget? Just give up. Nothing we can do. */ if (widget == NULL) return FALSE; /* Try to do something based on the passed in widget pointer. */ switch (hint) { case GE_HINT_TREEVIEW: if (widget->parent && (ge_object_is_a (G_OBJECT (widget->parent), "GtkTreeView"))) return TRUE; break; case GE_HINT_TREEVIEW_HEADER: if (ge_object_is_a (G_OBJECT (widget), "GtkButton") && widget->parent && (ge_object_is_a (G_OBJECT (widget->parent), "GtkTreeView") || ge_object_is_a (G_OBJECT (widget->parent), "GtkCList") || ge_object_is_a (G_OBJECT (widget->parent), "GtkCTree"))) return TRUE; if (widget->parent && ge_object_is_a (G_OBJECT (widget->parent), "ETreeView")) return TRUE; break; case GE_HINT_COMBOBOX_ENTRY: if (ge_is_in_combo_box (widget)) return TRUE; break; case GE_HINT_SPINBUTTON: if (ge_object_is_a (G_OBJECT (widget), "GtkSpinButton")) return TRUE; break; case GE_HINT_STATUSBAR: if (widget->parent && ge_object_is_a (G_OBJECT (widget), "GtkStatusbar")) return TRUE; break; case GE_HINT_SCALE: if (ge_object_is_a (G_OBJECT (widget), "GtkScale")) return TRUE; break; case GE_HINT_HSCALE: if (ge_object_is_a (G_OBJECT (widget), "GtkHScale")) return TRUE; break; case GE_HINT_VSCALE: if (ge_object_is_a (G_OBJECT (widget), "GtkVScale")) return TRUE; break; case GE_HINT_SCROLLBAR: if (ge_object_is_a (G_OBJECT (widget), "GtkScrollbar")) return TRUE; break; case GE_HINT_HSCROLLBAR: if (ge_object_is_a (G_OBJECT (widget), "GtkHScrollbar")) return TRUE; break; case GE_HINT_VSCROLLBAR: if (ge_object_is_a (G_OBJECT (widget), "GtkVScrollbar")) return TRUE; break; case GE_HINT_PROGRESSBAR: if (ge_object_is_a (G_OBJECT (widget), "GtkProgressBar")) return TRUE; break; case GE_HINT_MENUBAR: if (ge_object_is_a (G_OBJECT (widget), "GtkMenuBar") || ge_object_is_a (G_OBJECT (widget->parent), "GtkMenuBar")) return TRUE; break; default: break; } #endif return FALSE; } /* Widget Type Lookups/Macros Based on/modified from functions in Smooth-Engine. */ gboolean ge_object_is_a (const GObject * object, const gchar * type_name) { gboolean result = FALSE; if ((object)) { GType tmp = g_type_from_name (type_name); if (tmp) result = g_type_check_instance_is_a ((GTypeInstance *) object, tmp); } return result; } gboolean ge_is_combo_box_entry (GtkWidget * widget) { gboolean result = FALSE; if ((widget) && (widget->parent)) { if (GE_IS_COMBO_BOX_ENTRY (widget->parent)) result = TRUE; else result = ge_is_combo_box_entry (widget->parent); } return result; } static gboolean ge_combo_box_is_using_list (GtkWidget * widget) { gboolean result = FALSE; if (GE_IS_COMBO_BOX (widget)) gtk_widget_style_get (widget, "appears-as-list", &result, NULL); return result; } gboolean ge_is_combo_box (GtkWidget * widget, gboolean as_list) { gboolean result = FALSE; if ((widget) && (widget->parent)) { if (GE_IS_COMBO_BOX (widget->parent)) { if (as_list) result = (ge_combo_box_is_using_list(widget->parent)); else result = (!ge_combo_box_is_using_list(widget->parent)); } else result = ge_is_combo_box (widget->parent, as_list); } return result; } gboolean ge_is_combo (GtkWidget * widget) { gboolean result = FALSE; if ((widget) && (widget->parent)) { if (GE_IS_COMBO (widget->parent)) result = TRUE; else result = ge_is_combo (widget->parent); } return result; } gboolean ge_is_in_combo_box (GtkWidget * widget) { return ((ge_is_combo (widget) || ge_is_combo_box (widget, TRUE) || ge_is_combo_box_entry (widget))); } gboolean ge_is_toolbar_item (GtkWidget * widget) { gboolean result = FALSE; if ((widget) && (widget->parent)) { if ((GE_IS_BONOBO_TOOLBAR (widget->parent)) || (GE_IS_BONOBO_DOCK_ITEM (widget->parent)) || (GE_IS_EGG_TOOLBAR (widget->parent)) || (GE_IS_TOOLBAR (widget->parent)) || (GE_IS_HANDLE_BOX (widget->parent))) result = TRUE; else result = ge_is_toolbar_item (widget->parent); } return result; } gboolean ge_is_panel_widget_item (GtkWidget * widget) { gboolean result = FALSE; if ((widget) && (widget->parent)) { if (GE_IS_PANEL_WIDGET (widget->parent)) result = TRUE; else result = ge_is_panel_widget_item (widget->parent); } return result; } gboolean ge_is_bonobo_dock_item (GtkWidget * widget) { gboolean result = FALSE; if ((widget)) { if (GE_IS_BONOBO_DOCK_ITEM(widget) || GE_IS_BONOBO_DOCK_ITEM (widget->parent)) result = TRUE; else if (GE_IS_BOX(widget) || GE_IS_BOX(widget->parent)) { GtkContainer *box = GE_IS_BOX(widget)?GTK_CONTAINER(widget):GTK_CONTAINER(widget->parent); GList *children = NULL, *child = NULL; children = gtk_container_get_children(box); for (child = g_list_first(children); child; child = g_list_next(child)) { if (GE_IS_BONOBO_DOCK_ITEM_GRIP(child->data)) { result = TRUE; child = NULL; } } if (children) g_list_free(children); } } return result; } static GtkWidget * ge_find_combo_box_entry_widget (GtkWidget * widget) { GtkWidget *result = NULL; if (widget) { if (GE_IS_COMBO_BOX_ENTRY (widget)) result = widget; else result = ge_find_combo_box_entry_widget (widget->parent); } return result; } static GtkWidget * ge_find_combo_box_widget (GtkWidget * widget, gboolean as_list) { GtkWidget *result = NULL; if (widget) { if (GE_IS_COMBO_BOX (widget)) { if (as_list) result = (ge_combo_box_is_using_list(widget))?widget:NULL; else result = (!ge_combo_box_is_using_list(widget))?widget:NULL; } else result = ge_find_combo_box_widget (widget->parent, as_list); } return result; } static GtkWidget * ge_find_combo_widget (GtkWidget * widget) { GtkWidget *result = NULL; if (widget) { if (GE_IS_COMBO (widget)) result = widget; else result = ge_find_combo_widget(widget->parent); } return result; } GtkWidget* ge_find_combo_box_widget_parent (GtkWidget * widget) { GtkWidget *result = NULL; if (!result) result = ge_find_combo_widget(widget); if (!result) result = ge_find_combo_box_widget(widget, TRUE); if (!result) result = ge_find_combo_box_entry_widget(widget); return result; } /*********************************************** * option_menu_get_props - * * Find Option Menu Size and Spacing * * Taken from Smooth ***********************************************/ void ge_option_menu_get_props (GtkWidget * widget, GtkRequisition * indicator_size, GtkBorder * indicator_spacing) { GtkRequisition default_size = { 9, 5 }; GtkBorder default_spacing = { 7, 5, 2, 2 }; GtkRequisition *tmp_size = NULL; GtkBorder *tmp_spacing = NULL; if ((widget) && GE_IS_OPTION_MENU(widget)) gtk_widget_style_get (widget, "indicator_size", &tmp_size, "indicator_spacing", &tmp_spacing, NULL); if (tmp_size) { *indicator_size = *tmp_size; gtk_requisition_free (tmp_size); } else *indicator_size = default_size; if (tmp_spacing) { *indicator_spacing = *tmp_spacing; gtk_border_free (tmp_spacing); } else *indicator_spacing = default_spacing; } void ge_button_get_default_border (GtkWidget *widget, GtkBorder *border) { GtkBorder default_border = {1, 1, 1, 1}; GtkBorder *tmp_border = NULL; if (widget && GE_IS_BUTTON (widget)) gtk_widget_style_get (widget, "default-border", &tmp_border, NULL); if (tmp_border) { *border = *tmp_border; gtk_border_free (tmp_border); } else { *border = default_border; } } gboolean ge_widget_is_ltr (GtkWidget *widget) { GtkTextDirection dir = GTK_TEXT_DIR_NONE; if (GE_IS_WIDGET (widget)) dir = gtk_widget_get_direction (widget); if (dir == GTK_TEXT_DIR_NONE) dir = gtk_widget_get_default_direction (); if (dir == GTK_TEXT_DIR_RTL) return FALSE; else return TRUE; } guint ge_rc_parse_hint (GScanner *scanner, GQuark *quark) { guint token; /* Skip 'hint' */ token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_STRING) return G_TOKEN_STRING; *quark = g_quark_from_string (scanner->value.v_string); return G_TOKEN_NONE; } gtk-engines-2.20.2/engines/support/widget-information.h0000644000175000017500000001764411446654310020074 00000000000000/* Helper functions for gtk-engines * * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006 Thomas Wood * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Andrew Johnson * Written by Benjamin Berg * Written by Thomas Wood * modified by Andrea Cimitan * */ #ifndef WIDGET_INFORMATION_H #define WIDGET_INFORMATION_H #include "general-support.h" #include #include typedef enum { GE_HINT_TREEVIEW, GE_HINT_TREEVIEW_HEADER, GE_HINT_STATUSBAR, GE_HINT_COMBOBOX_ENTRY, GE_HINT_SPINBUTTON, GE_HINT_SCALE, GE_HINT_VSCALE, GE_HINT_HSCALE, GE_HINT_SCROLLBAR, GE_HINT_VSCROLLBAR, GE_HINT_HSCROLLBAR, GE_HINT_PROGRESSBAR, GE_HINT_MENUBAR, GE_HINT_COUNT } GEHint; /* ALL OF THE FOLLOWING SHOULD DIE ... * instead the hint system will be used, and a huge switch ;-) */ /* Object Type Lookups/Macros Based on/modified from functions in Smooth-Engine. */ #define GE_IS_WIDGET(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkWidget")) #define GE_IS_CONTAINER(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkContainer")) #define GE_IS_BIN(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkBin")) #define GE_IS_ARROW(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkArrow")) #define GE_IS_SEPARATOR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkSeparator")) #define GE_IS_VSEPARATOR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkVSeparator")) #define GE_IS_HSEPARATOR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkHSeparator")) #define GE_IS_HANDLE_BOX(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkHandleBox")) #define GE_IS_HANDLE_BOX_ITEM(object) ((object) && GE_IS_HANDLE_BOX(object->parent)) #define GE_IS_BONOBO_DOCK_ITEM(object) ((object) && ge_object_is_a ((GObject*)(object), "BonoboDockItem")) #define GE_IS_BONOBO_DOCK_ITEM_GRIP(object) ((object) && ge_object_is_a ((GObject*)(object), "BonoboDockItemGrip")) #define GE_IS_BONOBO_TOOLBAR(object) ((object) && ge_object_is_a ((GObject*)(object), "BonoboUIToolbar")) #define GE_IS_EGG_TOOLBAR(object) ((object) && ge_object_is_a ((GObject*)(object), "Toolbar")) #define GE_IS_TOOLBAR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkToolbar")) #define GE_IS_PANEL_WIDGET(object) ((object) && (ge_object_is_a ((GObject*)(object), "PanelWidget") || ge_object_is_a ((GObject*)(object), "PanelApplet"))) #define GE_IS_COMBO_BOX_ENTRY(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkComboBoxEntry")) #define GE_IS_COMBO_BOX(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkComboBox")) #define GE_IS_COMBO(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkCombo")) #define GE_IS_OPTION_MENU(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkOptionMenu")) #define GE_IS_TOGGLE_BUTTON(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkToggleButton")) #define GE_IS_CHECK_BUTTON(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkCheckButton")) #define GE_IS_SPIN_BUTTON(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkSpinButton")) #define GE_IS_STATUSBAR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkStatusbar")) #define GE_IS_PROGRESS_BAR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkProgressBar")) #define GE_IS_MENU_SHELL(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkMenuShell")) #define GE_IS_MENU(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkMenu")) #define GE_IS_MENU_BAR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkMenuBar")) #define GE_IS_MENU_ITEM(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkMenuItem")) #define GE_IS_CHECK_MENU_ITEM(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkCheckMenuItem")) #define GE_IS_RANGE(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkRange")) #define GE_IS_SCROLLBAR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkScrollbar")) #define GE_IS_VSCROLLBAR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkVScrollbar")) #define GE_IS_HSCROLLBAR(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkHScrollbar")) #define GE_IS_SCALE(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkScale")) #define GE_IS_VSCALE(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkVScale")) #define GE_IS_HSCALE(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkHScale")) #define GE_IS_PANED(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkPaned")) #define GE_IS_VPANED(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkVPaned")) #define GE_IS_HPANED(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkHPaned")) #define GE_IS_BOX(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkBox")) #define GE_IS_VBOX(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkVBox")) #define GE_IS_HBOX(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkHBox")) #define GE_IS_CLIST(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkCList")) #define GE_IS_TREE_VIEW(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkTreeView")) #define GE_IS_ENTRY(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkEntry")) #define GE_IS_BUTTON(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkButton")) #define GE_IS_FIXED(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkFixed")) #define TOGGLE_BUTTON(object) (GE_IS_TOGGLE_BUTTON(object)?(GtkToggleButton *)object:NULL) #define GE_IS_NOTEBOOK(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkNotebook")) #define GE_IS_CELL_RENDERER_TOGGLE(object) ((object) && ge_object_is_a ((GObject*)(object), "GtkCellRendererToggle")) #define GE_WIDGET_HAS_DEFAULT(object) ((object) && GE_IS_WIDGET(object) && GTK_WIDGET_HAS_DEFAULT(object)) GE_INTERNAL gboolean ge_check_hint (GEHint hint, GQuark style_hint, GtkWidget *widget); GE_INTERNAL gboolean ge_object_is_a (const GObject * object, const gchar * type_name); GE_INTERNAL gboolean ge_is_combo_box_entry (GtkWidget * widget); GE_INTERNAL gboolean ge_is_combo_box (GtkWidget * widget, gboolean as_list); GE_INTERNAL gboolean ge_is_combo (GtkWidget * widget); GE_INTERNAL gboolean ge_is_in_combo_box (GtkWidget * widget); GE_INTERNAL gboolean ge_is_toolbar_item (GtkWidget * widget); GE_INTERNAL gboolean ge_is_panel_widget_item (GtkWidget * widget); GE_INTERNAL gboolean ge_is_bonobo_dock_item (GtkWidget * widget); GE_INTERNAL GtkWidget *ge_find_combo_box_widget_parent (GtkWidget * widget); GE_INTERNAL void ge_option_menu_get_props (GtkWidget * widget, GtkRequisition * indicator_size, GtkBorder * indicator_spacing); GE_INTERNAL void ge_button_get_default_border (GtkWidget *widget, GtkBorder *border); GE_INTERNAL gboolean ge_widget_is_ltr (GtkWidget *widget); GE_INTERNAL guint ge_rc_parse_hint (GScanner *scanner, GQuark *quark); #endif /* WIDGET_INFORMATION_H */ gtk-engines-2.20.2/engines/support/ge-support.h0000644000175000017500000000215211445424675016367 00000000000000/* Helper functions for gtk-engines * * Copyright (C) 2006 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Benjamin Berg * */ #ifndef GE_SUPPORT_H #define GE_SUPPORT_H #include "general-support.h" #include "cairo-support.h" #include "widget-information.h" #endif /* GE_SUPPORT_H */ gtk-engines-2.20.2/engines/support/config.h0000644000175000017500000000531211451355767015532 00000000000000/* engines/support/config.h. Generated from config.h.in by configure. */ /* engines/support/config.h.in. Generated from configure.ac by autoheader. */ /* always defined to indicate that i18n is enabled */ #define ENABLE_NLS 1 /* Defines whether to enable runtime widget checks as a fallback to hints from the theme. */ #define ENABLE_WIDGET_CHECKS 1 /* Gettext package */ #define GETTEXT_PACKAGE "gtk-engines" /* Defines whether to compile with animation support */ #define HAVE_ANIMATION 1 /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #define HAVE_BIND_TEXTDOMAIN_CODESET 1 /* Define to 1 if you have the `dcgettext' function. */ #define HAVE_DCGETTEXT 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define if the GNU gettext() function is already present or preinstalled. */ #define HAVE_GETTEXT 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define if your file defines LC_MESSAGES. */ #define HAVE_LC_MESSAGES 1 /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #define LT_OBJDIR ".libs/" /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* Name of package */ #define PACKAGE "gtk-engines" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ #define PACKAGE_NAME "gtk-engines" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "gtk-engines 2.20.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gtk-engines" /* Define to the home page for this package. */ #define PACKAGE_URL "" /* Define to the version of this package. */ #define PACKAGE_VERSION "2.20.2" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Version number of package */ #define VERSION "2.20.2" gtk-engines-2.20.2/engines/clearlooks/0000755000175000017500000000000011451420647014603 500000000000000gtk-engines-2.20.2/engines/clearlooks/src/0000755000175000017500000000000011451420647015372 500000000000000gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_rc_style.c0000644000175000017500000003332211446654310021523 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2005 Richard Stellingwerff * Copyright (C) 2007 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Originally written by Owen Taylor * and by Alexander Larsson * Modified by Richard Stellingwerff * Modified by Kulyk Nazar * */ #include #include #include "clearlooks_style.h" #include "clearlooks_rc_style.h" #include "animation.h" #ifdef HAVE_WORKING_ANIMATION static void clearlooks_rc_style_finalize (GObject *object); #endif static GtkStyle *clearlooks_rc_style_create_style (GtkRcStyle *rc_style); static guint clearlooks_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner); static void clearlooks_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src); enum { TOKEN_FOCUSCOLOR = G_TOKEN_LAST + 1, TOKEN_SCROLLBARCOLOR, TOKEN_COLORIZESCROLLBAR, TOKEN_CONTRAST, TOKEN_SUNKENMENU, TOKEN_PROGRESSBARSTYLE, TOKEN_RELIEFSTYLE, TOKEN_MENUBARSTYLE, TOKEN_TOOLBARSTYLE, TOKEN_MENUITEMSTYLE, TOKEN_LISTVIEWITEMSTYLE, TOKEN_ANIMATION, TOKEN_STYLE, TOKEN_RADIUS, TOKEN_HINT, TOKEN_DISABLE_FOCUS, TOKEN_CLASSIC, TOKEN_GLOSSY, TOKEN_INVERTED, TOKEN_GUMMY, TOKEN_TRUE, TOKEN_FALSE, TOKEN_LAST }; static gchar* clearlooks_rc_symbols = "focus_color\0" "scrollbar_color\0" "colorize_scrollbar\0" "contrast\0" "sunkenmenubar\0" "progressbarstyle\0" "reliefstyle\0" "menubarstyle\0" "toolbarstyle\0" "menuitemstyle\0" "listviewitemstyle\0" "animation\0" "style\0" "radius\0" "hint\0" "disable_focus\0" "CLASSIC\0" "GLOSSY\0" "INVERTED\0" "GUMMY\0" "TRUE\0" "FALSE\0"; G_DEFINE_DYNAMIC_TYPE (ClearlooksRcStyle, clearlooks_rc_style, GTK_TYPE_RC_STYLE) void clearlooks_rc_style_register_types (GTypeModule *module) { clearlooks_rc_style_register_type (module); } static void clearlooks_rc_style_init (ClearlooksRcStyle *clearlooks_rc) { clearlooks_rc->style = CL_STYLE_CLASSIC; clearlooks_rc->flags = 0; clearlooks_rc->contrast = 1.0; clearlooks_rc->reliefstyle = 0; clearlooks_rc->menubarstyle = 0; clearlooks_rc->toolbarstyle = 0; clearlooks_rc->animation = FALSE; clearlooks_rc->colorize_scrollbar = FALSE; clearlooks_rc->radius = 3.0; clearlooks_rc->hint = 0; clearlooks_rc->disable_focus = FALSE; } #ifdef HAVE_WORKING_ANIMATION static void clearlooks_rc_style_finalize (GObject *object) { /* cleanup all the animation stuff */ clearlooks_animation_cleanup (); if (G_OBJECT_CLASS (clearlooks_rc_style_parent_class)->finalize != NULL) G_OBJECT_CLASS (clearlooks_rc_style_parent_class)->finalize (object); } #endif static void clearlooks_rc_style_class_init (ClearlooksRcStyleClass *klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); #ifdef HAVE_WORKING_ANIMATION GObjectClass *g_object_class = G_OBJECT_CLASS (klass); #endif rc_style_class->parse = clearlooks_rc_style_parse; rc_style_class->create_style = clearlooks_rc_style_create_style; rc_style_class->merge = clearlooks_rc_style_merge; #ifdef HAVE_WORKING_ANIMATION g_object_class->finalize = clearlooks_rc_style_finalize; #endif } static void clearlooks_rc_style_class_finalize (ClearlooksRcStyleClass *klass) { } static guint clearlooks_gtk2_rc_parse_boolean (GtkSettings *settings, GScanner *scanner, gboolean *retval) { guint token; token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token == TOKEN_TRUE) *retval = TRUE; else if (token == TOKEN_FALSE) *retval = FALSE; else return TOKEN_TRUE; return G_TOKEN_NONE; } static guint clearlooks_gtk2_rc_parse_color(GtkSettings *settings, GScanner *scanner, GtkRcStyle *style, GdkColor *color) { guint token; /* Skip 'blah_color' */ token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; return gtk_rc_parse_color_full (scanner, style, color); } static guint clearlooks_gtk2_rc_parse_double (GtkSettings *settings, GScanner *scanner, gdouble *val) { guint token; /* Skip 'blah' */ token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_FLOAT) return G_TOKEN_FLOAT; *val = scanner->value.v_float; return G_TOKEN_NONE; } static guint clearlooks_gtk2_rc_parse_int (GtkSettings *settings, GScanner *scanner, guint8 *progressbarstyle) { guint token; /* Skip option name */ token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_INT) return G_TOKEN_INT; *progressbarstyle = scanner->value.v_int; return G_TOKEN_NONE; } static guint clearlooks_gtk2_rc_parse_style (GtkSettings *settings, GScanner *scanner, ClearlooksStyles *style) { guint token; g_assert (CL_NUM_STYLES == CL_STYLE_GUMMY + 1); /* so that people don't forget ;-) */ /* Skip 'style' */ token = g_scanner_get_next_token (scanner); token = g_scanner_get_next_token (scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token (scanner); switch (token) { case TOKEN_CLASSIC: *style = CL_STYLE_CLASSIC; break; case TOKEN_GLOSSY: *style = CL_STYLE_GLOSSY; break; case TOKEN_INVERTED: *style = CL_STYLE_INVERTED; break; case TOKEN_GUMMY: *style = CL_STYLE_GUMMY; break; default: return TOKEN_CLASSIC; } return G_TOKEN_NONE; } static guint clearlooks_gtk2_rc_parse_dummy (GtkSettings *settings, GScanner *scanner, gchar *name) { guint token; /* Skip option */ token = g_scanner_get_next_token (scanner); /* print a warning. Isn't there a way to get the string from the scanner? */ g_scanner_warn (scanner, "Clearlooks configuration option \"%s\" is not supported and will be ignored.", name); /* equal sign */ token = g_scanner_get_next_token (scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; /* eat whatever comes next */ token = g_scanner_get_next_token (scanner); return G_TOKEN_NONE; } static guint clearlooks_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner) { static GQuark scope_id = 0; ClearlooksRcStyle *clearlooks_style = CLEARLOOKS_RC_STYLE (rc_style); guint old_scope; guint token; /* Set up a new scope in this scanner. */ if (!scope_id) scope_id = g_quark_from_string("clearlooks_theme_engine"); /* If we bail out due to errors, we *don't* reset the scope, so the * error messaging code can make sense of our tokens. */ old_scope = g_scanner_set_scope(scanner, scope_id); /* Now check if we already added our symbols to this scope * (in some previous call to clearlooks_rc_style_parse for the * same scanner. */ if (!g_scanner_lookup_symbol(scanner, clearlooks_rc_symbols)) { gchar *current_symbol = clearlooks_rc_symbols; gint i = G_TOKEN_LAST + 1; /* Add our symbols */ while ((current_symbol[0] != '\0') && (i < TOKEN_LAST)) { g_scanner_scope_add_symbol(scanner, scope_id, current_symbol, GINT_TO_POINTER (i)); current_symbol += strlen(current_symbol) + 1; i++; } g_assert (i == TOKEN_LAST && current_symbol[0] == '\0'); } /* We're ready to go, now parse the top level */ token = g_scanner_peek_next_token(scanner); while (token != G_TOKEN_RIGHT_CURLY) { switch (token) { case TOKEN_FOCUSCOLOR: token = clearlooks_gtk2_rc_parse_color (settings, scanner, rc_style, &clearlooks_style->focus_color); clearlooks_style->flags |= CL_FLAG_FOCUS_COLOR; break; case TOKEN_SCROLLBARCOLOR: token = clearlooks_gtk2_rc_parse_color (settings, scanner, rc_style, &clearlooks_style->scrollbar_color); clearlooks_style->flags |= CL_FLAG_SCROLLBAR_COLOR; break; case TOKEN_COLORIZESCROLLBAR: token = clearlooks_gtk2_rc_parse_boolean (settings, scanner, &clearlooks_style->colorize_scrollbar); clearlooks_style->flags |= CL_FLAG_COLORIZE_SCROLLBAR; break; case TOKEN_CONTRAST: token = clearlooks_gtk2_rc_parse_double (settings, scanner, &clearlooks_style->contrast); clearlooks_style->flags |= CL_FLAG_CONTRAST; break; case TOKEN_RELIEFSTYLE: token = clearlooks_gtk2_rc_parse_int (settings, scanner, &clearlooks_style->reliefstyle); clearlooks_style->flags |= CL_FLAG_RELIEFSTYLE; break; case TOKEN_MENUBARSTYLE: token = clearlooks_gtk2_rc_parse_int (settings, scanner, &clearlooks_style->menubarstyle); clearlooks_style->flags |= CL_FLAG_MENUBARSTYLE; break; case TOKEN_TOOLBARSTYLE: token = clearlooks_gtk2_rc_parse_int (settings, scanner, &clearlooks_style->toolbarstyle); clearlooks_style->flags |= CL_FLAG_TOOLBARSTYLE; break; case TOKEN_ANIMATION: token = clearlooks_gtk2_rc_parse_boolean (settings, scanner, &clearlooks_style->animation); clearlooks_style->flags |= CL_FLAG_ANIMATION; break; case TOKEN_STYLE: token = clearlooks_gtk2_rc_parse_style (settings, scanner, &clearlooks_style->style); clearlooks_style->flags |= CL_FLAG_STYLE; break; case TOKEN_RADIUS: token = clearlooks_gtk2_rc_parse_double (settings, scanner, &clearlooks_style->radius); clearlooks_style->flags |= CL_FLAG_RADIUS; break; case TOKEN_HINT: token = ge_rc_parse_hint (scanner, &clearlooks_style->hint); clearlooks_style->flags |= CL_FLAG_HINT; break; case TOKEN_DISABLE_FOCUS: token = clearlooks_gtk2_rc_parse_boolean (settings, scanner, &clearlooks_style->disable_focus); clearlooks_style->flags |= CL_FLAG_DISABLE_FOCUS; break; /* stuff to ignore */ case TOKEN_SUNKENMENU: token = clearlooks_gtk2_rc_parse_dummy (settings, scanner, "sunkenmenu"); break; case TOKEN_PROGRESSBARSTYLE: token = clearlooks_gtk2_rc_parse_dummy (settings, scanner, "progressbarstyle"); break; case TOKEN_MENUITEMSTYLE: token = clearlooks_gtk2_rc_parse_dummy (settings, scanner, "menuitemstyle"); break; case TOKEN_LISTVIEWITEMSTYLE: token = clearlooks_gtk2_rc_parse_dummy (settings, scanner, "listviewitemstyle"); break; default: g_scanner_get_next_token(scanner); token = G_TOKEN_RIGHT_CURLY; break; } if (token != G_TOKEN_NONE) return token; token = g_scanner_peek_next_token(scanner); } g_scanner_get_next_token(scanner); g_scanner_set_scope(scanner, old_scope); return G_TOKEN_NONE; } static void clearlooks_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src) { ClearlooksRcStyle *dest_w, *src_w; ClearlooksRcFlags flags; GTK_RC_STYLE_CLASS (clearlooks_rc_style_parent_class)->merge (dest, src); if (!CLEARLOOKS_IS_RC_STYLE (src)) return; src_w = CLEARLOOKS_RC_STYLE (src); dest_w = CLEARLOOKS_RC_STYLE (dest); flags = (~dest_w->flags) & src_w->flags; if (flags & CL_FLAG_STYLE) dest_w->style = src_w->style; if (flags & CL_FLAG_CONTRAST) dest_w->contrast = src_w->contrast; if (flags & CL_FLAG_RELIEFSTYLE) dest_w->reliefstyle = src_w->reliefstyle; if (flags & CL_FLAG_MENUBARSTYLE) dest_w->menubarstyle = src_w->menubarstyle; if (flags & CL_FLAG_TOOLBARSTYLE) dest_w->toolbarstyle = src_w->toolbarstyle; if (flags & CL_FLAG_FOCUS_COLOR) dest_w->focus_color = src_w->focus_color; if (flags & CL_FLAG_SCROLLBAR_COLOR) dest_w->scrollbar_color = src_w->scrollbar_color; if (flags & CL_FLAG_COLORIZE_SCROLLBAR) dest_w->colorize_scrollbar = src_w->colorize_scrollbar; if (flags & CL_FLAG_ANIMATION) dest_w->animation = src_w->animation; if (flags & CL_FLAG_RADIUS) dest_w->radius = src_w->radius; if (flags & CL_FLAG_HINT) dest_w->hint = src_w->hint; if (flags & CL_FLAG_DISABLE_FOCUS) dest_w->disable_focus = src_w->disable_focus; dest_w->flags |= src_w->flags; } /* Create an empty style suitable to this RC style */ static GtkStyle * clearlooks_rc_style_create_style (GtkRcStyle *rc_style) { return GTK_STYLE (g_object_new (CLEARLOOKS_TYPE_STYLE, NULL)); } gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_rc_style.h0000644000175000017500000000640111446654310021526 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2005 Richard Stellingwerff * Copyright (C) 2007 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Originally written by Owen Taylor * and by Alexander Larsson * Modified by Richard Stellingwerff * Modified by Kulyk Nazar */ #include #include "clearlooks_types.h" #ifndef CLEARLOOKS_RC_STYLE_H #define CLEARLOOKS_RC_STYLE_H typedef struct _ClearlooksRcStyle ClearlooksRcStyle; typedef struct _ClearlooksRcStyleClass ClearlooksRcStyleClass; #define CLEARLOOKS_TYPE_RC_STYLE (clearlooks_rc_style_get_type ()) #define CLEARLOOKS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), CLEARLOOKS_TYPE_RC_STYLE, ClearlooksRcStyle)) #define CLEARLOOKS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLEARLOOKS_TYPE_RC_STYLE, ClearlooksRcStyleClass)) #define CLEARLOOKS_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), CLEARLOOKS_TYPE_RC_STYLE)) #define CLEARLOOKS_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLEARLOOKS_TYPE_RC_STYLE)) #define CLEARLOOKS_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLEARLOOKS_TYPE_RC_STYLE, ClearlooksRcStyleClass)) /* XXX: needs fixing! */ typedef enum { CL_FLAG_STYLE = 1 << 0, CL_FLAG_FOCUS_COLOR = 1 << 1, CL_FLAG_SCROLLBAR_COLOR = 1 << 2, CL_FLAG_COLORIZE_SCROLLBAR = 1 << 3, CL_FLAG_CONTRAST = 1 << 4, CL_FLAG_RELIEFSTYLE = 1 << 5, CL_FLAG_MENUBARSTYLE = 1 << 6, CL_FLAG_TOOLBARSTYLE = 1 << 7, CL_FLAG_ANIMATION = 1 << 8, CL_FLAG_RADIUS = 1 << 9, CL_FLAG_HINT = 1 << 10, CL_FLAG_DISABLE_FOCUS = 1 << 11 } ClearlooksRcFlags; struct _ClearlooksRcStyle { GtkRcStyle parent_instance; ClearlooksRcFlags flags; ClearlooksStyles style; GdkColor focus_color; GdkColor scrollbar_color; gboolean colorize_scrollbar; double contrast; guint8 reliefstyle; guint8 menubarstyle; guint8 toolbarstyle; gboolean animation; double radius; GQuark hint; gboolean disable_focus; }; struct _ClearlooksRcStyleClass { GtkRcStyleClass parent_class; }; GE_INTERNAL void clearlooks_rc_style_register_types (GTypeModule *module); GE_INTERNAL GType clearlooks_rc_style_get_type (void); #endif /* CLEARLOOKS_RC_STYLE_H */ gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_style.c0000644000175000017500000017174411451420436021046 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2005 Richard Stellingwerff * Copyright (C) 2007 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include #include #include #include "clearlooks_style.h" #include "clearlooks_rc_style.h" #include "clearlooks_draw.h" #include "support.h" /* #define DEBUG 1 */ #define DETAIL(xx) ((detail) && (!strcmp(xx, detail))) #define CHECK_HINT(xx) (ge_check_hint ((xx), CLEARLOOKS_RC_STYLE ((style)->rc_style)->hint, widget)) #define DRAW_ARGS GtkStyle *style, \ GdkWindow *window, \ GtkStateType state_type, \ GtkShadowType shadow_type, \ GdkRectangle *area, \ GtkWidget *widget, \ const gchar *detail, \ gint x, \ gint y, \ gint width, \ gint height #ifdef HAVE_ANIMATION #include "animation.h" #endif #define STYLE_FUNCTION(function) (CLEARLOOKS_STYLE_GET_CLASS (style)->style_functions[CLEARLOOKS_STYLE (style)->style].function) G_DEFINE_DYNAMIC_TYPE (ClearlooksStyle, clearlooks_style, GTK_TYPE_STYLE) static void clearlooks_set_widget_parameters (const GtkWidget *widget, const GtkStyle *style, GtkStateType state_type, WidgetParameters *params) { params->style_functions = &(CLEARLOOKS_STYLE_GET_CLASS (style)->style_functions[CLEARLOOKS_STYLE (style)->style]); params->style_constants = &(CLEARLOOKS_STYLE_GET_CLASS (style)->style_constants[CLEARLOOKS_STYLE (style)->style]); params->active = (state_type == GTK_STATE_ACTIVE); params->prelight = (state_type == GTK_STATE_PRELIGHT); params->disabled = (state_type == GTK_STATE_INSENSITIVE); params->state_type = (ClearlooksStateType)state_type; params->corners = CR_CORNER_ALL; params->ltr = ge_widget_is_ltr ((GtkWidget*)widget); params->focus = !CLEARLOOKS_STYLE (style)->disable_focus && widget && GTK_WIDGET_HAS_FOCUS (widget); params->is_default = widget && GE_WIDGET_HAS_DEFAULT (widget); params->enable_shadow = FALSE; params->radius = CLEARLOOKS_STYLE (style)->radius; params->xthickness = style->xthickness; params->ythickness = style->ythickness; /* This is used in GtkEntry to fake transparency. The reason to do this * is that the entry has it's entire background filled with base[STATE]. * This is not a very good solution as it will eg. fail if one changes * the background color of a notebook. */ params->parentbg = CLEARLOOKS_STYLE (style)->colors.bg[state_type]; clearlooks_get_parent_bg (widget, ¶ms->parentbg); } static void clearlooks_style_draw_flat_box (DRAW_ARGS) { if (detail && state_type == GTK_STATE_SELECTED && ( !strncmp ("cell_even", detail, 9) || !strncmp ("cell_odd", detail, 8))) { WidgetParameters params; ClearlooksStyle *clearlooks_style; ClearlooksColors *colors; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE clearlooks_style = CLEARLOOKS_STYLE (style); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); colors = &clearlooks_style->colors; cr = ge_gdk_drawable_to_cairo (window, area); /* XXX: We could expose the side details by setting params->corners accordingly * or adding another option. */ STYLE_FUNCTION (draw_selected_cell) (cr, colors, ¶ms, x, y, width, height); cairo_destroy (cr); } else if (DETAIL ("tooltip")) { WidgetParameters params; ClearlooksStyle *clearlooks_style; ClearlooksColors *colors; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE clearlooks_style = CLEARLOOKS_STYLE (style); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); colors = &clearlooks_style->colors; cr = ge_gdk_drawable_to_cairo (window, area); STYLE_FUNCTION (draw_tooltip) (cr, colors, ¶ms, x, y, width, height); cairo_destroy (cr); } else if (DETAIL ("icon_view_item")) { WidgetParameters params; ClearlooksStyle *clearlooks_style; ClearlooksColors *colors; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE clearlooks_style = CLEARLOOKS_STYLE (style); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); colors = &clearlooks_style->colors; cr = ge_gdk_drawable_to_cairo (window, area); STYLE_FUNCTION (draw_icon_view_item) (cr, colors, ¶ms, x, y, width, height); cairo_destroy (cr); } else if ((CLEARLOOKS_STYLE (style)->style == CL_STYLE_GLOSSY || CLEARLOOKS_STYLE (style)->style == CL_STYLE_GUMMY) && ((DETAIL("checkbutton") || DETAIL("radiobutton")) && state_type == GTK_STATE_PRELIGHT)) { /* XXX: Don't draw any check/radiobutton bg in GLOSSY or GUMMY mode. */ } else { GTK_STYLE_CLASS (clearlooks_style_parent_class)->draw_flat_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } } static void clearlooks_style_draw_shadow (DRAW_ARGS) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; cairo_t *cr = ge_gdk_drawable_to_cairo (window, area); CHECK_ARGS SANITIZE_SIZE /* The "frame" thing is a hack because of GtkCombo. */ if ((DETAIL ("entry") && !CHECK_HINT (GE_HINT_TREEVIEW)) || (DETAIL ("frame") && CHECK_HINT (GE_HINT_COMBOBOX_ENTRY))) { WidgetParameters params; FocusParameters focus; /* Override the entries state type, because we are too lame to handle this via * the focus ring, and GtkEntry doesn't even set the INSENSITIVE state ... */ if (state_type == GTK_STATE_NORMAL && widget && GE_IS_ENTRY (widget)) state_type = GTK_WIDGET_STATE (widget); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); if (CHECK_HINT (GE_HINT_COMBOBOX_ENTRY) || CHECK_HINT (GE_HINT_SPINBUTTON)) { width += style->xthickness; if (!params.ltr) x -= style->xthickness; if (params.ltr) params.corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; else params.corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; } /* Fill the background as it is initilized to base[NORMAL]. * Relevant GTK+ bug: http://bugzilla.gnome.org/show_bug.cgi?id=513471 * The fill only happens if no hint has been added by some application * that is faking GTK+ widgets. */ if (!widget || !g_object_get_data(G_OBJECT (widget), "transparent-bg-hint")) { cairo_rectangle (cr, 0, 0, width, height); ge_cairo_set_color (cr, ¶ms.parentbg); cairo_fill (cr); } /* Focus color */ if (clearlooks_style->has_focus_color) { ge_gdk_color_to_cairo (&clearlooks_style->focus_color, &focus.color); focus.has_color = TRUE; } else focus.color = colors->spot[2]; STYLE_FUNCTION (draw_entry) (cr, &clearlooks_style->colors, ¶ms, &focus, x, y, width, height); } else if (DETAIL ("frame") && CHECK_HINT (GE_HINT_STATUSBAR)) { WidgetParameters params; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); gtk_style_apply_default_background (style, window, TRUE, state_type, area, x, y, width, height); if (shadow_type != GTK_SHADOW_NONE) STYLE_FUNCTION (draw_statusbar) (cr, colors, ¶ms, x, y, width, height); } else if (DETAIL ("frame") || DETAIL ("calendar")) { WidgetParameters params; FrameParameters frame; frame.shadow = shadow_type; frame.gap_x = -1; /* No gap will be drawn */ frame.border = &colors->shade[4]; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_NONE; STYLE_FUNCTION(draw_frame) (cr, colors, ¶ms, &frame, x, y, width, height); } else if (DETAIL ("scrolled_window") || DETAIL ("viewport") || detail == NULL) { CairoColor border; if (CLEARLOOKS_STYLE (style)->style == CL_STYLE_CLASSIC) ge_shade_color ((CairoColor*)&colors->bg[0], 0.78, &border); else border = colors->shade[5]; cairo_rectangle (cr, x+0.5, y+0.5, width-1, height-1); ge_cairo_set_color (cr, &border); cairo_set_line_width (cr, 1); cairo_stroke (cr); } else { WidgetParameters params; FrameParameters frame; frame.shadow = shadow_type; frame.gap_x = -1; frame.border = &colors->shade[5]; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_ALL; STYLE_FUNCTION(draw_frame) (cr, colors, ¶ms, &frame, x, y, width, height); } cairo_destroy (cr); } static void clearlooks_style_draw_box_gap (DRAW_ARGS, GtkPositionType gap_side, gint gap_x, gint gap_width) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); if (DETAIL ("notebook")) { WidgetParameters params; FrameParameters frame; gboolean start, end; frame.shadow = shadow_type; frame.gap_side = gap_side; frame.gap_x = gap_x; frame.gap_width = gap_width; frame.border = &colors->shade[5]; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); clearlooks_get_notebook_tab_position (widget, &start, &end); params.corners = CR_CORNER_ALL; switch (gap_side) { case GTK_POS_TOP: if (ge_widget_is_ltr (widget)) { if (start) params.corners ^= CR_CORNER_TOPLEFT; if (end) params.corners ^= CR_CORNER_TOPRIGHT; } else { if (start) params.corners ^= CR_CORNER_TOPRIGHT; if (end) params.corners ^= CR_CORNER_TOPLEFT; } break; case GTK_POS_BOTTOM: if (ge_widget_is_ltr (widget)) { if (start) params.corners ^= CR_CORNER_BOTTOMLEFT; if (end) params.corners ^= CR_CORNER_BOTTOMRIGHT; } else { if (start) params.corners ^= CR_CORNER_BOTTOMRIGHT; if (end) params.corners ^= CR_CORNER_BOTTOMLEFT; } break; case GTK_POS_LEFT: if (start) params.corners ^= CR_CORNER_TOPLEFT; if (end) params.corners ^= CR_CORNER_BOTTOMLEFT; break; case GTK_POS_RIGHT: if (start) params.corners ^= CR_CORNER_TOPRIGHT; if (end) params.corners ^= CR_CORNER_BOTTOMRIGHT; break; } /* Fill the background with bg[NORMAL] */ ge_cairo_rounded_rectangle (cr, x, y, width, height, params.radius, params.corners); ge_cairo_set_color (cr, &colors->bg[GTK_STATE_NORMAL]); cairo_fill (cr); STYLE_FUNCTION(draw_frame) (cr, colors, ¶ms, &frame, x, y, width, height); } else { GTK_STYLE_CLASS (clearlooks_style_parent_class)->draw_box_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width); } cairo_destroy (cr); } static void clearlooks_style_draw_extension (DRAW_ARGS, GtkPositionType gap_side) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); if (DETAIL ("tab")) { WidgetParameters params; TabParameters tab; FocusParameters focus; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); tab.gap_side = (ClearlooksGapSide)gap_side; switch (gap_side) { case CL_GAP_TOP: params.corners = CR_CORNER_BOTTOMLEFT | CR_CORNER_BOTTOMRIGHT; break; case CL_GAP_BOTTOM: params.corners = CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT; break; case CL_GAP_LEFT: params.corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; break; case CL_GAP_RIGHT: params.corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; break; } /* Focus color */ if (clearlooks_style->has_focus_color) { ge_gdk_color_to_cairo (&clearlooks_style->focus_color, &focus.color); focus.has_color = TRUE; } else focus.color = colors->bg[GTK_STATE_SELECTED]; tab.focus = focus; STYLE_FUNCTION(draw_tab) (cr, colors, ¶ms, &tab, x, y, width, height); } else { GTK_STYLE_CLASS (clearlooks_style_parent_class)->draw_extension (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side); } cairo_destroy (cr); } static void clearlooks_style_draw_handle (DRAW_ARGS, GtkOrientation orientation) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); if (DETAIL ("handlebox")) { WidgetParameters params; HandleParameters handle; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); handle.type = CL_HANDLE_TOOLBAR; handle.horizontal = (orientation == GTK_ORIENTATION_HORIZONTAL); STYLE_FUNCTION(draw_handle) (cr, colors, ¶ms, &handle, x, y, width, height); } else if (DETAIL ("paned")) { WidgetParameters params; HandleParameters handle; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); handle.type = CL_HANDLE_SPLITTER; handle.horizontal = (orientation == GTK_ORIENTATION_HORIZONTAL); STYLE_FUNCTION(draw_handle) (cr, colors, ¶ms, &handle, x, y, width, height); } else { WidgetParameters params; HandleParameters handle; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); handle.type = CL_HANDLE_TOOLBAR; handle.horizontal = (orientation == GTK_ORIENTATION_HORIZONTAL); STYLE_FUNCTION(draw_handle) (cr, colors, ¶ms, &handle, x, y, width, height); } cairo_destroy (cr); } static void clearlooks_style_draw_box (DRAW_ARGS) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); const ClearlooksColors *colors; cairo_t *cr; cr = ge_gdk_drawable_to_cairo (window, area); colors = &clearlooks_style->colors; CHECK_ARGS SANITIZE_SIZE if (DETAIL ("menubar")) { WidgetParameters params; MenuBarParameters menubar; gboolean horizontal; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); menubar.style = clearlooks_style->menubarstyle; horizontal = height < 2*width; /* This is not that great. Ideally we would have a nice vertical menubar. */ if ((shadow_type != GTK_SHADOW_NONE) && horizontal) STYLE_FUNCTION(draw_menubar) (cr, colors, ¶ms, &menubar, x, y, width, height); } else if (DETAIL ("button") && CHECK_HINT (GE_HINT_TREEVIEW_HEADER)) { WidgetParameters params; ListViewHeaderParameters header; gint columns, column_index; gboolean resizable = TRUE; /* XXX: This makes unknown treeview header "middle", in need for something nicer */ columns = 3; column_index = 1; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_NONE; if (GE_IS_TREE_VIEW (widget->parent)) { clearlooks_treeview_get_header_index (GTK_TREE_VIEW(widget->parent), widget, &column_index, &columns, &resizable); } #ifndef GTK_DISABLE_DEPRECATED else if (GE_IS_CLIST (widget->parent)) { clearlooks_clist_get_header_index (GTK_CLIST(widget->parent), widget, &column_index, &columns); } #endif header.resizable = resizable; header.order = 0; if (column_index == 0) header.order |= params.ltr ? CL_ORDER_FIRST : CL_ORDER_LAST; if (column_index == columns-1) header.order |= params.ltr ? CL_ORDER_LAST : CL_ORDER_FIRST; gtk_style_apply_default_background (style, window, FALSE, state_type, area, x, y, width, height); STYLE_FUNCTION(draw_list_view_header) (cr, colors, ¶ms, &header, x, y, width, height); } else if (DETAIL ("buttondefault")) { /* We are already checking the default button with the * "clearlooks_set_widget_parameters" function, so we may occur * in drawing the button two times. Let's return then. */ } else if (DETAIL ("button")) { WidgetParameters params; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.active = shadow_type == GTK_SHADOW_IN; if (CHECK_HINT (GE_HINT_COMBOBOX_ENTRY)) { if (params.ltr) params.corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; else params.corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; if (params.xthickness > 2) { if (params.ltr) x--; width++; } } else { params.corners = CR_CORNER_ALL; if (clearlooks_style->reliefstyle != 0) params.enable_shadow = TRUE; } if (shadow_type != GTK_SHADOW_ETCHED_IN) { STYLE_FUNCTION(draw_button) (cr, &clearlooks_style->colors, ¶ms, x, y, width, height); } else { cairo_save (cr); cairo_move_to (cr, x, y); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x, y + height); cairo_close_path (cr); cairo_clip (cr); params.active = TRUE; params.state_type = GTK_STATE_ACTIVE; STYLE_FUNCTION(draw_button) (cr, &clearlooks_style->colors, ¶ms, x, y, width, height); cairo_restore (cr); cairo_save (cr); cairo_move_to (cr, x + width, y); cairo_line_to (cr, x + width, y + height); cairo_line_to (cr, x, y + height); cairo_close_path (cr); cairo_clip (cr); params.active = FALSE; params.state_type = GTK_STATE_NORMAL; STYLE_FUNCTION(draw_button) (cr, &clearlooks_style->colors, ¶ms, x, y, width, height); cairo_restore (cr); } } else if (DETAIL ("spinbutton_up") || DETAIL ("spinbutton_down")) { if (state_type == GTK_STATE_ACTIVE) { WidgetParameters params; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); if (style->xthickness == 3) { width++; if (params.ltr) x--; } if (DETAIL ("spinbutton_up")) { height+=2; if (params.ltr) params.corners = CR_CORNER_TOPRIGHT; else params.corners = CR_CORNER_TOPLEFT; } else { if (params.ltr) params.corners = CR_CORNER_BOTTOMRIGHT; else params.corners = CR_CORNER_BOTTOMLEFT; } STYLE_FUNCTION(draw_spinbutton_down) (cr, &clearlooks_style->colors, ¶ms, x, y, width, height); } } else if (DETAIL ("spinbutton")) { WidgetParameters params; /* The "spinbutton" box is always drawn with state NORMAL, even if it is insensitive. * So work around this here. */ if (state_type == GTK_STATE_NORMAL && widget && GE_IS_ENTRY (widget)) state_type = GTK_WIDGET_STATE (widget); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); if (params.ltr) params.corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; else params.corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; if (style->xthickness == 3) { if (params.ltr) x--; width++; } STYLE_FUNCTION(draw_spinbutton) (cr, &clearlooks_style->colors, ¶ms, x, y, width, height); } else if (detail && g_str_has_prefix (detail, "trough") && CHECK_HINT (GE_HINT_SCALE)) { WidgetParameters params; SliderParameters slider; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_NONE; slider.lower = DETAIL ("trough-lower"); slider.fill_level = DETAIL ("trough-fill-level") || DETAIL ("trough-fill-level-full"); if (CHECK_HINT (GE_HINT_HSCALE)) slider.horizontal = TRUE; else if (CHECK_HINT (GE_HINT_VSCALE)) slider.horizontal = FALSE; else /* Fallback based on the size... */ slider.horizontal = width >= height; STYLE_FUNCTION(draw_scale_trough) (cr, &clearlooks_style->colors, ¶ms, &slider, x, y, width, height); } else if (DETAIL ("trough") && CHECK_HINT (GE_HINT_PROGRESSBAR)) { WidgetParameters params; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); /* Fill the background as it is initilized to base[NORMAL]. * Relevant GTK+ bug: http://bugzilla.gnome.org/show_bug.cgi?id=513476 * The fill only happens if no hint has been added by some application * that is faking GTK+ widgets. */ if (!widget || !g_object_get_data(G_OBJECT (widget), "transparent-bg-hint")) { cairo_rectangle (cr, 0, 0, width, height); ge_cairo_set_color (cr, ¶ms.parentbg); cairo_fill (cr); } STYLE_FUNCTION(draw_progressbar_trough) (cr, colors, ¶ms, x, y, width, height); } else if (DETAIL ("trough") && CHECK_HINT (GE_HINT_SCROLLBAR)) { WidgetParameters params; ScrollBarParameters scrollbar; gboolean trough_under_steppers = TRUE; ClearlooksStepper steppers; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_ALL; scrollbar.horizontal = TRUE; scrollbar.junction = clearlooks_scrollbar_get_junction (widget); steppers = clearlooks_scrollbar_visible_steppers (widget); if (CHECK_HINT (GE_HINT_HSCROLLBAR)) scrollbar.horizontal = TRUE; else if (CHECK_HINT (GE_HINT_VSCROLLBAR)) scrollbar.horizontal = FALSE; else /* Fallback based on the size ... */ scrollbar.horizontal = width >= height; if (widget) gtk_widget_style_get (widget, "trough-under-steppers", &trough_under_steppers, NULL); if (trough_under_steppers) { /* If trough under steppers is set, then we decrease the size * slightly. The size is decreased so that the trough is not * visible underneath the steppers. This is not really needed * as one can use the trough-under-steppers style property, * but it needs to exist for backward compatibility. */ if (scrollbar.horizontal) { if (steppers & (CL_STEPPER_A | CL_STEPPER_B)) { x += 2; width -= 2; } if (steppers & (CL_STEPPER_C | CL_STEPPER_D)) { width -= 2; } } else { if (steppers & (CL_STEPPER_A | CL_STEPPER_B)) { y += 2; height -= 2; } if (steppers & (CL_STEPPER_C | CL_STEPPER_D)) { height -= 2; } } } STYLE_FUNCTION(draw_scrollbar_trough) (cr, colors, ¶ms, &scrollbar, x, y, width, height); } else if (DETAIL ("bar")) { WidgetParameters params; ProgressBarParameters progressbar; gdouble elapsed = 0.0; #ifdef HAVE_WORKING_ANIMATION if(clearlooks_style->animation && CL_IS_PROGRESS_BAR (widget)) { gboolean activity_mode = GTK_PROGRESS (widget)->activity_mode; if (!activity_mode) clearlooks_animation_progressbar_add ((gpointer)widget); } elapsed = clearlooks_animation_elapsed (widget); #endif clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); if (widget && GE_IS_PROGRESS_BAR (widget)) { progressbar.orientation = gtk_progress_bar_get_orientation (GTK_PROGRESS_BAR (widget)); progressbar.value = gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(widget)); #ifndef GTK_DISABLE_DEPRECATED progressbar.pulsing = GTK_PROGRESS (widget)->activity_mode; #else #warning Assuming non-pulsing progress bars because GTK_DISABLE_DEPRECATED is enabled. progressbar.pulsing = FALSE; #endif } else { progressbar.orientation = CL_ORIENTATION_LEFT_TO_RIGHT; progressbar.value = 0; progressbar.pulsing = FALSE; } if (!params.ltr) { if (progressbar.orientation == GTK_PROGRESS_LEFT_TO_RIGHT) progressbar.orientation = GTK_PROGRESS_RIGHT_TO_LEFT; else if (progressbar.orientation == GTK_PROGRESS_RIGHT_TO_LEFT) progressbar.orientation = GTK_PROGRESS_LEFT_TO_RIGHT; } /* Following is a hack to have a larger clip area, the one passed in * does not allow for the shadow. */ if (area) { GdkRectangle tmp = *area; if (!progressbar.pulsing) { switch (progressbar.orientation) { case GTK_PROGRESS_RIGHT_TO_LEFT: tmp.x -= 1; case GTK_PROGRESS_LEFT_TO_RIGHT: tmp.width += 1; break; case GTK_PROGRESS_BOTTOM_TO_TOP: tmp.y -= 1; case GTK_PROGRESS_TOP_TO_BOTTOM: tmp.height += 1; break; } } else { if (progressbar.orientation == GTK_PROGRESS_RIGHT_TO_LEFT || progressbar.orientation == GTK_PROGRESS_LEFT_TO_RIGHT) { tmp.x -= 1; tmp.width += 2; } else { tmp.y -= 1; tmp.height += 2; } } cairo_reset_clip (cr); gdk_cairo_rectangle (cr, &tmp); cairo_clip (cr); } STYLE_FUNCTION(draw_progressbar_fill) (cr, colors, ¶ms, &progressbar, x, y, width, height, 10 - (int)(elapsed * 10.0) % 10); } else if (DETAIL ("entry-progress")) { WidgetParameters params; EntryProgressParameters progress; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); progress.max_size_known = FALSE; progress.max_size.x = 0; progress.max_size.y = 0; progress.max_size.width = 0; progress.max_size.height = 0; progress.border.left = style->xthickness; progress.border.right = style->xthickness; progress.border.top = style->ythickness; progress.border.bottom = style->ythickness; if (GE_IS_ENTRY (widget)) { GtkBorder *border; /* Try to retrieve the style property. */ gtk_widget_style_get (widget, "progress-border", &border, NULL); if (border) { progress.border = *border; gtk_border_free (border); } /* We got an entry, but well, we may not be drawing to * this particular widget ... it may not even be realized. * Also, we need to be drawing on a window obviously ... */ if (GTK_WIDGET_REALIZED (widget) && GDK_IS_WINDOW (window) && gdk_window_is_visible (widget->window)) { /* Assumptions done by this code: * - GtkEntry has some nested windows. * - widget->window is the entries window * - widget->window is the size of the entry part * (and not larger) * - only one layer of subwindows * These should be true with any GTK+ 2.x version. */ if (widget->window == window) { progress.max_size_known = TRUE; gdk_drawable_get_size (widget->window, &progress.max_size.width, &progress.max_size.height); } else { GdkWindow *parent; parent = gdk_window_get_parent (window); if (widget->window == parent) { gint pos_x, pos_y; /* widget->window is the parent window * of the current one. This means we can * calculate the correct offsets. */ gdk_window_get_position (window, &pos_x, &pos_y); progress.max_size.x = -pos_x; progress.max_size.y = -pos_y; progress.max_size_known = TRUE; gdk_drawable_get_size (widget->window, &progress.max_size.width, &progress.max_size.height); } /* Nothing we can do in this case ... */ } /* Now, one more thing needs to be done. If interior-focus * is off, then the entry may be a bit smaller. */ if (progress.max_size_known && GTK_WIDGET_HAS_FOCUS (widget)) { gboolean interior_focus = TRUE; gint focus_line_width = 1; gtk_widget_style_get (widget, "interior-focus", &interior_focus, "focus-line-width", &focus_line_width, NULL); if (!interior_focus) { progress.max_size.x += focus_line_width; progress.max_size.y += focus_line_width; progress.max_size.width -= 2*focus_line_width; progress.max_size.height -= 2*focus_line_width; } } if (progress.max_size_known) { progress.max_size.x += progress.border.left; progress.max_size.y += progress.border.top; progress.max_size.width -= progress.border.left + progress.border.right; progress.max_size.height -= progress.border.top + progress.border.bottom; /* Now test that max_size.height == height, if that * fails, something has gone wrong ... so then throw away * the max_size information. */ if (progress.max_size.height != height) { progress.max_size_known = FALSE; progress.max_size.x = 0; progress.max_size.y = 0; progress.max_size.width = 0; progress.max_size.height = 0; } } } } STYLE_FUNCTION(draw_entry_progress) (cr, colors, ¶ms, &progress, x, y, width, height); } else if (DETAIL ("optionmenu")) { WidgetParameters params; OptionMenuParameters optionmenu; GtkRequisition indicator_size; GtkBorder indicator_spacing; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); if (clearlooks_style->reliefstyle != 0) params.enable_shadow = TRUE; ge_option_menu_get_props (widget, &indicator_size, &indicator_spacing); if (ge_widget_is_ltr (widget)) optionmenu.linepos = width - (indicator_size.width + indicator_spacing.left + indicator_spacing.right) - 1; else optionmenu.linepos = (indicator_size.width + indicator_spacing.left + indicator_spacing.right) + 1; STYLE_FUNCTION(draw_optionmenu) (cr, colors, ¶ms, &optionmenu, x, y, width, height); } else if (DETAIL ("menuitem")) { WidgetParameters params; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); if (CHECK_HINT (GE_HINT_MENUBAR)) { params.corners = CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT; height += 1; STYLE_FUNCTION(draw_menubaritem) (cr, colors, ¶ms, x, y, width, height); } else { params.corners = CR_CORNER_ALL; STYLE_FUNCTION(draw_menuitem) (cr, colors, ¶ms, x, y, width, height); } } else if (DETAIL ("hscrollbar") || DETAIL ("vscrollbar")) /* This can't be "stepper" for scrollbars ... */ { WidgetParameters params; ScrollBarParameters scrollbar; ScrollBarStepperParameters stepper; GdkRectangle this_rectangle; this_rectangle.x = x; this_rectangle.y = y; this_rectangle.width = width; this_rectangle.height = height; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_NONE; scrollbar.has_color = FALSE; scrollbar.horizontal = TRUE; scrollbar.junction = clearlooks_scrollbar_get_junction (widget); if (clearlooks_style->colorize_scrollbar || clearlooks_style->has_scrollbar_color) scrollbar.has_color = TRUE; scrollbar.horizontal = DETAIL ("hscrollbar"); stepper.stepper = clearlooks_scrollbar_get_stepper (widget, &this_rectangle); STYLE_FUNCTION(draw_scrollbar_stepper) (cr, colors, ¶ms, &scrollbar, &stepper, x, y, width, height); } else if (DETAIL ("toolbar") || DETAIL ("handlebox_bin") || DETAIL ("dockitem_bin")) { WidgetParameters params; ToolbarParameters toolbar; gboolean horizontal; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); clearlooks_set_toolbar_parameters (&toolbar, widget, window, x, y); toolbar.style = clearlooks_style->toolbarstyle; if ((DETAIL ("handlebox_bin") || DETAIL ("dockitem_bin")) && GE_IS_BIN (widget)) { GtkWidget* child = gtk_bin_get_child ((GtkBin*) widget); /* This is to draw the correct shadow on the handlebox. * We need to draw it here, as otherwise the handle will not get the * background. */ if (GE_IS_TOOLBAR (child)) gtk_widget_style_get (child, "shadow-type", &shadow_type, NULL); } horizontal = height < 2*width; /* This is not that great. Ideally we would have a nice vertical toolbar. */ if ((shadow_type != GTK_SHADOW_NONE) && horizontal) STYLE_FUNCTION(draw_toolbar) (cr, colors, ¶ms, &toolbar, x, y, width, height); } else if (DETAIL ("trough")) { /* Nothing? Why benjamin? */ } else if (DETAIL ("menu")) { WidgetParameters params; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); STYLE_FUNCTION(draw_menu_frame) (cr, colors, ¶ms, x, y, width, height); } else if (DETAIL ("hseparator") || DETAIL ("vseparator")) { gchar *new_detail = (gchar*) detail; /* Draw a normal separator, we just use this because it gives more control * over sizing (currently). */ /* This isn't nice ... but it seems like the best cleanest way to me right now. * It will get slightly nicer in the future hopefully. */ if (GE_IS_MENU_ITEM (widget)) new_detail = "menuitem"; if (DETAIL ("hseparator")) { gtk_paint_hline (style, window, state_type, area, widget, new_detail, x, x + width - 1, y + height/2); } else gtk_paint_vline (style, window, state_type, area, widget, new_detail, y, y + height - 1, x + width/2); } else { GTK_STYLE_CLASS (clearlooks_style_parent_class)->draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } cairo_destroy (cr); } static void clearlooks_style_draw_slider (DRAW_ARGS, GtkOrientation orientation) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); const ClearlooksColors *colors; cairo_t *cr; cr = ge_gdk_drawable_to_cairo (window, area); colors = &clearlooks_style->colors; CHECK_ARGS SANITIZE_SIZE if (DETAIL ("hscale") || DETAIL ("vscale")) { WidgetParameters params; SliderParameters slider; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); slider.horizontal = (orientation == GTK_ORIENTATION_HORIZONTAL); slider.lower = FALSE; slider.fill_level = FALSE; if (clearlooks_style->style == CL_STYLE_GLOSSY) /* XXX! */ params.corners = CR_CORNER_ALL; STYLE_FUNCTION(draw_slider_button) (cr, &clearlooks_style->colors, ¶ms, &slider, x, y, width, height); } else if (DETAIL ("slider")) { WidgetParameters params; ScrollBarParameters scrollbar; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_NONE; scrollbar.has_color = FALSE; scrollbar.horizontal = (orientation == GTK_ORIENTATION_HORIZONTAL); scrollbar.junction = clearlooks_scrollbar_get_junction (widget); if (clearlooks_style->colorize_scrollbar) { scrollbar.color = colors->spot[1]; scrollbar.has_color = TRUE; } /* Set scrollbar color */ if (clearlooks_style->has_scrollbar_color) { ge_gdk_color_to_cairo (&clearlooks_style->scrollbar_color, &scrollbar.color); scrollbar.has_color = TRUE; } if ((clearlooks_style->style == CL_STYLE_GLOSSY || clearlooks_style->style == CL_STYLE_GUMMY) && !scrollbar.has_color) scrollbar.color = colors->bg[0]; STYLE_FUNCTION(draw_scrollbar_slider) (cr, colors, ¶ms, &scrollbar, x, y, width, height); } else { GTK_STYLE_CLASS (clearlooks_style_parent_class)->draw_slider (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation); } cairo_destroy (cr); } static void clearlooks_style_draw_option (DRAW_ARGS) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); const ClearlooksColors *colors; WidgetParameters params; CheckboxParameters checkbox; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); colors = &clearlooks_style->colors; checkbox.shadow_type = shadow_type; checkbox.in_menu = (widget && GTK_IS_MENU(widget->parent)); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); STYLE_FUNCTION(draw_radiobutton) (cr, colors, ¶ms, &checkbox, x, y, width, height); cairo_destroy (cr); } static void clearlooks_style_draw_check (DRAW_ARGS) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); WidgetParameters params; CheckboxParameters checkbox; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_ALL; checkbox.shadow_type = shadow_type; checkbox.in_cell = DETAIL("cellcheck"); checkbox.in_menu = (widget && widget->parent && GTK_IS_MENU(widget->parent)); STYLE_FUNCTION(draw_checkbox) (cr, &clearlooks_style->colors, ¶ms, &checkbox, x, y, width, height); cairo_destroy (cr); } static void clearlooks_style_draw_vline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint y1, gint y2, gint x) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); const ClearlooksColors *colors; SeparatorParameters separator = { FALSE }; cairo_t *cr; CHECK_ARGS colors = &clearlooks_style->colors; cr = ge_gdk_drawable_to_cairo (window, area); /* There is no such thing as a vertical menu separator * (and even if, a normal one should be better on menu bars) */ STYLE_FUNCTION(draw_separator) (cr, colors, NULL, &separator, x, y1, 2, y2-y1+1); cairo_destroy (cr); } static void clearlooks_style_draw_hline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x1, gint x2, gint y) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); const ClearlooksColors *colors; cairo_t *cr; SeparatorParameters separator; CHECK_ARGS colors = &clearlooks_style->colors; cr = ge_gdk_drawable_to_cairo (window, area); separator.horizontal = TRUE; if (!DETAIL ("menuitem")) STYLE_FUNCTION(draw_separator) (cr, colors, NULL, &separator, x1, y, x2-x1+1, 2); else STYLE_FUNCTION(draw_menu_item_separator) (cr, colors, NULL, &separator, x1, y, x2-x1+1, 2); cairo_destroy (cr); } static void clearlooks_style_draw_shadow_gap (DRAW_ARGS, GtkPositionType gap_side, gint gap_x, gint gap_width) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); const ClearlooksColors *colors; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); colors = &clearlooks_style->colors; if (DETAIL ("frame")) { WidgetParameters params; FrameParameters frame; frame.shadow = shadow_type; frame.gap_side = gap_side; frame.gap_x = gap_x; frame.gap_width = gap_width; frame.border = &colors->shade[5]; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); params.corners = CR_CORNER_ALL; STYLE_FUNCTION(draw_frame) (cr, colors, ¶ms, &frame, x, y, width, height); } else { GTK_STYLE_CLASS (clearlooks_style_parent_class)->draw_shadow_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width); } cairo_destroy (cr); } static void clearlooks_style_draw_resize_grip (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GdkWindowEdge edge, gint x, gint y, gint width, gint height) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; cairo_t *cr; WidgetParameters params; ResizeGripParameters grip; CHECK_ARGS SANITIZE_SIZE grip.edge = (ClearlooksWindowEdge)edge; g_return_if_fail (window != NULL); cr = ge_gdk_drawable_to_cairo (window, area); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); STYLE_FUNCTION(draw_resize_grip) (cr, colors, ¶ms, &grip, x, y, width, height); cairo_destroy (cr); } static void clearlooks_style_draw_tab (DRAW_ARGS) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; WidgetParameters params; ArrowParameters arrow; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); arrow.type = CL_ARROW_COMBO; arrow.direction = CL_DIRECTION_DOWN; STYLE_FUNCTION(draw_arrow) (cr, colors, ¶ms, &arrow, x, y, width, height); cairo_destroy (cr); } static void clearlooks_style_draw_arrow (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; WidgetParameters params; ArrowParameters arrow; cairo_t *cr = ge_gdk_drawable_to_cairo (window, area); CHECK_ARGS SANITIZE_SIZE if (arrow_type == GTK_ARROW_NONE) { cairo_destroy (cr); return; } clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); arrow.type = CL_ARROW_NORMAL; arrow.direction = (ClearlooksDirection)arrow_type; if (ge_is_combo_box (widget, FALSE) && !ge_is_combo_box_entry (widget)) { arrow.type = CL_ARROW_COMBO; } /* I have no idea why, but the arrow of GtkCombo is larger than in other places. * Subtracting 3 seems to fix this. */ if (widget && widget->parent && GE_IS_COMBO (widget->parent->parent)) { if (params.ltr) x += 1; else x += 2; width -= 3; } STYLE_FUNCTION(draw_arrow) (cr, colors, ¶ms, &arrow, x, y, width, height); cairo_destroy (cr); } static void clearlooks_style_init_from_rc (GtkStyle * style, GtkRcStyle * rc_style) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); GTK_STYLE_CLASS (clearlooks_style_parent_class)->init_from_rc (style, rc_style); g_assert ((CLEARLOOKS_RC_STYLE (rc_style)->style >= 0) && (CLEARLOOKS_RC_STYLE (rc_style)->style < CL_NUM_STYLES)); clearlooks_style->style = CLEARLOOKS_RC_STYLE (rc_style)->style; clearlooks_style->reliefstyle = CLEARLOOKS_RC_STYLE (rc_style)->reliefstyle; clearlooks_style->menubarstyle = CLEARLOOKS_RC_STYLE (rc_style)->menubarstyle; clearlooks_style->toolbarstyle = CLEARLOOKS_RC_STYLE (rc_style)->toolbarstyle; clearlooks_style->has_focus_color = CLEARLOOKS_RC_STYLE (rc_style)->flags & CL_FLAG_FOCUS_COLOR; clearlooks_style->has_scrollbar_color = CLEARLOOKS_RC_STYLE (rc_style)->flags & CL_FLAG_SCROLLBAR_COLOR; clearlooks_style->colorize_scrollbar = CLEARLOOKS_RC_STYLE (rc_style)->colorize_scrollbar; clearlooks_style->animation = CLEARLOOKS_RC_STYLE (rc_style)->animation; clearlooks_style->radius = CLAMP (CLEARLOOKS_RC_STYLE (rc_style)->radius, 0.0, 10.0); clearlooks_style->disable_focus = CLEARLOOKS_RC_STYLE (rc_style)->disable_focus; if (clearlooks_style->has_focus_color) clearlooks_style->focus_color = CLEARLOOKS_RC_STYLE (rc_style)->focus_color; if (clearlooks_style->has_scrollbar_color) clearlooks_style->scrollbar_color = CLEARLOOKS_RC_STYLE (rc_style)->scrollbar_color; } static void clearlooks_style_realize (GtkStyle * style) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); double shades[] = {1.15, 0.95, 0.896, 0.82, 0.7, 0.665, 0.475, 0.45, 0.4}; CairoColor spot_color; CairoColor bg_normal; double contrast; int i; GTK_STYLE_CLASS (clearlooks_style_parent_class)->realize (style); contrast = CLEARLOOKS_RC_STYLE (style->rc_style)->contrast; /* Lighter to darker */ ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &bg_normal); for (i = 0; i < 9; i++) { ge_shade_color (&bg_normal, (shades[i] < 1.0) ? (shades[i]/contrast) : (shades[i]*contrast), &clearlooks_style->colors.shade[i]); } ge_gdk_color_to_cairo (&style->bg[GTK_STATE_SELECTED], &spot_color); /* Andrea Cimitan wants something like the following to handle dark themes. * However, these two lines are broken currently, as ge_hsb_from_color expects * a CairoColor and not GdkColor * ge_hsb_from_color (&style->bg[GTK_STATE_SELECTED], &hue_spot, &saturation_spot, &brightness_spot); * ge_hsb_from_color (&style->bg[GTK_STATE_NORMAL], &hue_bg, &saturation_bg, &brightness_bg); */ /* Here to place some checks for dark themes. * We should use a different shade value for spot[2]. */ ge_shade_color (&spot_color, 1.25, &clearlooks_style->colors.spot[0]); ge_shade_color (&spot_color, 1.05, &clearlooks_style->colors.spot[1]); ge_shade_color (&spot_color, 0.65, &clearlooks_style->colors.spot[2]); for (i=0; i<5; i++) { ge_gdk_color_to_cairo (&style->fg[i], &clearlooks_style->colors.fg[i]); ge_gdk_color_to_cairo (&style->bg[i], &clearlooks_style->colors.bg[i]); ge_gdk_color_to_cairo (&style->base[i], &clearlooks_style->colors.base[i]); ge_gdk_color_to_cairo (&style->text[i], &clearlooks_style->colors.text[i]); } } static void clearlooks_style_draw_focus (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; WidgetParameters params; FocusParameters focus; guint8* dash_list; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE /* Just return if focus drawing is disabled. */ if (clearlooks_style->disable_focus) return; cr = gdk_cairo_create (window); clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); /* Corners */ params.corners = CR_CORNER_ALL; if (CHECK_HINT (GE_HINT_COMBOBOX_ENTRY)) { if (params.ltr) params.corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; else params.corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; if (params.xthickness > 2) { if (params.ltr) x--; width++; } } focus.has_color = FALSE; focus.interior = FALSE; focus.line_width = 1; focus.padding = 1; dash_list = NULL; if (widget) { gtk_widget_style_get (widget, "focus-line-width", &focus.line_width, "focus-line-pattern", &dash_list, "focus-padding", &focus.padding, "interior-focus", &focus.interior, NULL); } if (dash_list) focus.dash_list = dash_list; else focus.dash_list = (guint8*) g_strdup ("\1\1"); /* Focus type */ if (DETAIL("button")) { if (CHECK_HINT (GE_HINT_TREEVIEW_HEADER)) { focus.type = CL_FOCUS_TREEVIEW_HEADER; } else { GtkReliefStyle relief = GTK_RELIEF_NORMAL; /* Check for the shadow type. */ if (widget && GTK_IS_BUTTON (widget)) g_object_get (G_OBJECT (widget), "relief", &relief, NULL); if (relief == GTK_RELIEF_NORMAL) focus.type = CL_FOCUS_BUTTON; else focus.type = CL_FOCUS_BUTTON_FLAT; /* This is a workaround for the bogus focus handling that * clearlooks has currently. * I truely dislike putting it here, but I guess it is better * then having such a visible bug. It should be removed in the * next unstable release cycle. -- Benjamin */ if (ge_object_is_a (G_OBJECT (widget), "ButtonWidget")) focus.type = CL_FOCUS_LABEL; } } else if (detail && g_str_has_prefix (detail, "treeview")) { /* Focus in a treeview, and that means a lot of different detail strings. */ if (g_str_has_prefix (detail, "treeview-drop-indicator")) focus.type = CL_FOCUS_TREEVIEW_DND; else focus.type = CL_FOCUS_TREEVIEW_ROW; if (g_str_has_suffix (detail, "left")) { focus.continue_side = CL_CONT_RIGHT; } else if (g_str_has_suffix (detail, "right")) { focus.continue_side = CL_CONT_LEFT; } else if (g_str_has_suffix (detail, "middle")) { focus.continue_side = CL_CONT_LEFT | CL_CONT_RIGHT; } else { /* This may either mean no continuation, or unknown ... * if it is unknown we assume it continues on both sides */ gboolean row_ending_details = FALSE; /* Try to get the style property. */ if (widget) gtk_widget_style_get (widget, "row-ending-details", &row_ending_details, NULL); if (row_ending_details) focus.continue_side = CL_CONT_NONE; else focus.continue_side = CL_CONT_LEFT | CL_CONT_RIGHT; } } else if (detail && g_str_has_prefix (detail, "trough") && CHECK_HINT (GE_HINT_SCALE)) { focus.type = CL_FOCUS_SCALE; } else if (DETAIL("tab")) { focus.type = CL_FOCUS_TAB; } else if (detail && g_str_has_prefix (detail, "colorwheel")) { if (DETAIL ("colorwheel_dark")) focus.type = CL_FOCUS_COLOR_WHEEL_DARK; else focus.type = CL_FOCUS_COLOR_WHEEL_LIGHT; } else if (DETAIL("checkbutton") || DETAIL("radiobutton") || DETAIL("expander")) { focus.type = CL_FOCUS_LABEL; /* Let's call it "LABEL" :) */ } else if (CHECK_HINT (GE_HINT_TREEVIEW)) { focus.type = CL_FOCUS_TREEVIEW; /* Treeview without content is focused. */ } else if (DETAIL("icon_view")) { focus.type = CL_FOCUS_ICONVIEW; } else { focus.type = CL_FOCUS_UNKNOWN; /* Custom widgets (Beagle) and something unknown */ } /* Focus color */ if (clearlooks_style->has_focus_color) { ge_gdk_color_to_cairo (&clearlooks_style->focus_color, &focus.color); focus.has_color = TRUE; } else focus.color = colors->bg[GTK_STATE_SELECTED]; STYLE_FUNCTION(draw_focus) (cr, colors, ¶ms, &focus, x, y, width, height); g_free (focus.dash_list); cairo_destroy (cr); } static void clearlooks_style_copy (GtkStyle * style, GtkStyle * src) { ClearlooksStyle * cl_style = CLEARLOOKS_STYLE (style); ClearlooksStyle * cl_src = CLEARLOOKS_STYLE (src); cl_style->colors = cl_src->colors; cl_style->reliefstyle = cl_src->reliefstyle; cl_style->menubarstyle = cl_src->menubarstyle; cl_style->toolbarstyle = cl_src->toolbarstyle; cl_style->focus_color = cl_src->focus_color; cl_style->has_focus_color = cl_src->has_focus_color; cl_style->scrollbar_color = cl_src->scrollbar_color; cl_style->has_scrollbar_color = cl_src->has_scrollbar_color; cl_style->colorize_scrollbar = cl_src->colorize_scrollbar; cl_style->animation = cl_src->animation; cl_style->radius = cl_src->radius; cl_style->style = cl_src->style; cl_style->disable_focus = cl_src->disable_focus; GTK_STYLE_CLASS (clearlooks_style_parent_class)->copy (style, src); } static void clearlooks_style_unrealize (GtkStyle * style) { GTK_STYLE_CLASS (clearlooks_style_parent_class)->unrealize (style); } static GdkPixbuf * set_transparency (const GdkPixbuf *pixbuf, gdouble alpha_percent) { GdkPixbuf *target; guchar *data, *current; guint x, y, rowstride, height, width; g_return_val_if_fail (pixbuf != NULL, NULL); g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); /* Returns a copy of pixbuf with it's non-completely-transparent pixels to have an alpha level "alpha_percent" of their original value. */ target = gdk_pixbuf_add_alpha (pixbuf, FALSE, 0, 0, 0); if (alpha_percent == 1.0) return target; width = gdk_pixbuf_get_width (target); height = gdk_pixbuf_get_height (target); rowstride = gdk_pixbuf_get_rowstride (target); data = gdk_pixbuf_get_pixels (target); for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { /* The "4" is the number of chars per pixel, in this case, RGBA, the 3 means "skip to the alpha" */ current = data + (y * rowstride) + (x * 4) + 3; *(current) = (guchar) (*(current) * alpha_percent); } } return target; } static GdkPixbuf* scale_or_ref (GdkPixbuf *src, int width, int height) { if (width == gdk_pixbuf_get_width (src) && height == gdk_pixbuf_get_height (src)) { return g_object_ref (src); } else { return gdk_pixbuf_scale_simple (src, width, height, GDK_INTERP_BILINEAR); } } static void clearlooks_style_draw_layout (GtkStyle * style, GdkWindow * window, GtkStateType state_type, gboolean use_text, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, PangoLayout * layout) { GdkGC *gc; g_return_if_fail (GTK_IS_STYLE (style)); g_return_if_fail (window != NULL); gc = use_text ? style->text_gc[state_type] : style->fg_gc[state_type]; if (area) gdk_gc_set_clip_rectangle (gc, area); if (state_type == GTK_STATE_INSENSITIVE) { ClearlooksStyle *clearlooks_style = CLEARLOOKS_STYLE (style); ClearlooksColors *colors = &clearlooks_style->colors; WidgetParameters params; GdkColor etched; CairoColor temp; clearlooks_set_widget_parameters (widget, style, state_type, ¶ms); if (GTK_WIDGET_NO_WINDOW (widget)) ge_shade_color (¶ms.parentbg, 1.2, &temp); else ge_shade_color (&colors->bg[widget->state], 1.2, &temp); etched.red = (int) (temp.r * 65535); etched.green = (int) (temp.g * 65535); etched.blue = (int) (temp.b * 65535); gdk_draw_layout_with_colors (window, gc, x + 1, y + 1, layout, &etched, NULL); gdk_draw_layout (window, gc, x, y, layout); } else gdk_draw_layout (window, gc, x, y, layout); if (area) gdk_gc_set_clip_rectangle (gc, NULL); } static GdkPixbuf * clearlooks_style_draw_render_icon (GtkStyle *style, const GtkIconSource *source, GtkTextDirection direction, GtkStateType state, GtkIconSize size, GtkWidget *widget, const char *detail) { int width = 1; int height = 1; GdkPixbuf *scaled; GdkPixbuf *stated; GdkPixbuf *base_pixbuf; GdkScreen *screen; GtkSettings *settings; /* Oddly, style can be NULL in this function, because * GtkIconSet can be used without a style and if so * it uses this function. */ base_pixbuf = gtk_icon_source_get_pixbuf (source); g_return_val_if_fail (base_pixbuf != NULL, NULL); if (widget && gtk_widget_has_screen (widget)) { screen = gtk_widget_get_screen (widget); settings = gtk_settings_get_for_screen (screen); } else if (style->colormap) { screen = gdk_colormap_get_screen (style->colormap); settings = gtk_settings_get_for_screen (screen); } else { settings = gtk_settings_get_default (); GTK_NOTE (MULTIHEAD, g_warning ("Using the default screen for gtk_default_render_icon()")); } if (size != (GtkIconSize) -1 && !gtk_icon_size_lookup_for_settings (settings, size, &width, &height)) { g_warning (G_STRLOC ": invalid icon size '%d'", size); return NULL; } /* If the size was wildcarded, and we're allowed to scale, then scale; otherwise, * leave it alone. */ if (size != (GtkIconSize)-1 && gtk_icon_source_get_size_wildcarded (source)) scaled = scale_or_ref (base_pixbuf, width, height); else scaled = g_object_ref (base_pixbuf); /* If the state was wildcarded, then generate a state. */ if (gtk_icon_source_get_state_wildcarded (source)) { if (state == GTK_STATE_INSENSITIVE) { stated = set_transparency (scaled, 0.3); gdk_pixbuf_saturate_and_pixelate (stated, stated, 0.1, FALSE); g_object_unref (scaled); } else if (state == GTK_STATE_PRELIGHT) { stated = gdk_pixbuf_copy (scaled); gdk_pixbuf_saturate_and_pixelate (scaled, stated, 1.2, FALSE); g_object_unref (scaled); } else { stated = scaled; } } else stated = scaled; return stated; } void clearlooks_style_register_types (GTypeModule *module) { clearlooks_style_register_type (module); } static void clearlooks_style_init (ClearlooksStyle * style) { } static void clearlooks_style_class_init (ClearlooksStyleClass * klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->copy = clearlooks_style_copy; style_class->realize = clearlooks_style_realize; style_class->unrealize = clearlooks_style_unrealize; style_class->init_from_rc = clearlooks_style_init_from_rc; style_class->draw_handle = clearlooks_style_draw_handle; style_class->draw_slider = clearlooks_style_draw_slider; style_class->draw_shadow_gap = clearlooks_style_draw_shadow_gap; style_class->draw_focus = clearlooks_style_draw_focus; style_class->draw_box = clearlooks_style_draw_box; style_class->draw_shadow = clearlooks_style_draw_shadow; style_class->draw_box_gap = clearlooks_style_draw_box_gap; style_class->draw_extension = clearlooks_style_draw_extension; style_class->draw_option = clearlooks_style_draw_option; style_class->draw_check = clearlooks_style_draw_check; style_class->draw_flat_box = clearlooks_style_draw_flat_box; style_class->draw_vline = clearlooks_style_draw_vline; style_class->draw_hline = clearlooks_style_draw_hline; style_class->draw_resize_grip = clearlooks_style_draw_resize_grip; style_class->draw_tab = clearlooks_style_draw_tab; style_class->draw_arrow = clearlooks_style_draw_arrow; style_class->draw_layout = clearlooks_style_draw_layout; style_class->render_icon = clearlooks_style_draw_render_icon; clearlooks_register_style_classic (&klass->style_functions[CL_STYLE_CLASSIC], &klass->style_constants[CL_STYLE_CLASSIC]); klass->style_functions[CL_STYLE_GLOSSY] = klass->style_functions[CL_STYLE_CLASSIC]; klass->style_constants[CL_STYLE_GLOSSY] = klass->style_constants[CL_STYLE_CLASSIC]; clearlooks_register_style_glossy (&klass->style_functions[CL_STYLE_GLOSSY], &klass->style_constants[CL_STYLE_GLOSSY]); klass->style_functions[CL_STYLE_INVERTED] = klass->style_functions[CL_STYLE_CLASSIC]; klass->style_constants[CL_STYLE_INVERTED] = klass->style_constants[CL_STYLE_CLASSIC]; clearlooks_register_style_inverted (&klass->style_functions[CL_STYLE_INVERTED], &klass->style_constants[CL_STYLE_INVERTED]); klass->style_functions[CL_STYLE_GUMMY] = klass->style_functions[CL_STYLE_CLASSIC]; klass->style_constants[CL_STYLE_GUMMY] = klass->style_constants[CL_STYLE_CLASSIC]; clearlooks_register_style_gummy (&klass->style_functions[CL_STYLE_GUMMY], &klass->style_constants[CL_STYLE_GUMMY]); } static void clearlooks_style_class_finalize (ClearlooksStyleClass *klass) { } gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_style.h0000644000175000017500000000544511446654310021051 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2005 Richard Stellingwerff * Copyright (C) 2007 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Originally written by Owen Taylor * and by Alexander Larsson * Modified by Richard Stellingwerff * */ #include #ifndef CLEARLOOKS_STYLE_H #define CLEARLOOKS_STYLE_H #include "animation.h" #include "clearlooks_types.h" typedef struct _ClearlooksStyle ClearlooksStyle; typedef struct _ClearlooksStyleClass ClearlooksStyleClass; #define CLEARLOOKS_TYPE_STYLE (clearlooks_style_get_type ()) #define CLEARLOOKS_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), CLEARLOOKS_TYPE_STYLE, ClearlooksStyle)) #define CLEARLOOKS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLEARLOOKS_TYPE_STYLE, ClearlooksStyleClass)) #define CLEARLOOKS_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), CLEARLOOKS_TYPE_STYLE)) #define CLEARLOOKS_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLEARLOOKS_TYPE_STYLE)) #define CLEARLOOKS_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLEARLOOKS_TYPE_STYLE, ClearlooksStyleClass)) struct _ClearlooksStyle { GtkStyle parent_instance; ClearlooksColors colors; ClearlooksStyles style; guint8 reliefstyle; guint8 menubarstyle; guint8 toolbarstyle; GdkColor focus_color; gboolean has_focus_color; GdkColor scrollbar_color; gboolean colorize_scrollbar; gboolean has_scrollbar_color; gboolean animation; gfloat radius; gboolean disable_focus; }; struct _ClearlooksStyleClass { GtkStyleClass parent_class; ClearlooksStyleFunctions style_functions[CL_NUM_STYLES]; ClearlooksStyleConstants style_constants[CL_NUM_STYLES]; }; GE_INTERNAL void clearlooks_style_register_types (GTypeModule *module); GE_INTERNAL GType clearlooks_style_get_type (void); #endif /* CLEARLOOKS_STYLE_H */ gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_theme_main.c0000644000175000017500000000257111445424675022017 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2005-2006 Andrew Johnson * Copyright (C) 2006 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include "clearlooks_style.h" #include "clearlooks_rc_style.h" GE_EXPORT void theme_init (GTypeModule *module) { clearlooks_rc_style_register_types (module); clearlooks_style_register_types (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { return GTK_RC_STYLE (g_object_new (CLEARLOOKS_TYPE_RC_STYLE, NULL)); } gtk-engines-2.20.2/engines/clearlooks/src/support.c0000644000175000017500000002116611446654310017200 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "support.h" void clearlooks_treeview_get_header_index (GtkTreeView *tv, GtkWidget *header, gint *column_index, gint *columns, gboolean *resizable) { GList *list, *list_start; *column_index = *columns = 0; list_start = list = gtk_tree_view_get_columns (tv); do { GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN(list->data); if ( column->button == header ) { *column_index = *columns; *resizable = column->resizable; } if ( column->visible ) (*columns)++; } while ((list = g_list_next(list))); g_list_free (list_start); } #ifndef GTK_DISABLE_DEPRECATED void clearlooks_clist_get_header_index (GtkCList *clist, GtkWidget *button, gint *column_index, gint *columns) { int i; *columns = clist->columns; for (i=0; i<*columns; i++) { if (clist->column[i].button == button) { *column_index = i; break; } } } #else #warning Disabling special CList support of clearlooks as GTK_DISABLE_DEPRECATED is enabled. #endif void clearlooks_get_parent_bg (const GtkWidget *widget, CairoColor *color) { GtkStateType state_type; const GtkWidget *parent; GdkColor *gcolor; gboolean stop; if (widget == NULL) return; parent = widget->parent; stop = FALSE; while (parent && !stop) { stop = FALSE; stop |= !GTK_WIDGET_NO_WINDOW (parent); stop |= GTK_IS_NOTEBOOK (parent) && gtk_notebook_get_show_tabs (GTK_NOTEBOOK (parent)) && gtk_notebook_get_show_border (GTK_NOTEBOOK (parent)); if (GTK_IS_TOOLBAR (parent)) { GtkShadowType shadow = GTK_SHADOW_OUT; gtk_widget_style_get (GTK_WIDGET (parent), "shadow-type", &shadow, NULL); stop |= (shadow != GTK_SHADOW_NONE); } if (!stop) parent = parent->parent; } if (parent == NULL) return; state_type = GTK_WIDGET_STATE (parent); gcolor = &parent->style->bg[state_type]; ge_gdk_color_to_cairo (gcolor, color); } ClearlooksStepper clearlooks_scrollbar_get_stepper (GtkWidget *widget, GdkRectangle *stepper) { ClearlooksStepper value = CL_STEPPER_UNKNOWN; GdkRectangle tmp; GdkRectangle check_rectangle; GtkOrientation orientation; if (!GE_IS_RANGE (widget)) return CL_STEPPER_UNKNOWN; check_rectangle.x = widget->allocation.x; check_rectangle.y = widget->allocation.y; check_rectangle.width = stepper->width; check_rectangle.height = stepper->height; orientation = GTK_RANGE (widget)->orientation; if (widget->allocation.x == -1 && widget->allocation.y == -1) return CL_STEPPER_UNKNOWN; if (gdk_rectangle_intersect (stepper, &check_rectangle, &tmp)) value = CL_STEPPER_A; if (value == CL_STEPPER_UNKNOWN) /* Haven't found a match */ { if (orientation == GTK_ORIENTATION_HORIZONTAL) check_rectangle.x = widget->allocation.x + stepper->width; else check_rectangle.y = widget->allocation.y + stepper->height; if (gdk_rectangle_intersect (stepper, &check_rectangle, &tmp)) value = CL_STEPPER_B; } if (value == CL_STEPPER_UNKNOWN) /* Still haven't found a match */ { if (orientation == GTK_ORIENTATION_HORIZONTAL) check_rectangle.x = widget->allocation.x + widget->allocation.width - (stepper->width * 2); else check_rectangle.y = widget->allocation.y + widget->allocation.height - (stepper->height * 2); if (gdk_rectangle_intersect (stepper, &check_rectangle, &tmp)) value = CL_STEPPER_C; } if (value == CL_STEPPER_UNKNOWN) /* STILL haven't found a match */ { if (orientation == GTK_ORIENTATION_HORIZONTAL) check_rectangle.x = widget->allocation.x + widget->allocation.width - stepper->width; else check_rectangle.y = widget->allocation.y + widget->allocation.height - stepper->height; if (gdk_rectangle_intersect (stepper, &check_rectangle, &tmp)) value = CL_STEPPER_D; } return value; } ClearlooksStepper clearlooks_scrollbar_visible_steppers (GtkWidget *widget) { ClearlooksStepper steppers = 0; /* If this is not a range widget, assume that the primary steppers * are present. */ if (!GE_IS_RANGE (widget)) return CL_STEPPER_A | CL_STEPPER_D; if (GTK_RANGE (widget)->has_stepper_a) steppers |= CL_STEPPER_A; if (GTK_RANGE (widget)->has_stepper_b) steppers |= CL_STEPPER_B; if (GTK_RANGE (widget)->has_stepper_c) steppers |= CL_STEPPER_C; if (GTK_RANGE (widget)->has_stepper_d) steppers |= CL_STEPPER_D; return steppers; } ClearlooksJunction clearlooks_scrollbar_get_junction (GtkWidget *widget) { GtkAdjustment *adj; ClearlooksJunction junction = CL_JUNCTION_NONE; if (!GE_IS_RANGE (widget)) return CL_JUNCTION_NONE; adj = GTK_RANGE (widget)->adjustment; if (adj->value <= adj->lower && (GTK_RANGE (widget)->has_stepper_a || GTK_RANGE (widget)->has_stepper_b)) { if (!gtk_range_get_inverted (GTK_RANGE (widget))) junction |= CL_JUNCTION_BEGIN; else junction |= CL_JUNCTION_END; } if (adj->value >= adj->upper - adj->page_size && (GTK_RANGE (widget)->has_stepper_c || GTK_RANGE (widget)->has_stepper_d)) { if (!gtk_range_get_inverted (GTK_RANGE (widget))) junction |= CL_JUNCTION_END; else junction |= CL_JUNCTION_BEGIN; } return junction; } void clearlooks_set_toolbar_parameters (ToolbarParameters *toolbar, GtkWidget *widget, GdkWindow *window, gint x, gint y) { toolbar->topmost = FALSE; if (x == 0 && y == 0) { if (widget && widget->allocation.x == 0 && widget->allocation.y == 0) { if (widget->window == window && GE_IS_TOOLBAR (widget)) { toolbar->topmost = TRUE; } } } } void clearlooks_get_notebook_tab_position (GtkWidget *widget, gboolean *start, gboolean *end) { /* default value */ *start = TRUE; *end = FALSE; if (GE_IS_NOTEBOOK (widget)) { gboolean found_tabs = FALSE; gint i, n_pages; GtkNotebook *notebook = GTK_NOTEBOOK (widget); /* got a notebook, so walk over all the tabs and decide based * on that ... * It works like this: * - If there is any visible tab that is expanded, set both. * - Set start/end if there is any visible tab that is at * the start/end. * - If one has the child_visibility set to false, arrows * are present; so none * The heuristic falls over if there is a notebook that just * happens to fill up all the available space. ie. All tabs * are left aligned, but it does not require scrolling. * (a more complex heuristic could calculate the tabs width * and add them all up) */ n_pages = gtk_notebook_get_n_pages (notebook); for (i = 0; i < n_pages; i++) { GtkWidget *tab_child; GtkWidget *tab_label; gboolean expand; GtkPackType pack_type; tab_child = gtk_notebook_get_nth_page (notebook, i); /* Skip invisible tabs */ tab_label = gtk_notebook_get_tab_label (notebook, tab_child); if (!tab_label || !GTK_WIDGET_VISIBLE (tab_label)) continue; /* This is the same what the notebook does internally. */ if (tab_label && !gtk_widget_get_child_visible (tab_label)) { /* One child is hidden because scroll arrows are present. * So both corners are rounded. */ *start = FALSE; *end = FALSE; return; } gtk_notebook_query_tab_label_packing (notebook, tab_child, &expand, NULL, /* don't need fill */ &pack_type); if (!found_tabs) { found_tabs = TRUE; *start = FALSE; *end = FALSE; } if (expand) { *start = TRUE; *end = TRUE; } else if (pack_type == GTK_PACK_START) { *start = TRUE; } else { *end = TRUE; } } } } gtk-engines-2.20.2/engines/clearlooks/src/animation.c0000644000175000017500000002174311446654310017444 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2006 Kulyk Nazar * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * This code is responsible for the clearlooks animation support. The code * works by forcing a redraw on the animated widget. * */ #include "animation.h" #ifdef HAVE_WORKING_ANIMATION #include struct _AnimationInfo { GTimer *timer; gdouble start_modifier; gdouble stop_time; GtkWidget *widget; }; typedef struct _AnimationInfo AnimationInfo; struct _SignalInfo { GtkWidget *widget; gulong handler_id; }; typedef struct _SignalInfo SignalInfo; static GSList *connected_widgets = NULL; static GHashTable *animated_widgets = NULL; static int animation_timer_id = 0; static gboolean animation_timeout_handler (gpointer data); /* This forces a redraw on a widget */ static void force_widget_redraw (GtkWidget *widget) { if (GE_IS_PROGRESS_BAR (widget)) gtk_widget_queue_resize (widget); else gtk_widget_queue_draw (widget); } /* ensures that the timer is running */ static void start_timer () { if (animation_timer_id == 0) animation_timer_id = g_timeout_add (ANIMATION_DELAY, animation_timeout_handler, NULL); } /* ensures that the timer is stopped */ static void stop_timer () { if (animation_timer_id != 0) { g_source_remove(animation_timer_id); animation_timer_id = 0; } } /* destroys an AnimationInfo structure including the GTimer */ static void animation_info_destroy (AnimationInfo *animation_info) { g_timer_destroy (animation_info->timer); g_free (animation_info); } /* This function does not unref the weak reference, because the object * is beeing destroyed currently. */ static void on_animated_widget_destruction (gpointer data, GObject *object) { /* steal the animation info from the hash table (destroying it would * result in the weak reference to be unrefed, which does not work * as the widget is already destroyed. */ g_hash_table_steal (animated_widgets, object); animation_info_destroy ((AnimationInfo*) data); } /* This function also needs to unref the weak reference. */ static void destroy_animation_info_and_weak_unref (gpointer data) { AnimationInfo *animation_info = data; /* force a last redraw. This is so that if the animation is removed, * the widget is left in a sane state. */ force_widget_redraw (animation_info->widget); g_object_weak_unref (G_OBJECT (animation_info->widget), on_animated_widget_destruction, data); animation_info_destroy (animation_info); } /* Find and return a pointer to the data linked to this widget, if it exists */ static AnimationInfo* lookup_animation_info (const GtkWidget *widget) { if (animated_widgets) return g_hash_table_lookup (animated_widgets, widget); return NULL; } /* Create all the relevant information for the animation, and insert it into the hash table. */ static void add_animation (const GtkWidget *widget, gdouble stop_time) { AnimationInfo *value; /* object already in the list, do not add it twice */ if (lookup_animation_info (widget)) return; if (animated_widgets == NULL) animated_widgets = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, destroy_animation_info_and_weak_unref); value = g_new(AnimationInfo, 1); value->widget = (GtkWidget*) widget; value->timer = g_timer_new (); value->stop_time= stop_time; value->start_modifier = 0.0; g_object_weak_ref (G_OBJECT (widget), on_animated_widget_destruction, value); g_hash_table_insert (animated_widgets, (GtkWidget*) widget, value); start_timer (); } /* update the animation information for each widget. This will also queue a redraw * and stop the animation if it is done. */ static gboolean update_animation_info (gpointer key, gpointer value, gpointer user_data) { AnimationInfo *animation_info = value; GtkWidget *widget = key; g_assert ((widget != NULL) && (animation_info != NULL)); /* remove the widget from the hash table if it is not drawable */ if (!GTK_WIDGET_DRAWABLE (widget)) { return TRUE; } if (GE_IS_PROGRESS_BAR (widget)) { gfloat fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (widget)); /* stop animation for filled/not filled progress bars */ if (fraction <= 0.0 || fraction >= 1.0) return TRUE; } force_widget_redraw (widget); /* stop at stop_time */ if (animation_info->stop_time != 0 && g_timer_elapsed (animation_info->timer, NULL) > animation_info->stop_time) return TRUE; return FALSE; } /* This gets called by the glib main loop every once in a while. */ static gboolean animation_timeout_handler (gpointer data) { /*g_print("** TICK **\n");*/ /* enter threads as update_animation_info will use gtk/gdk. */ gdk_threads_enter (); g_hash_table_foreach_remove (animated_widgets, update_animation_info, NULL); /* leave threads again */ gdk_threads_leave (); if(g_hash_table_size(animated_widgets)==0) { stop_timer (); return FALSE; } return TRUE; } static void on_checkbox_toggle (GtkWidget *widget, gpointer data) { AnimationInfo *animation_info = lookup_animation_info (widget); if (animation_info != NULL) { gfloat elapsed = g_timer_elapsed (animation_info->timer, NULL); animation_info->start_modifier = elapsed - animation_info->start_modifier; } else { add_animation (widget, CHECK_ANIMATION_TIME); } } static void on_connected_widget_destruction (gpointer data, GObject *widget) { connected_widgets = g_slist_remove (connected_widgets, data); g_free (data); } static void disconnect_all_signals () { GSList * item = connected_widgets; while (item != NULL) { SignalInfo *signal_info = (SignalInfo*) item->data; g_signal_handler_disconnect (signal_info->widget, signal_info->handler_id); g_object_weak_unref (G_OBJECT (signal_info->widget), on_connected_widget_destruction, signal_info); g_free (signal_info); item = g_slist_next (item); } g_slist_free (connected_widgets); connected_widgets = NULL; } /* helper function for clearlooks_animation_connect_checkbox */ static gint find_signal_info (gconstpointer signal_info, gconstpointer widget) { if (((SignalInfo*)signal_info)->widget == widget) return 0; else return 1; } /* external interface */ /* adds a progress bar */ void clearlooks_animation_progressbar_add (GtkWidget *progressbar) { gdouble fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (progressbar)); if (fraction < 1.0 && fraction > 0.0) add_animation ((GtkWidget*) progressbar, 0.0); } /* hooks up the signals for check and radio buttons */ void clearlooks_animation_connect_checkbox (GtkWidget *widget) { if (GE_IS_CHECK_BUTTON (widget)) { if (!g_slist_find_custom (connected_widgets, widget, find_signal_info)) { SignalInfo * signal_info = g_new (SignalInfo, 1); signal_info->widget = widget; signal_info->handler_id = g_signal_connect ((GObject*)widget, "toggled", G_CALLBACK (on_checkbox_toggle), NULL); connected_widgets = g_slist_append (connected_widgets, signal_info); g_object_weak_ref (G_OBJECT (widget), on_connected_widget_destruction, signal_info); } } } /* returns TRUE if the widget is animated, and FALSE otherwise */ gboolean clearlooks_animation_is_animated (GtkWidget *widget) { return lookup_animation_info (widget) != NULL ? TRUE : FALSE; } /* returns the elapsed time for the animation */ gdouble clearlooks_animation_elapsed (gpointer data) { AnimationInfo *animation_info = lookup_animation_info (data); if (animation_info) return g_timer_elapsed (animation_info->timer, NULL) - animation_info->start_modifier; else return 0.0; } /* cleans up all resources of the animation system */ void clearlooks_animation_cleanup () { disconnect_all_signals (); if (animated_widgets != NULL) { g_hash_table_destroy (animated_widgets); animated_widgets = NULL; } stop_timer (); } #else /* !HAVE_WORKING_ANIMATION */ /* Warn here so the message is only displayed once. */ #warning Disabling animation support as it currently needs deprecated symbols and GTK_DISABLE_DEPRECATED is enabled. static void clearlooks_animation_dummy_function_so_wall_shuts_up_when_animations_is_disabled() { clearlooks_animation_dummy_function_so_wall_shuts_up_when_animations_is_disabled(); } #endif /* HAVE_WORKING_ANIMATION */ gtk-engines-2.20.2/engines/clearlooks/src/animation.h0000644000175000017500000000331411446654310017443 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2006 Kulyk Nazar * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #ifdef HAVE_ANIMATION #ifndef GTK_DISABLE_DEPRECATED #define HAVE_WORKING_ANIMATION 1 #include #include #define CL_IS_PROGRESS_BAR(widget) GE_IS_PROGRESS_BAR(widget) && widget->allocation.x != -1 && widget->allocation.y != -1 #define ANIMATION_DELAY 100 #define CHECK_ANIMATION_TIME 0.5 GE_INTERNAL void clearlooks_animation_progressbar_add (GtkWidget *progressbar); GE_INTERNAL void clearlooks_animation_connect_checkbox (GtkWidget *widget); GE_INTERNAL gboolean clearlooks_animation_is_animated (GtkWidget *widget); GE_INTERNAL gdouble clearlooks_animation_elapsed (gpointer data); GE_INTERNAL void clearlooks_animation_cleanup (); #endif /* GTK_DISABLE_DEPRECATED */ #endif /* HAVE_ANIMATION */ gtk-engines-2.20.2/engines/clearlooks/src/support.h0000644000175000017500000000536711446654310017212 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #ifndef SUPPORT_H #define SUPPORT_H #include #include #include #include "clearlooks_types.h" #define RADIO_SIZE 13 #define CHECK_SIZE 13 GE_INTERNAL void clearlooks_treeview_get_header_index (GtkTreeView *tv, GtkWidget *header, gint *column_index, gint *columns, gboolean *resizable); #ifndef GTK_DISABLE_DEPRECATED GE_INTERNAL void clearlooks_clist_get_header_index (GtkCList *clist, GtkWidget *button, gint *column_index, gint *columns); #endif #ifdef DEVELOPMENT #warning clearlooks_get_parent_bg is a bad hack - find out why its needed, and figure out a better way. #endif GE_INTERNAL void clearlooks_get_parent_bg (const GtkWidget *widget, CairoColor *color); GE_INTERNAL ClearlooksStepper clearlooks_scrollbar_get_stepper (GtkWidget *widget, GdkRectangle *stepper); GE_INTERNAL ClearlooksStepper clearlooks_scrollbar_visible_steppers (GtkWidget *widget); GE_INTERNAL ClearlooksJunction clearlooks_scrollbar_get_junction (GtkWidget *widget); GE_INTERNAL void clearlooks_set_toolbar_parameters (ToolbarParameters *toolbar, GtkWidget *widget, GdkWindow *window, gint x, gint y); GE_INTERNAL void clearlooks_get_notebook_tab_position (GtkWidget *widget, gboolean *start, gboolean *end); #endif /* SUPPORT_H */ gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_draw.c0000644000175000017500000023730111446654310020637 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2006 Richard Stellingwerff * Copyright (C) 2006 Daniel Borgman * Copyright (C) 2007 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "clearlooks_draw.h" #include "clearlooks_style.h" #include "clearlooks_types.h" #include "support.h" #include #include #include /* Normal shadings */ #define SHADE_TOP 1.055 #define SHADE_CENTER_TOP 1.01 #define SHADE_CENTER_BOTTOM 0.98 #define SHADE_BOTTOM 0.90 typedef void (*menubar_draw_proto) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const MenuBarParameters *menubar, int x, int y, int width, int height); static void clearlooks_draw_inset (cairo_t *cr, const CairoColor *bg_color, double x, double y, double width, double height, double radius, uint8 corners) { CairoColor shadow; CairoColor highlight; double line_width; double min = MIN (width, height); line_width = cairo_get_line_width (cr); /* not really sure of shading ratios... we will think */ ge_shade_color (bg_color, 0.94, &shadow); ge_shade_color (bg_color, 1.06, &highlight); /* highlight */ cairo_save (cr); cairo_move_to (cr, x, y + height); cairo_line_to (cr, x + min / 2.0, y + height - min / 2.0); cairo_line_to (cr, x + width - min / 2.0, y + min / 2.0); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x, y); cairo_close_path (cr); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, x + line_width / 2.0, y + line_width / 2.0, width - line_width, height - line_width, radius, corners); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); cairo_restore (cr); /* shadow */ cairo_save (cr); cairo_move_to (cr, x, y + height); cairo_line_to (cr, x + min / 2.0, y + height - min / 2.0); cairo_line_to (cr, x + width - min / 2.0, y + min / 2.0); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x + width, y + height); cairo_close_path (cr); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, x + line_width / 2.0, y + line_width / 2.0, width - line_width, height - line_width, radius, corners); ge_cairo_set_color (cr, &highlight); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_draw_shadow (cairo_t *cr, const ClearlooksColors *colors, gfloat radius, int width, int height) { CairoColor shadow; cairo_save (cr); ge_shade_color (&colors->shade[6], 0.92, &shadow); cairo_set_line_width (cr, 1.0); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, 0.1); cairo_move_to (cr, width - 0.5, radius); ge_cairo_rounded_corner (cr, width - 0.5, height - 0.5, radius, CR_CORNER_BOTTOMRIGHT); cairo_line_to (cr, radius, height - 0.5); cairo_stroke (cr); cairo_restore (cr); } /* This is copied at least in clearlooks_draw_gummy.c. * KEEP IN SYNC IF POSSIBLE! */ static void clearlooks_draw_top_left_highlight (cairo_t *cr, const CairoColor *color, const WidgetParameters *params, int x, int y, int width, int height, gdouble radius, CairoCorners corners) { CairoColor hilight; double line_width = cairo_get_line_width (cr); double offset = line_width / 2.0; double light_top, light_bottom, light_left, light_right; cairo_save (cr); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); light_top = y + offset; light_bottom = y + height; light_left = x + offset; light_right = x + width; if (corners & CR_CORNER_BOTTOMLEFT) light_bottom -= radius; if (corners & CR_CORNER_TOPRIGHT) light_right -= radius; ge_shade_color (color, params->style_constants->topleft_highlight_shade, &hilight); cairo_move_to (cr, light_left, light_bottom); ge_cairo_rounded_corner (cr, light_left, light_top, radius, corners & CR_CORNER_TOPLEFT); cairo_line_to (cr, light_right, light_top); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, params->style_constants->topleft_highlight_alpha); cairo_stroke (cr); cairo_restore (cr); } #ifdef DEVELOPMENT #warning seems to be very slow in scrollbar_stepper #endif static void clearlooks_draw_highlight_and_shade (cairo_t *cr, const ClearlooksColors *colors, const ShadowParameters *params, int width, int height, gdouble radius) { CairoColor hilight; CairoColor shadow; uint8 corners = params->corners; double x = 1.0; double y = 1.0; ge_shade_color (&colors->bg[0], 1.06, &hilight); ge_shade_color (&colors->bg[0], 0.94, &shadow); width -= 2; height -= 2; cairo_save (cr); /* Top/Left highlight */ if (corners & CR_CORNER_BOTTOMLEFT) cairo_move_to (cr, x + 0.5, y+height-radius); else cairo_move_to (cr, x + 0.5, y+height); ge_cairo_rounded_corner (cr, x + 0.5, y + 0.5, radius, corners & CR_CORNER_TOPLEFT); if (corners & CR_CORNER_TOPRIGHT) cairo_line_to (cr, x+width-radius, y + 0.5); else cairo_line_to (cr, x+width, y + 0.5); if (params->shadow & CL_SHADOW_OUT) ge_cairo_set_color (cr, &hilight); else ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); /* Bottom/Right highlight -- this includes the corners */ cairo_arc (cr, x + width - 0.5 - radius, y + radius, radius, G_PI * (3/2.0+1/4.0), G_PI * 2); ge_cairo_rounded_corner (cr, x+width - 0.5, y+height - 0.5, radius, corners & CR_CORNER_BOTTOMRIGHT); cairo_arc (cr, x + radius, y + height - 0.5 - radius, radius, G_PI * 1/2, G_PI * 3/4); if (params->shadow & CL_SHADOW_OUT) ge_cairo_set_color (cr, &shadow); else ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_set_border_gradient (cairo_t *cr, const CairoColor *color, double hilight, int width, int height) { cairo_pattern_t *pattern; CairoColor bottom_shade; ge_shade_color (color, hilight, &bottom_shade); pattern = cairo_pattern_create_linear (0, 0, width, height); cairo_pattern_add_color_stop_rgb (pattern, 0, color->r, color->g, color->b); cairo_pattern_add_color_stop_rgb (pattern, 1, bottom_shade.r, bottom_shade.g, bottom_shade.b); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); } static void clearlooks_draw_gripdots (cairo_t *cr, const ClearlooksColors *colors, int x, int y, int width, int height, int xr, int yr, float contrast) { const CairoColor *dark = &colors->shade[4]; CairoColor hilight; int i, j; int xoff, yoff; int x_start, y_start; ge_shade_color (dark, 1.5, &hilight); /* The "- 1" is because there is no space in front of the first dot. */ x_start = x + width / 2 - ((xr * 3 - 1) / 2); y_start = y + height / 2 - ((yr * 3 - 1) / 2); for ( i = 0; i < xr; i++ ) { for ( j = 0; j < yr; j++ ) { xoff = 3 * i; yoff = 3 * j; cairo_rectangle (cr, x_start + xoff, y_start + yoff, 2, 2); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.8+contrast); cairo_fill (cr); cairo_rectangle (cr, x_start + xoff, y_start + yoff, 1, 1); cairo_set_source_rgba (cr, dark->r, dark->g, dark->b, 0.8+contrast); cairo_fill (cr); } } } static void clearlooks_draw_button (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { double xoffset = 0, yoffset = 0; double radius = params->radius; const CairoColor *fill = &colors->bg[params->state_type]; CairoColor border_normal = colors->shade[6]; CairoColor border_disabled = colors->shade[4]; CairoColor shadow; ge_shade_color (&border_normal, 1.04, &border_normal); ge_shade_color (&border_normal, 0.94, &shadow); ge_shade_color (&border_disabled, 1.08, &border_disabled); cairo_save (cr); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); if (params->xthickness >= 3 && params->ythickness >= 3) { xoffset = 1; yoffset = 1; } radius = MIN (radius, MIN ((width - 2.0 - xoffset * 2.0) / 2.0, (height - 2.0 - yoffset * 2) / 2.0)); if (params->xthickness >= 3 && params->ythickness >= 3) { params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, width, height, radius+1, params->corners); } ge_cairo_rounded_rectangle (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, height-(yoffset*2)-2, radius, params->corners); if (!params->active) { cairo_pattern_t *pattern; CairoColor top_shade, topmiddle_shade, bottom_shade, middle_shade; ge_shade_color (fill, SHADE_TOP, &top_shade); ge_shade_color (fill, SHADE_CENTER_TOP, &topmiddle_shade); ge_shade_color (fill, SHADE_CENTER_BOTTOM, &middle_shade); ge_shade_color (fill, SHADE_BOTTOM, &bottom_shade); cairo_save (cr); cairo_clip_preserve (cr); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, top_shade.r, top_shade.g, top_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 0.3, topmiddle_shade.r, topmiddle_shade.g, topmiddle_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 0.7, middle_shade.r, middle_shade.g, middle_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, bottom_shade.r, bottom_shade.g, bottom_shade.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_move_to (cr, width-(xoffset*2)-0.5, 0); cairo_line_to (cr, width-(xoffset*2)-0.5, height); ge_cairo_set_color (cr, &bottom_shade); cairo_stroke (cr); /* Draw topleft shadow */ params->style_functions->draw_top_left_highlight (cr, fill, params, xoffset + 1, yoffset + 1, width - 2*(xoffset + 1), height - 2*(yoffset + 1), MAX(radius-1, 0), params->corners); cairo_restore (cr); } else { cairo_pattern_t *pattern; ge_cairo_set_color (cr, fill); cairo_fill_preserve (cr); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_pattern_add_color_stop_rgba (pattern, 0.4, shadow.r, shadow.g, shadow.b, 0.0); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.2); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); pattern = cairo_pattern_create_linear (0, yoffset+1, 0, 3+yoffset); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, params->disabled ? 0.125 : 0.32); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); pattern = cairo_pattern_create_linear (xoffset+1, 0, 3+xoffset, 0); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, params->disabled ? 0.125 : 0.32); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } /* Drawing the border */ if (!params->active && params->is_default) { ge_shade_color (&border_normal, 0.74, &border_normal); } ge_cairo_inner_rounded_rectangle (cr, xoffset, yoffset, width-(xoffset*2), height-(yoffset*2), radius, params->corners); if (params->disabled) { ge_cairo_set_color (cr, &border_disabled); } else { if (!params->active) clearlooks_set_border_gradient (cr, &border_normal, params->is_default ? 1.1 : 1.3, 0, height); else { ge_shade_color (&border_normal, 1.08, &border_normal); ge_cairo_set_color (cr, &border_normal); } } cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_draw_entry (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const FocusParameters *focus, int x, int y, int width, int height) { const CairoColor *base = &colors->base[params->state_type]; CairoColor border = colors->shade[params->disabled ? 3 : 6]; double radius = MIN (params->radius, MIN ((width - 4.0) / 2.0, (height - 4.0) / 2.0)); int xoffset, yoffset; if (params->focus) border = focus->color; cairo_save (cr); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); if (params->xthickness >= 3 && params->ythickness >= 3) { params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, width, height, radius+1, params->corners); xoffset = 1; yoffset = 1; } else { xoffset = 0; yoffset = 0; } /* Now fill the area we want to be base[NORMAL]. */ ge_cairo_rounded_rectangle (cr, xoffset + 1, yoffset + 1, width - (xoffset + 1)*2, height - (yoffset + 1) * 2, MAX(0, radius-1), params->corners); ge_cairo_set_color (cr, base); cairo_fill (cr); /* Draw the inner shadow */ if (params->focus) { CairoColor focus_shadow; ge_shade_color (&border, 1.61, &focus_shadow); clearlooks_set_mixed_color (cr, base, &focus_shadow, 0.5); ge_cairo_inner_rounded_rectangle (cr, xoffset + 1, yoffset + 1, width - (xoffset + 1)*2, height - (yoffset + 1)*2, MAX(0, radius-1), params->corners); cairo_stroke (cr); } else { CairoColor shadow; ge_shade_color (&border, 0.925, &shadow); cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, params->disabled ? 0.05 : 0.1); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); cairo_move_to (cr, 2.5, height-radius); cairo_arc (cr, xoffset + 1.5 + MAX(0, radius-1), yoffset + 1.5 + MAX(0, radius-1), MAX(0, radius-1), G_PI, 270*(G_PI/180)); cairo_line_to (cr, width-radius, 2.5); cairo_stroke (cr); } ge_cairo_inner_rounded_rectangle (cr, xoffset, yoffset, width-2*xoffset, height-2*yoffset, radius, params->corners); if (params->focus || params->disabled) ge_cairo_set_color (cr, &border); else clearlooks_set_border_gradient (cr, &border, 1.32, 0, height); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_draw_entry_progress (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const EntryProgressParameters *progress, int x, int y, int width, int height) { CairoColor border; CairoColor fill; gint entry_width, entry_height; double entry_radius; double radius; cairo_save (cr); fill = colors->bg[params->state_type]; ge_shade_color (&fill, 0.9, &border); if (progress->max_size_known) { entry_width = progress->max_size.width + progress->border.left + progress->border.right; entry_height = progress->max_size.height + progress->border.top + progress->border.bottom; entry_radius = MIN (params->radius, MIN ((entry_width - 4.0) / 2.0, (entry_height - 4.0) / 2.0)); } else { entry_radius = params->radius; } radius = MAX (0, entry_radius + 1.0 - MAX (MAX (progress->border.left, progress->border.right), MAX (progress->border.top, progress->border.bottom))); if (progress->max_size_known) { /* Clip to the max size, and then draw a (larger) rectangle ... */ ge_cairo_rounded_rectangle (cr, progress->max_size.x, progress->max_size.y, progress->max_size.width, progress->max_size.height, radius, CR_CORNER_ALL); cairo_clip (cr); /* We just draw wider by one pixel ... */ ge_cairo_set_color (cr, &fill); cairo_rectangle (cr, x, y + 1, width, height - 2); cairo_fill (cr); cairo_set_line_width (cr, 1.0); ge_cairo_set_color (cr, &border); ge_cairo_inner_rectangle (cr, x - 1, y, width + 2, height); cairo_stroke (cr); } else { ge_cairo_rounded_rectangle (cr, x, y, width + 10, height + 10, radius, CR_CORNER_ALL); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, x - 10, y - 10, width + 10, height + 10, radius, CR_CORNER_ALL); cairo_clip (cr); ge_cairo_set_color (cr, &fill); ge_cairo_rounded_rectangle (cr, x + 1, y + 1, width - 2, height - 2, radius, CR_CORNER_ALL); cairo_fill (cr); cairo_set_line_width (cr, 1.0); ge_cairo_set_color (cr, &border); ge_cairo_rounded_rectangle (cr, x + 0.5, y + 0.5, width - 1.0, height - 1.0, radius, CR_CORNER_ALL); cairo_stroke (cr); } cairo_restore (cr); } static void clearlooks_draw_spinbutton (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[!params->disabled ? 5 : 3]; CairoColor hilight; params->style_functions->draw_button (cr, colors, params, x, y, width, height); ge_shade_color (&colors->bg[0], params->style_constants->topleft_highlight_shade, &hilight); hilight.a = params->style_constants->topleft_highlight_alpha; cairo_translate (cr, x, y); cairo_move_to (cr, params->xthickness + 0.5, (height/2) + 0.5); cairo_line_to (cr, width-params->xthickness - 0.5, (height/2) + 0.5); ge_cairo_set_color (cr, border); cairo_stroke (cr); cairo_move_to (cr, params->xthickness + 0.5, (height/2)+1.5); cairo_line_to (cr, width-params->xthickness - 0.5, (height/2)+1.5); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); } static void clearlooks_draw_spinbutton_down (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { cairo_pattern_t *pattern; double radius = MIN (params->radius, MIN ((width - 4.0) / 2.0, (height - 4.0) / 2.0)); CairoColor shadow; ge_shade_color (&colors->bg[0], 0.8, &shadow); cairo_translate (cr, x+1, y+1); ge_cairo_rounded_rectangle (cr, 1, 1, width-4, height-4, radius, params->corners); ge_cairo_set_color (cr, &colors->bg[params->state_type]); cairo_fill_preserve (cr); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, shadow.r, shadow.g, shadow.b); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } static void clearlooks_scale_draw_gradient (cairo_t *cr, const CairoColor *c1, const CairoColor *c2, const CairoColor *c3, int x, int y, int width, int height, boolean horizontal) { cairo_pattern_t *pattern; pattern = cairo_pattern_create_linear (0.5, 0.5, horizontal ? 0.5 : width + 1, horizontal ? height + 1: 0.5); cairo_pattern_add_color_stop_rgb (pattern, 0.0, c1->r, c1->g, c1->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, c2->r, c2->g, c2->b); cairo_rectangle (cr, x, y, width, height); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, c3); ge_cairo_inner_rectangle (cr, x, y, width, height); cairo_stroke (cr); } #define TROUGH_SIZE 7 static void clearlooks_draw_scale_trough (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const SliderParameters *slider, int x, int y, int width, int height) { int trough_width, trough_height; double translate_x, translate_y; cairo_save (cr); if (slider->horizontal) { trough_width = width; trough_height = TROUGH_SIZE; translate_x = x; translate_y = y + (height/2) - (TROUGH_SIZE/2); } else { trough_width = TROUGH_SIZE; trough_height = height; translate_x = x + (width/2) - (TROUGH_SIZE/2); translate_y = y; } cairo_set_line_width (cr, 1.0); cairo_translate (cr, translate_x, translate_y); if (!slider->fill_level) params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, trough_width, trough_height, 0, 0); if (!slider->lower && !slider->fill_level) { CairoColor shadow; ge_shade_color (&colors->shade[2], 0.96, &shadow); clearlooks_scale_draw_gradient (cr, &shadow, /* top */ &colors->shade[2], /* bottom */ &colors->shade[4], /* border */ 1.0, 1.0, trough_width - 2, trough_height - 2, slider->horizontal); } else { CairoColor border = colors->spot[2]; border.a = 0.64; clearlooks_scale_draw_gradient (cr, &colors->spot[1], /* top */ &colors->spot[0], /* bottom */ &border, /* border */ 1.0, 1.0, trough_width - 2, trough_height - 2, slider->horizontal); } cairo_restore (cr); } static void clearlooks_draw_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *spot = &colors->spot[1]; const CairoColor *fill = &colors->shade[2]; CairoColor border = colors->shade[params->disabled ? 4 : 6]; double radius = MIN (params->radius, MIN ((width - 1.0) / 2.0, (height - 1.0) / 2.0)); cairo_pattern_t *pattern; cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); if (params->prelight) border = colors->spot[2]; /* fill the widget */ ge_cairo_rounded_rectangle (cr, 1.0, 1.0, width-2, height-2, radius, params->corners); /* Fake light */ if (!params->disabled) { const CairoColor *top = &colors->shade[0]; const CairoColor *bot = &colors->shade[2]; pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, top->r, top->g, top->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, bot->r, bot->g, bot->b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } else { ge_cairo_set_color (cr, fill); cairo_fill (cr); } /* Set the clip */ cairo_save (cr); cairo_rectangle (cr, 1.0, 1.0, 6, height-2); cairo_rectangle (cr, width-7.0, 1.0, 6, height-2); cairo_clip_preserve (cr); cairo_new_path (cr); /* Draw the handles */ ge_cairo_rounded_rectangle (cr, 1.0, 1.0, width-1, height-1, radius, params->corners); pattern = cairo_pattern_create_linear (1.0, 1.0, 1.0, 1.0+height); if (params->prelight) { CairoColor highlight; ge_shade_color (spot, 1.3, &highlight); cairo_pattern_add_color_stop_rgb (pattern, 0.0, highlight.r, highlight.g, highlight.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, spot->r, spot->g, spot->b); cairo_set_source (cr, pattern); } else { CairoColor hilight; ge_shade_color (fill, 1.3, &hilight); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.5); } cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); /* Draw the border */ ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius, params->corners); if (params->prelight || params->disabled) ge_cairo_set_color (cr, &border); else clearlooks_set_border_gradient (cr, &border, 1.2, 0, height); cairo_stroke (cr); /* Draw handle lines */ if (width > 14) { cairo_move_to (cr, 6.5, 1.0); cairo_line_to (cr, 6.5, height-1); cairo_move_to (cr, width-6.5, 1.0); cairo_line_to (cr, width-6.5, height-1); cairo_set_line_width (cr, 1.0); border.a = params->disabled ? 0.6 : 0.3; ge_cairo_set_color (cr, &border); cairo_stroke (cr); } } static void clearlooks_draw_slider_button (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const SliderParameters *slider, int x, int y, int width, int height) { double radius = MIN (params->radius, MIN ((width - 1.0) / 2.0, (height - 1.0) / 2.0)); cairo_save (cr); cairo_set_line_width (cr, 1.0); if (!slider->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); params->style_functions->draw_shadow (cr, colors, radius, width, height); params->style_functions->draw_slider (cr, colors, params, 1, 1, width-2, height-2); if (width > 24) params->style_functions->draw_gripdots (cr, colors, 1, 1, width-2, height-2, 3, 3, 0); cairo_restore (cr); } static void clearlooks_draw_progressbar_trough (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[4]; CairoColor shadow; cairo_pattern_t *pattern; double radius = MIN (params->radius, MIN ((height-2.0) / 2.0, (width-2.0) / 2.0)); cairo_save (cr); cairo_set_line_width (cr, 1.0); /* Create trough box */ ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners); ge_cairo_set_color (cr, &colors->shade[2]); cairo_fill (cr); /* Draw border */ ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width-1, height-1, radius, params->corners); ge_cairo_set_color (cr, border); cairo_stroke (cr); /* clip the corners of the shadows */ ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners); cairo_clip (cr); ge_shade_color (border, 0.925, &shadow); /* Top shadow */ cairo_rectangle (cr, x+1, y+1, width-2, 4); pattern = cairo_pattern_create_linear (x, y, x, y+4); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.2); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Left shadow */ cairo_rectangle (cr, x+1, y+1, 4, height-2); pattern = cairo_pattern_create_linear (x, y, x+4, y); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.2); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); } static void clearlooks_draw_progressbar_fill (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ProgressBarParameters *progressbar, int x, int y, int width, int height, gint offset) { boolean is_horizontal = progressbar->orientation < 2; double tile_pos = 0; double stroke_width; double radius; int x_step; cairo_pattern_t *pattern; CairoColor bg_shade; CairoColor border; CairoColor shadow; radius = MAX (0, params->radius - params->xthickness); cairo_save (cr); if (!is_horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); if ((progressbar->orientation == CL_ORIENTATION_RIGHT_TO_LEFT) || (progressbar->orientation == CL_ORIENTATION_BOTTOM_TO_TOP)) ge_cairo_mirror (cr, CR_MIRROR_HORIZONTAL, &x, &y, &width, &height); /* Clamp the radius so that the _height_ fits ... */ radius = MIN (radius, height / 2.0); stroke_width = height; x_step = (((float)stroke_width/10)*offset); /* This looks weird ... */ cairo_translate (cr, x, y); cairo_save (cr); /* This is kind of nasty ... Clip twice from each side in case the length * of the fill is smaller than twice the radius. */ ge_cairo_rounded_rectangle (cr, 0, 0, width + radius, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius, 0, width + radius, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); /* Draw the background gradient */ ge_shade_color (&colors->spot[1], 1.1, &bg_shade); /* Just leave this disabled, maybe we could use the same gradient * as the buttons in the future, not flat fill */ /* pattern = cairo_pattern_create_linear (0, 0, 0, height);*/ /* cairo_pattern_add_color_stop_rgb (pattern, 0.0, bg_shade.r, bg_shade.g, bg_shade.b);*/ /* cairo_pattern_add_color_stop_rgb (pattern, 0.6, colors->spot[1].r, colors->spot[1].g, colors->spot[1].b);*/ /* cairo_pattern_add_color_stop_rgb (pattern, 1.0, bg_shade.r, bg_shade.g, bg_shade.b);*/ /* cairo_set_source (cr, pattern);*/ /* cairo_paint (cr);*/ /* cairo_pattern_destroy (pattern);*/ ge_cairo_set_color (cr, &bg_shade); cairo_paint (cr); /* Draw the Strokes */ while (stroke_width > 0 && tile_pos <= width+x_step) { cairo_move_to (cr, stroke_width/2-x_step, 0); cairo_line_to (cr, stroke_width-x_step, 0); cairo_line_to (cr, stroke_width/2-x_step, height); cairo_line_to (cr, -x_step, height); cairo_translate (cr, stroke_width, 0); tile_pos += stroke_width; } pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgba (pattern, 0.0, colors->spot[2].r, colors->spot[2].g, colors->spot[2].b, 0); cairo_pattern_add_color_stop_rgba (pattern, 1.0, colors->spot[2].r, colors->spot[2].g, colors->spot[2].b, 0.24); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); /* rounded clip region */ /* Draw the dark lines and the shadow */ cairo_save (cr); /* Again, this weird clip area. */ ge_cairo_rounded_rectangle (cr, -1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius - 1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); shadow.r = 0.0; shadow.g = 0.0; shadow.b = 0.0; shadow.a = 0.1; if (progressbar->pulsing) { /* At the beginning of the bar. */ cairo_move_to (cr, -0.5 + radius, height + 0.5); ge_cairo_rounded_corner (cr, -0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMLEFT); ge_cairo_rounded_corner (cr, -0.5, -0.5, radius + 1, CR_CORNER_TOPLEFT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } if (progressbar->value < 1.0 || progressbar->pulsing) { /* At the end of the bar. */ cairo_move_to (cr, width + 0.5 - radius, -0.5); ge_cairo_rounded_corner (cr, width + 0.5, -0.5, radius + 1, CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, width + 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMRIGHT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } /* ge_cairo_rounded_rectangle (cr, 1.5,1.5, width-2, height-2, radius, CR_CORNER_ALL);*/ /* cairo_set_source_rgba (cr, colors->spot[0].r, colors->spot[0].g, colors->spot[0].b, 1);*/ /* cairo_stroke (cr);*/ params->style_functions->draw_top_left_highlight (cr, &colors->spot[1], params, 1.5, 1.5, width - 1, height - 1, radius, params->corners); border = colors->spot[2]; border.a = 0.6; ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius, CR_CORNER_ALL); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_restore (cr); cairo_restore (cr); /* rotation, mirroring */ } static void clearlooks_draw_optionmenu (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const OptionMenuParameters *optionmenu, int x, int y, int width, int height) { SeparatorParameters separator; int offset = params->ythickness + 2; params->style_functions->draw_button (cr, colors, params, x, y, width, height); separator.horizontal = FALSE; params->style_functions->draw_separator (cr, colors, params, &separator, x+optionmenu->linepos, y + offset, 2, height - offset*2); } static void clearlooks_draw_menu_item_separator (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const SeparatorParameters *separator, int x, int y, int width, int height) { cairo_save (cr); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); ge_cairo_set_color (cr, &colors->shade[5]); if (separator->horizontal) cairo_rectangle (cr, x, y, width, 1); else cairo_rectangle (cr, x, y, 1, height); cairo_fill (cr); cairo_restore (cr); } static void clearlooks_draw_menubar0 (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const MenuBarParameters *menubar, int x, int y, int width, int height) { const CairoColor *dark = &colors->shade[3]; cairo_save (cr); cairo_set_line_width (cr, 1); cairo_translate (cr, x, y); cairo_move_to (cr, 0, height-0.5); cairo_line_to (cr, width, height-0.5); ge_cairo_set_color (cr, dark); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_draw_menubar2 (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const MenuBarParameters *menubar, int x, int y, int width, int height) { CairoColor lower; cairo_pattern_t *pattern; cairo_save (cr); ge_shade_color (&colors->bg[0], 0.96, &lower); cairo_translate (cr, x, y); cairo_rectangle (cr, 0, 0, width, height); /* Draw the gradient */ pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, colors->bg[0].r, colors->bg[0].g, colors->bg[0].b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, lower.r, lower.g, lower.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Draw bottom line */ cairo_set_line_width (cr, 1.0); cairo_move_to (cr, 0, height-0.5); cairo_line_to (cr, width, height-0.5); ge_cairo_set_color (cr, &colors->shade[3]); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_draw_menubar1 (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const MenuBarParameters *menubar, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[3]; clearlooks_draw_menubar2 (cr, colors, params, menubar, x, y, width, height); ge_cairo_set_color (cr, border); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); } static menubar_draw_proto clearlooks_menubar_draw[3] = { clearlooks_draw_menubar0, clearlooks_draw_menubar1, clearlooks_draw_menubar2 }; static void clearlooks_draw_menubar (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const MenuBarParameters *menubar, int x, int y, int width, int height) { if (menubar->style < 0 || menubar->style >= G_N_ELEMENTS (clearlooks_menubar_draw)) return; clearlooks_menubar_draw[menubar->style](cr, colors, params, menubar, x, y, width, height); } static void clearlooks_get_frame_gap_clip (int x, int y, int width, int height, const FrameParameters *frame, ClearlooksRectangle *bevel, ClearlooksRectangle *border) { if (frame->gap_side == CL_GAP_TOP) { CLEARLOOKS_RECTANGLE_SET (*bevel, 2.0 + frame->gap_x, 0.0, frame->gap_width - 3, 2.0); CLEARLOOKS_RECTANGLE_SET (*border, 1.0 + frame->gap_x, 0.0, frame->gap_width - 2, 2.0); } else if (frame->gap_side == CL_GAP_BOTTOM) { CLEARLOOKS_RECTANGLE_SET (*bevel, 2.0 + frame->gap_x, height - 2.0, frame->gap_width - 3, 2.0); CLEARLOOKS_RECTANGLE_SET (*border, 1.0 + frame->gap_x, height - 1.0, frame->gap_width - 2, 2.0); } else if (frame->gap_side == CL_GAP_LEFT) { CLEARLOOKS_RECTANGLE_SET (*bevel, 0.0, 2.0 + frame->gap_x, 2.0, frame->gap_width - 3); CLEARLOOKS_RECTANGLE_SET (*border, 0.0, 1.0 + frame->gap_x, 1.0, frame->gap_width - 2); } else if (frame->gap_side == CL_GAP_RIGHT) { CLEARLOOKS_RECTANGLE_SET (*bevel, width - 2.0, 2.0 + frame->gap_x, 2.0, frame->gap_width - 3); CLEARLOOKS_RECTANGLE_SET (*border, width - 1.0, 1.0 + frame->gap_x, 1.0, frame->gap_width - 2); } } static void clearlooks_draw_frame (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const FrameParameters *frame, int x, int y, int width, int height) { const CairoColor *border = frame->border; const CairoColor *dark = (CairoColor*)&colors->shade[4]; ClearlooksRectangle bevel_clip = {0, 0, 0, 0}; ClearlooksRectangle frame_clip = {0, 0, 0, 0}; double radius = MIN (params->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); CairoColor hilight; ge_shade_color (&colors->bg[0], 1.05, &hilight); if (frame->shadow == CL_SHADOW_NONE) return; if (frame->gap_x != -1) clearlooks_get_frame_gap_clip (x, y, width, height, frame, &bevel_clip, &frame_clip); cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); /* save everything */ cairo_save (cr); /* Set clip for the bevel */ if (frame->gap_x != -1) { /* Set clip for gap */ cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); cairo_rectangle (cr, 0, 0, width, height); cairo_rectangle (cr, bevel_clip.x, bevel_clip.y, bevel_clip.width, bevel_clip.height); cairo_clip (cr); } /* Draw the bevel */ if (frame->shadow == CL_SHADOW_ETCHED_IN || frame->shadow == CL_SHADOW_ETCHED_OUT) { ge_cairo_set_color (cr, &hilight); if (frame->shadow == CL_SHADOW_ETCHED_IN) ge_cairo_inner_rounded_rectangle (cr, 1, 1, width-1, height-1, radius, params->corners); else ge_cairo_inner_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); cairo_stroke (cr); } else if (frame->shadow != CL_SHADOW_NONE) { ShadowParameters shadow; shadow.corners = params->corners; shadow.shadow = frame->shadow; clearlooks_draw_highlight_and_shade (cr, colors, &shadow, width, height, radius); } /* restore the previous clip region */ cairo_restore (cr); cairo_save (cr); if (frame->gap_x != -1) { /* Set clip for gap */ cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); cairo_rectangle (cr, 0, 0, width, height); cairo_rectangle (cr, frame_clip.x, frame_clip.y, frame_clip.width, frame_clip.height); cairo_clip (cr); } /* Draw frame */ if (frame->shadow == CL_SHADOW_ETCHED_IN || frame->shadow == CL_SHADOW_ETCHED_OUT) { ge_cairo_set_color (cr, dark); if (frame->shadow == CL_SHADOW_ETCHED_IN) ge_cairo_inner_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); else ge_cairo_inner_rounded_rectangle (cr, 1, 1, width-1, height-1, radius, params->corners); } else { ge_cairo_set_color (cr, border); ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius, params->corners); } cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_draw_tab (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const TabParameters *tab, int x, int y, int width, int height) { const CairoColor *border1 = &colors->shade[6]; const CairoColor *border2 = &colors->shade[5]; const CairoColor *stripe_fill = &colors->spot[1]; const CairoColor *stripe_border = &colors->spot[2]; const CairoColor *fill; CairoColor hilight; cairo_pattern_t *pattern; double radius; double stripe_size = 2.0; double stripe_fill_size; double length; radius = MIN (params->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); cairo_save (cr); /* Set clip */ cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); cairo_new_path (cr); /* Translate and set line width */ cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); /* Make the tabs slightly bigger than they should be, to create a gap */ /* And calculate the strip size too, while you're at it */ if (tab->gap_side == CL_GAP_TOP || tab->gap_side == CL_GAP_BOTTOM) { height += 3.0; length = height; stripe_fill_size = (tab->gap_side == CL_GAP_TOP ? stripe_size/height : stripe_size/(height-2)); if (tab->gap_side == CL_GAP_TOP) cairo_translate (cr, 0.0, -3.0); /* gap at the other side */ } else { width += 3.0; length = width; stripe_fill_size = (tab->gap_side == CL_GAP_LEFT ? stripe_size/width : stripe_size/(width-2)); if (tab->gap_side == CL_GAP_LEFT) cairo_translate (cr, -3.0, 0.0); /* gap at the other side */ } /* Set the fill color */ fill = &colors->bg[params->state_type]; /* Set tab shape */ ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius, params->corners); /* Draw fill */ ge_cairo_set_color (cr, fill); cairo_fill (cr); ge_shade_color (fill, 1.3, &hilight); /* Draw highlight */ if (!params->active) { ShadowParameters shadow; shadow.shadow = CL_SHADOW_OUT; shadow.corners = params->corners; clearlooks_draw_highlight_and_shade (cr, colors, &shadow, width, height, radius); } if (params->active) { CairoColor shadow; switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0.5, height-1.5, 0.5, 0.5); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0.5, 1.5, 0.5, height+0.5); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-1.5, 0.5, 1.5, 0.5); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (1.5, 0.5, width-1.5, 0.5); break; default: pattern = NULL; } ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius, params->corners); ge_shade_color (fill, 0.92, &shadow); cairo_pattern_add_color_stop_rgba (pattern, 0.0, hilight.r, hilight.g, hilight.b, 0.4); cairo_pattern_add_color_stop_rgba (pattern, 1.0/length, hilight.r, hilight.g, hilight.b, 0.4); cairo_pattern_add_color_stop_rgb (pattern, 1.0/length, fill->r,fill->g,fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shadow.r,shadow.g,shadow.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } else { /* Draw shade */ switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0.5, height-1.5, 0.5, 0.5); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0.5, 0.5, 0.5, height+0.5); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-1.5, 0.5, 0.5, 0.5); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (0.5, 0.5, width+0.5, 0.5); break; default: pattern = NULL; } ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius, params->corners); cairo_pattern_add_color_stop_rgb (pattern, 0.0, stripe_fill->r, stripe_fill->g, stripe_fill->b); cairo_pattern_add_color_stop_rgb (pattern, stripe_fill_size, stripe_fill->r, stripe_fill->g, stripe_fill->b); cairo_pattern_add_color_stop_rgba (pattern, stripe_fill_size, hilight.r, hilight.g, hilight.b, 0.5); cairo_pattern_add_color_stop_rgba (pattern, 0.8, hilight.r, hilight.g, hilight.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius, params->corners); if (params->active) { ge_cairo_set_color (cr, border2); cairo_stroke (cr); } else { switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (2.5, height-1.5, 2.5, 2.5); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (2.5, 2.5, 2.5, height+0.5); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-1.5, 2.5, 2.5, 2.5); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (2.5, 2.5, width+0.5, 2.5); break; default: pattern = NULL; } cairo_pattern_add_color_stop_rgb (pattern, 0.0, stripe_border->r, stripe_border->g, stripe_border->b); cairo_pattern_add_color_stop_rgb (pattern, stripe_fill_size, stripe_border->r, stripe_border->g, stripe_border->b); cairo_pattern_add_color_stop_rgb (pattern, stripe_fill_size, border1->r, border1->g, border1->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, border2->r, border2->g, border2->b); cairo_set_source (cr, pattern); cairo_stroke (cr); cairo_pattern_destroy (pattern); } cairo_restore (cr); } static void clearlooks_draw_separator (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const SeparatorParameters *separator, int x, int y, int width, int height) { CairoColor color = colors->shade[2]; CairoColor hilight; ge_shade_color (&colors->bg[0], 1.065, &hilight); cairo_save (cr); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); if (separator->horizontal) { cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y+0.5); cairo_move_to (cr, 0.0, 0.0); cairo_line_to (cr, width, 0.0); ge_cairo_set_color (cr, &color); cairo_stroke (cr); cairo_move_to (cr, 0.0, 1.0); cairo_line_to (cr, width, 1.0); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); } else { cairo_set_line_width (cr, 1.0); cairo_translate (cr, x+0.5, y); cairo_move_to (cr, 0.0, 0.0); cairo_line_to (cr, 0.0, height); ge_cairo_set_color (cr, &color); cairo_stroke (cr); cairo_move_to (cr, 1.0, 0.0); cairo_line_to (cr, 1.0, height); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); } cairo_restore (cr); } static void clearlooks_draw_list_view_header (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ListViewHeaderParameters *header, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[4]; CairoColor hilight; ge_shade_color (&colors->bg[params->state_type], params->style_constants->topleft_highlight_shade, &hilight); hilight.a = params->style_constants->topleft_highlight_alpha; cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); /* Draw highlight */ if (header->order & CL_ORDER_FIRST) { cairo_move_to (cr, 0.5, height-1); cairo_line_to (cr, 0.5, 0.5); } else cairo_move_to (cr, 0.0, 0.5); cairo_line_to (cr, width, 0.5); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); /* Draw bottom border */ cairo_move_to (cr, 0.0, height-0.5); cairo_line_to (cr, width, height-0.5); ge_cairo_set_color (cr, border); cairo_stroke (cr); /* Draw resize grip */ if ((params->ltr && !(header->order & CL_ORDER_LAST)) || (!params->ltr && !(header->order & CL_ORDER_FIRST)) || header->resizable) { SeparatorParameters separator; separator.horizontal = FALSE; if (params->ltr) params->style_functions->draw_separator (cr, colors, params, &separator, width-1.5, 4.0, 2, height-8.0); else params->style_functions->draw_separator (cr, colors, params, &separator, 1.5, 4.0, 2, height-8.0); } } /* We can't draw transparent things here, since it will be called on the same * surface multiple times, when placed on a handlebox_bin or dockitem_bin */ static void clearlooks_draw_toolbar (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ToolbarParameters *toolbar, int x, int y, int width, int height) { const CairoColor *fill = &colors->bg[0]; const CairoColor *dark = &colors->shade[3]; CairoColor light; ge_shade_color (fill, 1.065, &light); cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); ge_cairo_set_color (cr, fill); cairo_paint (cr); if (!toolbar->topmost) { /* Draw highlight */ cairo_move_to (cr, 0, 0.5); cairo_line_to (cr, width-1, 0.5); ge_cairo_set_color (cr, &light); cairo_stroke (cr); } /* Draw shadow */ cairo_move_to (cr, 0, height-0.5); cairo_line_to (cr, width-1, height-0.5); ge_cairo_set_color (cr, dark); cairo_stroke (cr); } static void clearlooks_draw_menuitem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { const CairoColor *fill = &colors->spot[1]; CairoColor fill_shade; CairoColor border = colors->spot[2]; cairo_pattern_t *pattern; ge_shade_color (&border, 1.05, &border); ge_shade_color (fill, 0.85, &fill_shade); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width - 1, height - 1, widget->radius, widget->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, fill_shade.r, fill_shade.g, fill_shade.b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, &border); cairo_stroke (cr); } static void clearlooks_draw_menubaritem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { const CairoColor *fill = &colors->spot[1]; CairoColor fill_shade; CairoColor border = colors->spot[2]; cairo_pattern_t *pattern; ge_shade_color (&border, 1.05, &border); ge_shade_color (fill, 0.85, &fill_shade); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x + 0.5, y + 0.5, width - 1, height, widget->radius, widget->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, fill_shade.r, fill_shade.g, fill_shade.b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, &border); cairo_stroke_preserve (cr); } static void clearlooks_draw_selected_cell (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { CairoColor upper_color; CairoColor lower_color; cairo_pattern_t *pattern; cairo_save (cr); cairo_translate (cr, x, y); if (params->focus) upper_color = colors->base[params->state_type]; else upper_color = colors->base[GTK_STATE_ACTIVE]; ge_shade_color(&upper_color, 0.92, &lower_color); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, upper_color.r, upper_color.g, upper_color.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, lower_color.r, lower_color.g, lower_color.b); cairo_set_source (cr, pattern); cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); } static void clearlooks_draw_scrollbar_trough (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, int x, int y, int width, int height) { const CairoColor *bg = &colors->shade[2]; const CairoColor *border = &colors->shade[5]; CairoColor bg_shade; cairo_pattern_t *pattern; double radius = MIN (widget->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); ge_shade_color (bg, 0.95, &bg_shade); cairo_set_line_width (cr, 1); /* cairo_translate (cr, x, y); */ if (scrollbar->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); /* Draw fill */ if (radius > 3.0) ge_cairo_rounded_rectangle (cr, 1, 0, width-2, height, radius, widget->corners); else cairo_rectangle (cr, 1, 0, width-2, height); ge_cairo_set_color (cr, bg); cairo_fill (cr); /* Draw shadow */ pattern = cairo_pattern_create_linear (1, 0, 3, 0); cairo_pattern_add_color_stop_rgb (pattern, 0, bg_shade.r, bg_shade.g, bg_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, bg->r, bg->g, bg->b); cairo_rectangle (cr, 1, 0, 4, height); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Draw border */ if (radius > 3.0) ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius, widget->corners); else cairo_rectangle (cr, 0.5, 0.5, width-1, height-1); ge_cairo_set_color (cr, border); cairo_stroke (cr); } static void clearlooks_draw_scrollbar_stepper (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, const ScrollBarStepperParameters *stepper, int x, int y, int width, int height) { CairoCorners corners = CR_CORNER_NONE; CairoColor border; CairoColor s1, s2, s3, s4; cairo_pattern_t *pattern; double radius = MIN (widget->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); ge_shade_color(&colors->shade[6], 1.08, &border); if (scrollbar->horizontal) { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { x -= 1; width += 1; } else if (stepper->stepper == CL_STEPPER_C) { width += 1; } } else { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_BOTTOMLEFT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { y -= 1; height += 1; } else if (stepper->stepper == CL_STEPPER_C) { height += 1; } } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); ge_cairo_rounded_rectangle (cr, 1, 1, width-2, height-2, radius, corners); if (scrollbar->horizontal) pattern = cairo_pattern_create_linear (0, 0, 0, height); else pattern = cairo_pattern_create_linear (0, 0, width, 0); ge_shade_color (&colors->bg[widget->state_type], SHADE_TOP, &s1); ge_shade_color (&colors->bg[widget->state_type], SHADE_CENTER_TOP, &s2); ge_shade_color (&colors->bg[widget->state_type], SHADE_CENTER_BOTTOM, &s3); ge_shade_color (&colors->bg[widget->state_type], SHADE_BOTTOM, &s4); cairo_pattern_add_color_stop_rgb(pattern, 0, s1.r, s1.g, s1.b); cairo_pattern_add_color_stop_rgb(pattern, 0.3, s2.r, s2.g, s2.b); cairo_pattern_add_color_stop_rgb(pattern, 0.7, s3.r, s3.g, s3.b); cairo_pattern_add_color_stop_rgb(pattern, 1.0, s4.r, s4.g, s4.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); widget->style_functions->draw_top_left_highlight (cr, &s2, widget, 1, 1, width - 2, height - 2, MAX(radius - 1, 0), corners); ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius, corners); clearlooks_set_border_gradient (cr, &border, 1.1, (scrollbar->horizontal ? 0 : width), (scrollbar->horizontal ? height: 0)); cairo_stroke (cr); } static void clearlooks_draw_scrollbar_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, int x, int y, int width, int height) { cairo_save (cr); if (scrollbar->junction & CL_JUNCTION_BEGIN) { if (scrollbar->horizontal) { x -= 1; width += 1; } else { y -= 1; height += 1; } } if (scrollbar->junction & CL_JUNCTION_END) { if (scrollbar->horizontal) width += 1; else height += 1; } if (!scrollbar->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); if (scrollbar->has_color) { const CairoColor *border = &colors->shade[7]; CairoColor fill = scrollbar->color; CairoColor hilight; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; if (widget->prelight) ge_shade_color (&fill, 1.1, &fill); cairo_set_line_width (cr, 1); ge_shade_color (&fill, 1.3, &hilight); ge_shade_color (&fill, 1.1, &shade1); ge_shade_color (&fill, 1.05, &shade2); ge_shade_color (&fill, 0.98, &shade3); pattern = cairo_pattern_create_linear (1, 1, 1, height-2); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade3.r, shade3.g, shade3.b); cairo_pattern_add_color_stop_rgb (pattern, 1, fill.r, fill.g, fill.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.5); ge_cairo_stroke_rectangle (cr, 1.5, 1.5, width-3, height-3); ge_cairo_set_color (cr, border); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); } else { const CairoColor *dark = &colors->shade[4]; const CairoColor *light = &colors->shade[0]; CairoColor border; CairoColor s1, s2, s3, s4, s5; cairo_pattern_t *pattern; int bar_x, i; ge_shade_color (&colors->shade[6], 1.08, &border); ge_shade_color (&colors->bg[widget->state_type], SHADE_TOP, &s1); ge_shade_color (&colors->bg[widget->state_type], SHADE_CENTER_TOP, &s2); ge_shade_color (&colors->bg[widget->state_type], SHADE_CENTER_BOTTOM, &s3); ge_shade_color (&colors->bg[widget->state_type], SHADE_BOTTOM, &s4); pattern = cairo_pattern_create_linear(1, 1, 1, height-1); cairo_pattern_add_color_stop_rgb(pattern, 0, s1.r, s1.g, s1.b); cairo_pattern_add_color_stop_rgb(pattern, 0.3, s2.r, s2.g, s2.b); cairo_pattern_add_color_stop_rgb(pattern, 0.7, s3.r, s3.g, s3.b); cairo_pattern_add_color_stop_rgb(pattern, 1.0, s4.r, s4.g, s4.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source(cr, pattern); cairo_fill(cr); cairo_pattern_destroy(pattern); clearlooks_set_border_gradient (cr, &border, 1.1, 0, height); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); cairo_move_to (cr, 1.5, height-1.5); cairo_line_to (cr, 1.5, 1.5); cairo_line_to (cr, width-1.5, 1.5); ge_shade_color (&s2, widget->style_constants->topleft_highlight_shade, &s5); s5.a = widget->style_constants->topleft_highlight_alpha; ge_cairo_set_color (cr, &s5); cairo_stroke(cr); /* draw handles */ cairo_set_line_width (cr, 1); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); bar_x = width/2 - 4; for (i=0; i<3; i++) { cairo_move_to (cr, bar_x + 0.5, 4); cairo_line_to (cr, bar_x + 0.5, height-4); ge_cairo_set_color (cr, dark); cairo_stroke (cr); cairo_move_to (cr, bar_x+1.5, 4); cairo_line_to (cr, bar_x+1.5, height-4); ge_cairo_set_color (cr, light); cairo_stroke (cr); bar_x += 3; } } cairo_restore (cr); } static void clearlooks_draw_statusbar (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { const CairoColor *dark = &colors->shade[3]; CairoColor hilight; ge_shade_color (dark, 1.4, &hilight); cairo_set_line_width (cr, 1); cairo_translate (cr, x, y+0.5); cairo_move_to (cr, 0, 0); cairo_line_to (cr, width, 0); ge_cairo_set_color (cr, dark); cairo_stroke (cr); cairo_translate (cr, 0, 1); cairo_move_to (cr, 0, 0); cairo_line_to (cr, width, 0); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); } static void clearlooks_draw_menu_frame (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[5]; cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); ge_cairo_set_color (cr, border); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); } static void clearlooks_draw_tooltip (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { CairoColor border; ge_shade_color (&colors->bg[widget->state_type], 0.6, &border); cairo_save (cr); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); ge_cairo_set_color (cr, &colors->bg[widget->state_type]); cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); ge_cairo_set_color (cr, &border); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); cairo_restore (cr); } static void clearlooks_draw_icon_view_item (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { CairoColor upper_color; CairoColor lower_color; cairo_pattern_t *pattern; cairo_save (cr); cairo_translate (cr, x, y); if (params->focus) upper_color = colors->base[params->state_type]; else upper_color = colors->base[GTK_STATE_ACTIVE]; ge_shade_color(&upper_color, 0.92, &lower_color); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, upper_color.r, upper_color.g, upper_color.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, lower_color.r, lower_color.g, lower_color.b); cairo_set_source (cr, pattern); ge_cairo_rounded_rectangle (cr, 0, 0, width, height, params->radius, CR_CORNER_ALL); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); } static void clearlooks_draw_handle (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const HandleParameters *handle, int x, int y, int width, int height) { const CairoColor *fill = &colors->bg[params->state_type]; int num_bars = 6; /* shut up gcc warnings */ cairo_save (cr); switch (handle->type) { case CL_HANDLE_TOOLBAR: num_bars = 6; break; case CL_HANDLE_SPLITTER: num_bars = 16; break; } if (params->prelight) { cairo_rectangle (cr, x, y, width, height); ge_cairo_set_color (cr, fill); cairo_fill (cr); } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); if (handle->horizontal) { params->style_functions->draw_gripdots (cr, colors, 0, 0, width, height, num_bars, 2, 0.1); } else { params->style_functions->draw_gripdots (cr, colors, 0, 0, width, height, 2, num_bars, 0.1); } cairo_restore (cr); } static void clearlooks_draw_resize_grip (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ResizeGripParameters *grip, int x, int y, int width, int height) { const CairoColor *dark = &colors->shade[4]; CairoColor hilight; int lx, ly; int x_down; int y_down; int dots; ge_shade_color (dark, 1.5, &hilight); /* The number of dots fitting into the area. Just hardcoded to 4 right now. */ /* dots = MIN (width - 2, height - 2) / 3; */ dots = 4; cairo_save (cr); switch (grip->edge) { case CL_WINDOW_EDGE_NORTH_EAST: x_down = 0; y_down = 0; cairo_translate (cr, x + width - 3*dots + 2, y + 1); break; case CL_WINDOW_EDGE_SOUTH_EAST: x_down = 0; y_down = 1; cairo_translate (cr, x + width - 3*dots + 2, y + height - 3*dots + 2); break; case CL_WINDOW_EDGE_SOUTH_WEST: x_down = 1; y_down = 1; cairo_translate (cr, x + 1, y + height - 3*dots + 2); break; case CL_WINDOW_EDGE_NORTH_WEST: x_down = 1; y_down = 0; cairo_translate (cr, x + 1, y + 1); break; default: /* Not implemented. */ return; } for (lx = 0; lx < dots; lx++) /* horizontally */ { for (ly = 0; ly <= lx; ly++) /* vertically */ { int mx, my; mx = x_down * dots + (1 - x_down * 2) * lx - x_down; my = y_down * dots + (1 - y_down * 2) * ly - y_down; ge_cairo_set_color (cr, &hilight); cairo_rectangle (cr, mx*3-1, my*3-1, 2, 2); cairo_fill (cr); ge_cairo_set_color (cr, dark); cairo_rectangle (cr, mx*3-1, my*3-1, 1, 1); cairo_fill (cr); } } cairo_restore (cr); } static void clearlooks_draw_radiobutton (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height) { const CairoColor *border; const CairoColor *dot; CairoColor shadow; CairoColor highlight; cairo_pattern_t *pt; gboolean inconsistent; gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN); gdouble w, h, cx, cy, radius; w = (gdouble) width; h = (gdouble) height; cx = width / 2.0; cy = height / 2.0; radius = MIN (width, height) / 2.0; inconsistent = (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN); draw_bullet |= inconsistent; if (widget->disabled) { border = &colors->shade[5]; dot = &colors->shade[6]; } else { border = &colors->shade[6]; dot = &colors->text[0]; } ge_shade_color (&widget->parentbg, 0.9, &shadow); ge_shade_color (&widget->parentbg, 1.1, &highlight); pt = cairo_pattern_create_linear (0, 0, radius * 2.0, radius * 2.0); cairo_pattern_add_color_stop_rgb (pt, 0.0, shadow.r, shadow.b, shadow.g); cairo_pattern_add_color_stop_rgba (pt, 0.5, shadow.r, shadow.b, shadow.g, 0.5); cairo_pattern_add_color_stop_rgba (pt, 0.5, highlight.r, highlight.g, highlight.b, 0.5); cairo_pattern_add_color_stop_rgb (pt, 1.0, highlight.r, highlight.g, highlight.b); cairo_translate (cr, x, y); cairo_set_line_width (cr, MAX (1.0, floor (radius/3))); cairo_arc (cr, ceil (cx), ceil (cy), floor (radius - 0.1), 0, G_PI*2); cairo_set_source (cr, pt); cairo_stroke (cr); cairo_pattern_destroy (pt); cairo_set_line_width (cr, MAX (1.0, floor (radius/6))); cairo_arc (cr, ceil (cx), ceil (cy), MAX (1.0, ceil (radius) - 1.5), 0, G_PI*2); if (!widget->disabled) { ge_cairo_set_color (cr, &colors->base[0]); cairo_fill_preserve (cr); } ge_cairo_set_color (cr, border); cairo_stroke (cr); if (draw_bullet) { if (inconsistent) { gdouble line_width = floor (radius * 2 / 3); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_width (cr, line_width); cairo_move_to (cr, ceil (cx - radius/3.0 - line_width) + line_width, ceil (cy - line_width) + line_width); cairo_line_to (cr, floor (cx + radius/3.0 + line_width) - line_width, ceil (cy - line_width) + line_width); ge_cairo_set_color (cr, dot); cairo_stroke (cr); } else { cairo_arc (cr, ceil (cx), ceil (cy), floor (radius/2.0), 0, G_PI*2); ge_cairo_set_color (cr, dot); cairo_fill (cr); cairo_arc (cr, floor (cx - radius/10.0), floor (cy - radius/10.0), floor (radius/6.0), 0, G_PI*2); cairo_set_source_rgba (cr, highlight.r, highlight.g, highlight.b, 0.5); cairo_fill (cr); } } } static void clearlooks_draw_checkbox (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height) { const CairoColor *border; const CairoColor *dot; gboolean inconsistent = FALSE; gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN); inconsistent = (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN); draw_bullet |= inconsistent; if (widget->disabled) { border = &colors->shade[5]; dot = &colors->shade[6]; } else { border = &colors->shade[6]; dot = &colors->text[GTK_STATE_NORMAL]; } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); if (widget->xthickness >= 3 && widget->ythickness >= 3) { widget->style_functions->draw_inset (cr, &widget->parentbg, 0, 0, width, height, 1, CR_CORNER_ALL); /* Draw the rectangle for the checkbox itself */ ge_cairo_rounded_rectangle (cr, 1.5, 1.5, width-3, height-3, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); } else { /* Draw the rectangle for the checkbox itself */ ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); } if (!widget->disabled) { ge_cairo_set_color (cr, &colors->base[0]); cairo_fill_preserve (cr); } ge_cairo_set_color (cr, border); cairo_stroke (cr); if (draw_bullet) { if (inconsistent) /* Inconsistent */ { cairo_set_line_width (cr, 2.0); cairo_move_to (cr, 3, height*0.5); cairo_line_to (cr, width-3, height*0.5); } else { cairo_set_line_width (cr, 1.7); cairo_move_to (cr, 0.5 + (width*0.2), (height*0.5)); cairo_line_to (cr, 0.5 + (width*0.4), (height*0.7)); cairo_curve_to (cr, 0.5 + (width*0.4), (height*0.7), 0.5 + (width*0.5), (height*0.4), 0.5 + (width*0.70), (height*0.25)); } ge_cairo_set_color (cr, dot); cairo_stroke (cr); } } static void clearlooks_draw_normal_arrow (cairo_t *cr, const CairoColor *color, double x, double y, double width, double height) { double arrow_width; double arrow_height; double line_width_2; cairo_save (cr); arrow_width = MIN (height * 2.0 + MAX (1.0, ceil (height * 2.0 / 6.0 * 2.0) / 2.0) / 2.0, width); line_width_2 = MAX (1.0, ceil (arrow_width / 6.0 * 2.0) / 2.0) / 2.0; arrow_height = arrow_width / 2.0 + line_width_2; cairo_translate (cr, x, y - arrow_height / 2.0); cairo_move_to (cr, -arrow_width / 2.0, line_width_2); cairo_line_to (cr, -arrow_width / 2.0 + line_width_2, 0); /* cairo_line_to (cr, 0, arrow_height - line_width_2); */ cairo_arc_negative (cr, 0, arrow_height - 2*line_width_2 - 2*line_width_2 * sqrt(2), 2*line_width_2, G_PI_2 + G_PI_4, G_PI_4); cairo_line_to (cr, arrow_width / 2.0 - line_width_2, 0); cairo_line_to (cr, arrow_width / 2.0, line_width_2); cairo_line_to (cr, 0, arrow_height); cairo_close_path (cr); ge_cairo_set_color (cr, color); cairo_fill (cr); cairo_restore (cr); } static void clearlooks_draw_combo_arrow (cairo_t *cr, const CairoColor *color, double x, double y, double width, double height) { double arrow_width = MIN (height * 2 / 3.0, width); double arrow_height = arrow_width / 2.0; double gap_size = 1.0 * arrow_height; cairo_save (cr); cairo_translate (cr, x, y - (arrow_height + gap_size) / 2.0); cairo_rotate (cr, G_PI); clearlooks_draw_normal_arrow (cr, color, 0, 0, arrow_width, arrow_height); cairo_restore (cr); clearlooks_draw_normal_arrow (cr, color, x, y + (arrow_height + gap_size) / 2.0, arrow_width, arrow_height); } static void _clearlooks_draw_arrow (cairo_t *cr, const CairoColor *color, ClearlooksDirection dir, ClearlooksArrowType type, double x, double y, double width, double height) { double rotate; if (dir == CL_DIRECTION_LEFT) rotate = G_PI*1.5; else if (dir == CL_DIRECTION_RIGHT) rotate = G_PI*0.5; else if (dir == CL_DIRECTION_UP) rotate = G_PI; else if (dir == CL_DIRECTION_DOWN) rotate = 0; else return; if (type == CL_ARROW_NORMAL) { cairo_translate (cr, x, y); cairo_rotate (cr, -rotate); clearlooks_draw_normal_arrow (cr, color, 0, 0, width, height); } else if (type == CL_ARROW_COMBO) { cairo_translate (cr, x, y); clearlooks_draw_combo_arrow (cr, color, 0, 0, width, height); } } static void clearlooks_draw_arrow (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ArrowParameters *arrow, int x, int y, int width, int height) { const CairoColor *color = &colors->fg[widget->state_type]; gdouble tx, ty; tx = x + width/2.0; ty = y + height/2.0; if (widget->disabled) { _clearlooks_draw_arrow (cr, &colors->shade[0], arrow->direction, arrow->type, tx+0.5, ty+0.5, width, height); } cairo_identity_matrix (cr); _clearlooks_draw_arrow (cr, color, arrow->direction, arrow->type, tx, ty, width, height); } void clearlooks_draw_focus (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const FocusParameters *focus, int x, int y, int width, int height) { if (focus->has_color) ge_cairo_set_color (cr, &focus->color); else if (focus->type == CL_FOCUS_COLOR_WHEEL_LIGHT) cairo_set_source_rgb (cr, 0., 0., 0.); else if (focus->type == CL_FOCUS_COLOR_WHEEL_DARK) cairo_set_source_rgb (cr, 1., 1., 1.); else cairo_set_source_rgba (cr, colors->fg[widget->state_type].r, colors->fg[widget->state_type].g, colors->fg[widget->state_type].b, 0.7); cairo_set_line_width (cr, focus->line_width); if (focus->dash_list[0]) { gint n_dashes = strlen ((gchar *)focus->dash_list); gdouble *dashes = g_new (gdouble, n_dashes); gdouble total_length = 0; gdouble dash_offset; gint i; for (i = 0; i < n_dashes; i++) { dashes[i] = focus->dash_list[i]; total_length += focus->dash_list[i]; } dash_offset = -focus->line_width / 2.0; while (dash_offset < 0) dash_offset += total_length; cairo_set_dash (cr, dashes, n_dashes, dash_offset); g_free (dashes); } cairo_rectangle (cr, x + focus->line_width / 2.0, y + focus->line_width / 2.0, width - focus->line_width, height - focus->line_width); cairo_stroke (cr); } void clearlooks_set_mixed_color (cairo_t *cr, const CairoColor *color1, const CairoColor *color2, gdouble mix_factor) { CairoColor composite; ge_mix_color (color1, color2, mix_factor, &composite); ge_cairo_set_color (cr, &composite); } void clearlooks_register_style_classic (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants) { g_assert (functions); functions->draw_top_left_highlight = clearlooks_draw_top_left_highlight; functions->draw_button = clearlooks_draw_button; functions->draw_scale_trough = clearlooks_draw_scale_trough; functions->draw_progressbar_trough = clearlooks_draw_progressbar_trough; functions->draw_progressbar_fill = clearlooks_draw_progressbar_fill; functions->draw_slider_button = clearlooks_draw_slider_button; functions->draw_entry = clearlooks_draw_entry; functions->draw_entry_progress = clearlooks_draw_entry_progress; functions->draw_spinbutton = clearlooks_draw_spinbutton; functions->draw_spinbutton_down = clearlooks_draw_spinbutton_down; functions->draw_optionmenu = clearlooks_draw_optionmenu; functions->draw_inset = clearlooks_draw_inset; functions->draw_menubar = clearlooks_draw_menubar; functions->draw_tab = clearlooks_draw_tab; functions->draw_frame = clearlooks_draw_frame; functions->draw_separator = clearlooks_draw_separator; functions->draw_menu_item_separator = clearlooks_draw_menu_item_separator; functions->draw_list_view_header = clearlooks_draw_list_view_header; functions->draw_toolbar = clearlooks_draw_toolbar; functions->draw_menuitem = clearlooks_draw_menuitem; functions->draw_menubaritem = clearlooks_draw_menubaritem; functions->draw_selected_cell = clearlooks_draw_selected_cell; functions->draw_scrollbar_stepper = clearlooks_draw_scrollbar_stepper; functions->draw_scrollbar_slider = clearlooks_draw_scrollbar_slider; functions->draw_scrollbar_trough = clearlooks_draw_scrollbar_trough; functions->draw_statusbar = clearlooks_draw_statusbar; functions->draw_menu_frame = clearlooks_draw_menu_frame; functions->draw_tooltip = clearlooks_draw_tooltip; functions->draw_icon_view_item = clearlooks_draw_icon_view_item; functions->draw_handle = clearlooks_draw_handle; functions->draw_resize_grip = clearlooks_draw_resize_grip; functions->draw_arrow = clearlooks_draw_arrow; functions->draw_focus = clearlooks_draw_focus; functions->draw_checkbox = clearlooks_draw_checkbox; functions->draw_radiobutton = clearlooks_draw_radiobutton; functions->draw_shadow = clearlooks_draw_shadow; functions->draw_slider = clearlooks_draw_slider; functions->draw_gripdots = clearlooks_draw_gripdots; constants->topleft_highlight_shade = 1.3; constants->topleft_highlight_alpha = 0.6; } gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_draw_glossy.c0000644000175000017500000014136111446654310022237 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2006 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * This file defines the Clearlooks Glossy style * Written by Andrea Cimitan * and Benjamin Berg * Based on code by Richard Stellingwerff * and Daniel Borgmann * from the ubuntulooks engine. * */ #include "clearlooks_draw.h" #include "clearlooks_style.h" #include "clearlooks_types.h" #include "support.h" #include #include static void clearlooks_draw_glossy_gradient (cairo_t *cr, double x, double y, int width, int height, const CairoColor *color, gboolean disabled, gboolean radius, CairoCorners corners) { CairoColor a, b, c, d; cairo_pattern_t *pt; ge_shade_color (color, disabled? 1.06 : 1.16, &a); ge_shade_color (color, disabled? 1.02 : 1.08, &b); ge_shade_color (color, disabled? 0.98 : 1.00, &c); ge_shade_color (color, disabled? 1.02 : 1.08, &d); pt = cairo_pattern_create_linear (x, y, x, y+height); cairo_pattern_add_color_stop_rgb (pt, 0.0, a.r, a.g, a.b); cairo_pattern_add_color_stop_rgb (pt, 0.5, b.r, b.g, b.b); cairo_pattern_add_color_stop_rgb (pt, 0.5, c.r, c.g, c.b); cairo_pattern_add_color_stop_rgb (pt, 1.0, d.r, d.g, d.b); cairo_set_source (cr, pt); ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, corners); cairo_fill (cr); cairo_pattern_destroy (pt); } /* This draw_inset implementation only differes in the shades values from the * default one. */ static void clearlooks_glossy_draw_inset (cairo_t *cr, const CairoColor *bg_color, double x, double y, double width, double height, double radius, uint8 corners) { CairoColor shadow; CairoColor highlight; double line_width; double min = MIN (width, height); line_width = cairo_get_line_width (cr); /* not really sure of shading ratios... we will think */ ge_shade_color (bg_color, 0.93, &shadow); ge_shade_color (bg_color, 1.07, &highlight); /* highlight */ cairo_save (cr); cairo_move_to (cr, x, y + height); cairo_line_to (cr, x + min / 2.0, y + height - min / 2.0); cairo_line_to (cr, x + width - min / 2.0, y + min / 2.0); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x, y); cairo_close_path (cr); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, x + line_width / 2.0, y + line_width / 2.0, width - line_width, height - line_width, radius, corners); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); cairo_restore (cr); /* shadow */ cairo_save (cr); cairo_move_to (cr, x, y + height); cairo_line_to (cr, x + min / 2.0, y + height - min / 2.0); cairo_line_to (cr, x + width - min / 2.0, y + min / 2.0); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x + width, y + height); cairo_close_path (cr); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, x + line_width / 2.0, y + line_width / 2.0, width - line_width, height - line_width, radius, corners); ge_cairo_set_color (cr, &highlight); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_glossy_draw_light_inset (cairo_t *cr, const CairoColor *bg_color, double x, double y, double w, double h, double radius, uint8 corners) { CairoColor shadow; CairoColor highlight; /* not really sure of shading ratios... we will think */ ge_shade_color (bg_color, 0.95, &shadow); ge_shade_color (bg_color, 1.05, &highlight); /* highlight */ cairo_move_to (cr, x + w + (radius * -0.2928932188), y - (radius * -0.2928932188)); /* 0.2928932... 1-sqrt(2)/2 gives middle of curve */ if (corners & CR_CORNER_TOPRIGHT) cairo_arc (cr, x + w - radius, y + radius, radius, G_PI * 1.75, G_PI * 2); else cairo_line_to (cr, x + w, y); if (corners & CR_CORNER_BOTTOMRIGHT) cairo_arc (cr, x + w - radius, y + h - radius, radius, 0, G_PI * 0.5); else cairo_line_to (cr, x + w, y + h); if (corners & CR_CORNER_BOTTOMLEFT) cairo_arc (cr, x + radius, y + h - radius, radius, G_PI * 0.5, G_PI * 0.75); else cairo_line_to (cr, x, y + h); ge_cairo_set_color (cr, &highlight); cairo_stroke (cr); /* shadow */ cairo_move_to (cr, x + (radius * 0.2928932188), y + h + (radius * -0.2928932188)); if (corners & CR_CORNER_BOTTOMLEFT) cairo_arc (cr, x + radius, y + h - radius, radius, G_PI * 0.75, G_PI); else cairo_line_to (cr, x, y + h); if (corners & CR_CORNER_TOPLEFT) cairo_arc (cr, x + radius, y + radius, radius, G_PI, G_PI * 1.5); else cairo_line_to (cr, x, y); if (corners & CR_CORNER_TOPRIGHT) cairo_arc (cr, x + w - radius, y + radius, radius, G_PI * 1.5, G_PI * 1.75); else cairo_line_to (cr, x + w, y); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } /* This function currently assumes that the input is translated by 0.5px! */ static void clearlooks_glossy_draw_highlight_and_shade (cairo_t *cr, const CairoColor *bg_color, const ShadowParameters *params, int width, int height, gdouble radius) { CairoColor shadow; CairoColor highlight; uint8 corners = params->corners; double x = 1.0; double y = 1.0; /* not really sure of shading ratios... we will think */ ge_shade_color (bg_color, 0.8, &shadow); ge_shade_color (bg_color, 1.2, &highlight); cairo_save (cr); /* Top/Left highlight */ if (corners & CR_CORNER_BOTTOMLEFT) cairo_move_to (cr, x, y+height-radius); else cairo_move_to (cr, x, y+height); ge_cairo_rounded_corner (cr, x, y, radius, corners & CR_CORNER_TOPLEFT); if (corners & CR_CORNER_TOPRIGHT) cairo_line_to (cr, x+width-radius, y); else cairo_line_to (cr, x+width, y); if (params->shadow & CL_SHADOW_OUT) cairo_set_source_rgba (cr, highlight.r, highlight.g, highlight.b, 0.5); else cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, 0.5); cairo_stroke (cr); /* Bottom/Right highlight -- this includes the corners */ cairo_move_to (cr, x+width-radius, y); /* topright and by radius to the left */ ge_cairo_rounded_corner (cr, x+width, y, radius, corners & CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, x+width, y+height, radius, corners & CR_CORNER_BOTTOMRIGHT); ge_cairo_rounded_corner (cr, x, y+height, radius, corners & CR_CORNER_BOTTOMLEFT); if (params->shadow & CL_SHADOW_OUT) cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, 0.5); else cairo_set_source_rgba (cr, highlight.r, highlight.g, highlight.b, 0.5); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_glossy_draw_button (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { double xoffset = 0, yoffset = 0; CairoColor fill = colors->bg[params->state_type]; CairoColor border_normal = colors->shade[6]; CairoColor border_disabled = colors->shade[4]; double radius; cairo_pattern_t *pattern; cairo_save (cr); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); /* Shadows and shadow */ if (params->xthickness == 3 || params->ythickness == 3) { if (params->xthickness == 3) xoffset = 1; if (params->ythickness == 3) yoffset = 1; } radius = MIN (params->radius, MIN ((width - 2.0 - 2*xoffset) / 2.0, (height - 2.0 - 2*yoffset) / 2.0)); if (params->xthickness == 3 || params->ythickness == 3) { /* if (params->enable_shadow && !params->active && !params->disabled) */ if (!params->active && (params->prelight || params->enable_shadow)) { /* shadow becomes a shadow to have 3d prelight buttons :) */ CairoColor shadow; radius = MIN (params->radius, MIN ((width - 2.0 - 2*xoffset) / 2.0 - 1.0, (height - 2.0 - 2*yoffset) / 2.0 - 1.0)); ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius+1, params->corners); ge_shade_color (¶ms->parentbg, 0.96, &shadow); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); ge_cairo_rounded_rectangle (cr, 1.5, 1.5, width-2, height-2, radius+1, params->corners); ge_shade_color (¶ms->parentbg, 0.92, &shadow); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } else { if (!(params->disabled)) params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, width, height, params->radius+1, params->corners); else /*Draw a lighter inset */ clearlooks_glossy_draw_light_inset (cr, ¶ms->parentbg, 0, 0, width, height, params->radius+1, params->corners); } } clearlooks_draw_glossy_gradient (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, height-(yoffset*2)-2, &fill, params->disabled, radius, params->corners); /* Pressed button shadow */ if (params->active) { CairoColor shadow; ge_shade_color (&fill, 0.92, &shadow); cairo_save (cr); ge_cairo_rounded_rectangle (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, height, radius, params->corners & (CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMLEFT)); cairo_clip (cr); cairo_rectangle (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, 3); pattern = cairo_pattern_create_linear (xoffset+1, yoffset+1, xoffset+1, yoffset+4); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.58); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_rectangle (cr, xoffset+1, yoffset+1, 3, height-(yoffset*2)-2); pattern = cairo_pattern_create_linear (xoffset+1, yoffset+1, xoffset+4, yoffset+1); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.58); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); } /* Default button highlight */ if (params->is_default && !params->active && !params->disabled) { const CairoColor *shadow = &colors->spot[0]; double hh = (height-5)/2.0 + 1; cairo_rectangle (cr, 3.5, 3.5, width-7, height-7); ge_cairo_set_color (cr, shadow); cairo_stroke (cr); shadow = &colors->spot[0]; cairo_move_to (cr, 2.5, 2.5+hh); cairo_rel_line_to (cr, 0, -hh); cairo_rel_line_to (cr, width-5, 0); cairo_rel_line_to (cr, 0, hh); ge_cairo_set_color (cr, shadow); cairo_stroke (cr); hh--; shadow = &colors->spot[1]; cairo_move_to (cr, 2.5, 2.5+hh); cairo_rel_line_to (cr, 0, hh); cairo_rel_line_to (cr, width-5, 0); cairo_rel_line_to (cr, 0, -hh); ge_cairo_set_color (cr, shadow); cairo_stroke (cr); } /* Border */ if (params->is_default || (params->prelight && params->enable_shadow)) border_normal = colors->spot[2]; /* ge_mix_color (&border_normal, &colors->spot[2], 0.5, &border_normal); */ if (params->disabled) ge_cairo_set_color (cr, &border_disabled); else clearlooks_set_mixed_color (cr, &border_normal, &fill, 0.2); ge_cairo_rounded_rectangle (cr, xoffset + 0.5, yoffset + 0.5, width-(xoffset*2)-1, height-(yoffset*2)-1, radius, params->corners); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_glossy_draw_progressbar_trough (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[6]; CairoColor shadow; cairo_pattern_t *pattern; double radius = MIN (params->radius, MIN ((height-2.0) / 2.0, (width-2.0) / 2.0)); cairo_save (cr); cairo_set_line_width (cr, 1.0); /* Create trough box */ ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners); ge_cairo_set_color (cr, &colors->shade[2]); cairo_fill (cr); /* Draw border */ ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width-1, height-1, radius, params->corners); clearlooks_set_mixed_color (cr, border, &colors->shade[2], 0.3); cairo_stroke (cr); /* clip the corners of the shadows */ ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners); cairo_clip (cr); ge_shade_color (border, 0.92, &shadow); /* Top shadow */ cairo_rectangle (cr, x+1, y+1, width-2, 4); pattern = cairo_pattern_create_linear (x, y, x, y+4); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.3); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Left shadow */ cairo_rectangle (cr, x+1, y+1, 4, height-2); pattern = cairo_pattern_create_linear (x, y, x+4, y); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.3); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); } static void clearlooks_glossy_draw_progressbar_fill (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ProgressBarParameters *progressbar, int x, int y, int width, int height, gint offset) { boolean is_horizontal = progressbar->orientation < 2; double tile_pos = 0; double stroke_width; double radius; int x_step; cairo_pattern_t *pattern; CairoColor a; CairoColor b; CairoColor e; CairoColor border; CairoColor shadow; radius = MAX (0, params->radius - params->xthickness); cairo_save (cr); if (!is_horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); if ((progressbar->orientation == CL_ORIENTATION_RIGHT_TO_LEFT) || (progressbar->orientation == CL_ORIENTATION_BOTTOM_TO_TOP)) ge_cairo_mirror (cr, CR_MIRROR_HORIZONTAL, &x, &y, &width, &height); /* Clamp the radius so that the _height_ fits ... */ radius = MIN (radius, height / 2.0); stroke_width = height*2; x_step = (((float)stroke_width/10)*offset); /* This looks weird ... */ cairo_translate (cr, x, y); cairo_save (cr); /* This is kind of nasty ... Clip twice from each side in case the length * of the fill is smaller than twice the radius. */ ge_cairo_rounded_rectangle (cr, 0, 0, width + radius, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius, 0, width + radius, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); /* Draw the background gradient */ ge_shade_color (&colors->spot[1], 1.16, &a); ge_shade_color (&colors->spot[1], 1.08, &b); ge_shade_color (&colors->spot[1], 1.08, &e); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, a.r, a.g, a.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, b.r, b.g, b.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, colors->spot[1].r, colors->spot[1].g, colors->spot[1].b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, e.r, e.g, e.b); cairo_set_source (cr, pattern); cairo_paint (cr); cairo_pattern_destroy (pattern); /* Draw the Strokes */ while (stroke_width > 0 && tile_pos <= width+x_step) { cairo_move_to (cr, stroke_width/2-x_step, 0); cairo_line_to (cr, stroke_width-x_step, 0); cairo_line_to (cr, stroke_width/2-x_step, height); cairo_line_to (cr, -x_step, height); cairo_translate (cr, stroke_width, 0); tile_pos += stroke_width; } cairo_set_source_rgba (cr, colors->spot[2].r, colors->spot[2].g, colors->spot[2].b, 0.15); cairo_fill (cr); cairo_restore (cr); /* rounded clip region */ /* inner highlight border * This is again kinda ugly. Draw once from each side, clipping away the other. */ cairo_set_source_rgba (cr, colors->spot[0].r, colors->spot[0].g, colors->spot[0].b, 0.3); /* left side */ cairo_save (cr); cairo_rectangle (cr, 0, 0, width / 2, height); cairo_clip (cr); if (progressbar->pulsing) ge_cairo_rounded_rectangle (cr, 1.5, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); else ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_stroke (cr); cairo_restore (cr); /* clip */ /* right side */ cairo_save (cr); cairo_rectangle (cr, width / 2, 0, (width+1) / 2, height); cairo_clip (cr); if (progressbar->value < 1.0 || progressbar->pulsing) ge_cairo_rounded_rectangle (cr, -1.5 - radius, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); else ge_cairo_rounded_rectangle (cr, -0.5 - radius, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_stroke (cr); cairo_restore (cr); /* clip */ /* Draw the dark lines and the shadow */ cairo_save (cr); /* Again, this weird clip area. */ ge_cairo_rounded_rectangle (cr, -1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius - 1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); border = colors->spot[2]; border.a = 0.5; ge_shade_color (&colors->shade[6], 0.92, &shadow); shadow.a = 0.2; if (progressbar->pulsing) { /* At the beginning of the bar. */ cairo_move_to (cr, 0.5 + radius, height + 0.5); ge_cairo_rounded_corner (cr, 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMLEFT); ge_cairo_rounded_corner (cr, 0.5, -0.5, radius + 1, CR_CORNER_TOPLEFT); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_move_to (cr, -0.5 + radius, height + 0.5); ge_cairo_rounded_corner (cr, -0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMLEFT); ge_cairo_rounded_corner (cr, -0.5, -0.5, radius + 1, CR_CORNER_TOPLEFT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } if (progressbar->value < 1.0 || progressbar->pulsing) { /* At the end of the bar. */ cairo_move_to (cr, width - 0.5 - radius, -0.5); ge_cairo_rounded_corner (cr, width - 0.5, -0.5, radius + 1, CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, width - 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMRIGHT); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_move_to (cr, width + 0.5 - radius, -0.5); ge_cairo_rounded_corner (cr, width + 0.5, -0.5, radius + 1, CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, width + 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMRIGHT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } cairo_restore (cr); cairo_restore (cr); /* rotation, mirroring */ } static void clearlooks_glossy_scale_draw_gradient (cairo_t *cr, const CairoColor *c1, const CairoColor *c2, const CairoColor *c3, int x, int y, int width, int height, boolean horizontal) { cairo_pattern_t *pattern; pattern = cairo_pattern_create_linear (0.5, 0.5, horizontal ? 0.5 : width + 1, horizontal ? height + 1 : 0.5); cairo_pattern_add_color_stop_rgb (pattern, 0.0, c1->r, c1->g, c1->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, c2->r, c2->g, c2->b); cairo_rectangle (cr, x, y, width, height); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); clearlooks_set_mixed_color (cr, c3, c1, 0.3); ge_cairo_inner_rectangle (cr, x, y, width, height); cairo_stroke (cr); } #define TROUGH_SIZE 7 static void clearlooks_glossy_draw_scale_trough (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const SliderParameters *slider, int x, int y, int width, int height) { int trough_width, trough_height; double translate_x, translate_y; cairo_save (cr); if (slider->horizontal) { trough_width = width; trough_height = TROUGH_SIZE; translate_x = x; translate_y = y + (height/2) - (TROUGH_SIZE/2); } else { trough_width = TROUGH_SIZE; trough_height = height; translate_x = x + (width/2) - (TROUGH_SIZE/2); translate_y = y; } cairo_set_line_width (cr, 1.0); cairo_translate (cr, translate_x, translate_y); if (!slider->fill_level) params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, trough_width, trough_height, 0, 0); if (!slider->lower && !slider->fill_level) clearlooks_glossy_scale_draw_gradient (cr, &colors->shade[3], /* top */ &colors->shade[2], /* bottom */ &colors->shade[6], /* border */ 1.0, 1.0, trough_width - 2, trough_height - 2, slider->horizontal); else clearlooks_glossy_scale_draw_gradient (cr, &colors->spot[1], /* top */ &colors->spot[0], /* bottom */ &colors->spot[2], /* border */ 1.0, 1.0, trough_width - 2, trough_height - 2, slider->horizontal); cairo_restore (cr); } static void clearlooks_glossy_draw_tab (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const TabParameters *tab, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[5]; const CairoColor *stripe_fill = &colors->spot[1]; const CairoColor *stripe_border = &colors->spot[2]; const CairoColor *fill; CairoColor hilight; cairo_pattern_t *pattern; double radius; double strip_size; double length; radius = MIN (params->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); /* Set clip */ cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); cairo_new_path (cr); /* Translate and set line width */ cairo_set_line_width (cr, 1.0); cairo_translate (cr, x+0.5, y+0.5); /* Make the tabs slightly bigger than they should be, to create a gap */ /* And calculate the strip size too, while you're at it */ if (tab->gap_side == CL_GAP_TOP || tab->gap_side == CL_GAP_BOTTOM) { height += 3.0; length = height; strip_size = 2.0/height; /* 2 pixel high strip */ if (tab->gap_side == CL_GAP_TOP) cairo_translate (cr, 0.0, -3.0); /* gap at the other side */ } else { width += 3.0; length = width; strip_size = 2.0/width; if (tab->gap_side == CL_GAP_LEFT) cairo_translate (cr, -3.0, 0.0); /* gap at the other side */ } /* Set the fill color */ fill = &colors->bg[params->state_type]; /* Set tab shape */ ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); /* Draw fill */ ge_cairo_set_color (cr, fill); cairo_fill (cr); ge_shade_color (fill, 1.3, &hilight); /* Draw highlight */ if (!params->active) { ShadowParameters shadow; shadow.shadow = CL_SHADOW_OUT; shadow.corners = params->corners; /* This is the only usage of clearlooks_glossy_draw_highlight_and_shade, * the function assumes currently that the input is translated by 0.5 px. */ clearlooks_glossy_draw_highlight_and_shade (cr, &colors->bg[0], &shadow, width, height, radius); } if (params->active) { CairoColor shadow, hilight, f1, f2; switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0, height-2, 0, 0); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0, 1, 0, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 0, 1, 0); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (1, 0, width-2, 0); break; default: pattern = NULL; } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); ge_shade_color (fill, 1.06, &shadow); ge_shade_color (fill, 1.18, &hilight); ge_shade_color (fill, 1.12, &f1); ge_shade_color (fill, 1.06, &f2); cairo_pattern_add_color_stop_rgb (pattern, 0.0, hilight.r, hilight.g, hilight.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0/length, hilight.r, hilight.g, hilight.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0/length, f1.r, f1.g, f1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.45, f2.r, f2.g, f2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.45, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shadow.r, shadow.g, shadow.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } else { /* Draw shade */ switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0, height-2, 0, 0); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0, 0, 0, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 0, 0, 0); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (0, 0, width, 0); break; default: pattern = NULL; } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); cairo_pattern_add_color_stop_rgba (pattern, 0.0, stripe_fill->r, stripe_fill->g, stripe_fill->b, 0.5); cairo_pattern_add_color_stop_rgba (pattern, 0.8, fill->r, fill->g, fill->b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); if (params->active) { ge_cairo_set_color (cr, border); cairo_stroke (cr); } else { switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (2, height-2, 2, 2); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (2, 2, 2, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 2, 2, 2); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (2, 2, width, 2); break; default: pattern = NULL; } cairo_pattern_add_color_stop_rgb (pattern, 0.0, stripe_border->r, stripe_border->g, stripe_border->b); cairo_pattern_add_color_stop_rgb (pattern, 0.8, border->r, border->g, border->b); cairo_set_source (cr, pattern); cairo_stroke (cr); cairo_pattern_destroy (pattern); } } static void clearlooks_glossy_draw_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[7]; CairoColor fill; CairoColor hilight; CairoColor a, b, c, d; cairo_pattern_t *pattern; cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); ge_shade_color (&colors->bg[params->state_type], 1.0, &fill); if (params->prelight) ge_shade_color (&fill, 1.1, &fill); ge_shade_color (&fill, 1.25, &hilight); ge_shade_color (&fill, 1.16, &a); ge_shade_color (&fill, 1.08, &b); ge_shade_color (&fill, 1.0, &c); ge_shade_color (&fill, 1.08, &d); pattern = cairo_pattern_create_linear (1, 1, 1, height-2); cairo_pattern_add_color_stop_rgb (pattern, 0, a.r, a.g, a.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, b.r, b.g, b.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, c.r, c.g, c.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, d.r, d.g, d.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); clearlooks_set_mixed_color (cr, border, &fill, 0.2); if (params->prelight) ge_cairo_set_color (cr, &colors->spot[2]); ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, 2.5, params->corners); cairo_stroke (cr); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.5); ge_cairo_rounded_rectangle (cr, 1.5, 1.5, width-3, height-3, 2.0, params->corners); cairo_stroke (cr); } static void clearlooks_glossy_draw_slider_button (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const SliderParameters *slider, int x, int y, int width, int height) { double radius = MIN (params->radius, MIN ((width - 1.0) / 2.0, (height - 1.0) / 2.0)); cairo_set_line_width (cr, 1.0); if (!slider->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); params->style_functions->draw_shadow (cr, colors, radius, width, height); params->style_functions->draw_slider (cr, colors, params, 1, 1, width-2, height-2); } static void clearlooks_glossy_draw_scrollbar_stepper (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, const ScrollBarStepperParameters *stepper, int x, int y, int width, int height) { CairoCorners corners = CR_CORNER_NONE; const CairoColor *border = &colors->shade[7]; CairoColor fill, s1, s2, s4; cairo_pattern_t *pattern; ShadowParameters shadow; double radius = MIN (widget->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); if (scrollbar->horizontal) { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { x -= 1; width += 1; } else if (stepper->stepper == CL_STEPPER_C) { width += 1; } } else { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_BOTTOMLEFT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { y -= 1; height += 1; } else if (stepper->stepper == CL_STEPPER_C) { height += 1; } } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); ge_cairo_rounded_rectangle (cr, 1, 1, width-2, height-2, radius, corners); if (scrollbar->horizontal) pattern = cairo_pattern_create_linear (0, 0, 0, height); else pattern = cairo_pattern_create_linear (0, 0, width, 0); fill = colors->bg[widget->state_type]; ge_shade_color(&fill, 1.16, &s1); ge_shade_color(&fill, 1.08, &s2); ge_shade_color(&fill, 1.08, &s4); cairo_pattern_add_color_stop_rgb(pattern, 0, s1.r, s1.g, s1.b); cairo_pattern_add_color_stop_rgb(pattern, 0.5, s2.r, s2.g, s2.b); cairo_pattern_add_color_stop_rgb(pattern, 0.5, fill.r, fill.g, fill.b); cairo_pattern_add_color_stop_rgb(pattern, 1.0, s4.r, s4.g, s4.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius, corners); clearlooks_set_mixed_color (cr, border, &fill, 0.2); if (widget->prelight) ge_cairo_set_color (cr, &colors->spot[2]); cairo_stroke (cr); shadow.shadow = CL_SHADOW_OUT; shadow.corners = corners; } static void clearlooks_glossy_draw_scrollbar_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[7]; CairoColor fill = scrollbar->color; CairoColor hilight; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; if (scrollbar->junction & CL_JUNCTION_BEGIN) { if (scrollbar->horizontal) { x -= 1; width += 1; } else { y -= 1; height += 1; } } if (scrollbar->junction & CL_JUNCTION_END) { if (scrollbar->horizontal) width += 1; else height += 1; } if (!scrollbar->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); if (widget->prelight) ge_shade_color (&fill, 1.1, &fill); cairo_set_line_width (cr, 1); ge_shade_color (&fill, 1.25, &hilight); ge_shade_color (&fill, 1.16, &shade1); ge_shade_color (&fill, 1.08, &shade2); ge_shade_color (&fill, 1.08, &shade3); pattern = cairo_pattern_create_linear (1, 1, 1, height-2); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill.r, fill.g, fill.b); cairo_pattern_add_color_stop_rgb (pattern, 1, shade3.r, shade3.g, shade3.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); if (scrollbar->has_color) { cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.5); ge_cairo_stroke_rectangle (cr, 1.5, 1.5, width-3, height-3); } clearlooks_set_mixed_color (cr, border, &fill, scrollbar->has_color? 0.4 : 0.2); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); } static void clearlooks_glossy_draw_list_view_header (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ListViewHeaderParameters *header, int x, int y, int width, int height) { /* CairoColor *border = !params->prelight? (CairoColor*)&colors->shade[4] : (CairoColor*)&colors->spot[1]; */ const CairoColor *border = &colors->shade[4]; const CairoColor *fill = &colors->bg[params->state_type]; CairoColor hilight; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; ge_shade_color (fill, 1.2, &hilight); ge_shade_color (fill, 1.08, &shade1); ge_shade_color (fill, 1.04, &shade2); ge_shade_color (fill, 1.04, &shade3); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); /* Draw the fill */ pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0-1.0/height, shade3.r, shade3.g, shade3.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0-1.0/height, border->r, border->g, border->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, border->r, border->g, border->b); cairo_set_source (cr, pattern); cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Draw highlight */ if (header->order & CL_ORDER_FIRST) { cairo_move_to (cr, 0.5, height-1); cairo_line_to (cr, 0.5, 0.5); } else cairo_move_to (cr, 0.0, 0.5); cairo_line_to (cr, width, 0.5); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.5); cairo_stroke (cr); /* Draw resize grip */ if ((params->ltr && !(header->order & CL_ORDER_LAST)) || (!params->ltr && !(header->order & CL_ORDER_FIRST)) || header->resizable) { SeparatorParameters separator; separator.horizontal = FALSE; if (params->ltr) params->style_functions->draw_separator (cr, colors, params, &separator, width-1.5, 4.0, 2, height-8.0); else params->style_functions->draw_separator (cr, colors, params, &separator, 1.5, 4.0, 2, height-8.0); } } static void clearlooks_glossy_draw_toolbar (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ToolbarParameters *toolbar, int x, int y, int width, int height) { const CairoColor *fill = &colors->bg[GTK_STATE_NORMAL]; const CairoColor *dark = &colors->shade[3]; CairoColor light; ge_shade_color (fill, 1.1, &light); cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); if (toolbar->style == 1) /* Enable Extra features */ { cairo_pattern_t *pattern; CairoColor shade1, shade2, shade3; ge_shade_color (fill, 1.08, &shade1); ge_shade_color (fill, 1.04, &shade2); ge_shade_color (fill, 1.04, &shade3); /* Draw the fill */ pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); cairo_pattern_destroy (pattern); } else /* Flat */ { ge_cairo_set_color (cr, fill); cairo_paint (cr); if (!toolbar->topmost) { /* Draw highlight */ cairo_move_to (cr, 0, 0.5); cairo_line_to (cr, width-1, 0.5); ge_cairo_set_color (cr, &light); cairo_stroke (cr); } } /* Draw shadow */ cairo_move_to (cr, 0, height-0.5); cairo_line_to (cr, width-1, height-0.5); ge_cairo_set_color (cr, dark); cairo_stroke (cr); } static void clearlooks_glossy_draw_menuitem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *fill = &colors->spot[1]; const CairoColor *border = &colors->spot[2]; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; ge_shade_color (fill, 1.16, &shade1); ge_shade_color (fill, 1.08, &shade2); ge_shade_color (fill, 1.08, &shade3); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width - 1, height - 1, params->radius, params->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, border); cairo_stroke (cr); } static void clearlooks_glossy_draw_menubaritem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *fill = &colors->spot[1]; const CairoColor *border = &colors->spot[2]; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; ge_shade_color (fill, 1.16, &shade1); ge_shade_color (fill, 1.08, &shade2); ge_shade_color (fill, 1.08, &shade3); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width - 1, height - 1, params->radius, params->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, border); cairo_stroke (cr); } static void clearlooks_glossy_draw_selected_cell (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { CairoColor color; if (params->focus) color = colors->base[params->state_type]; else color = colors->base[GTK_STATE_ACTIVE]; clearlooks_draw_glossy_gradient (cr, x, y, width, height, &color, params->disabled, 0.0, CR_CORNER_NONE); } static void clearlooks_glossy_draw_radiobutton (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height) { const CairoColor *border; const CairoColor *dot; CairoColor shadow; CairoColor highlight; cairo_pattern_t *pt; gboolean inconsistent; gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN); gdouble w, h, cx, cy, radius; w = (gdouble) width; h = (gdouble) height; cx = width / 2.0; cy = height / 2.0; radius = MIN (width, height) / 2.0; inconsistent = (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN); draw_bullet |= inconsistent; if (widget->disabled) { border = &colors->shade[5]; dot = &colors->shade[6]; } else { if (widget->prelight) border = &colors->spot[2]; else border = &colors->shade[6]; dot = &colors->text[0]; } ge_shade_color (&widget->parentbg, 0.9, &shadow); ge_shade_color (&widget->parentbg, 1.1, &highlight); pt = cairo_pattern_create_linear (0, 0, radius * 2.0, radius * 2.0); cairo_pattern_add_color_stop_rgb (pt, 0.0, shadow.r, shadow.b, shadow.g); cairo_pattern_add_color_stop_rgba (pt, 0.5, shadow.r, shadow.b, shadow.g, 0.5); cairo_pattern_add_color_stop_rgba (pt, 0.5, highlight.r, highlight.g, highlight.b, 0.5); cairo_pattern_add_color_stop_rgb (pt, 1.0, highlight.r, highlight.g, highlight.b); cairo_translate (cr, x, y); cairo_set_line_width (cr, MAX (1.0, floor (radius/3))); cairo_arc (cr, ceil (cx), ceil (cy), floor (radius - 0.1), 0, G_PI*2); cairo_set_source (cr, pt); cairo_stroke (cr); cairo_pattern_destroy (pt); cairo_set_line_width (cr, MAX (1.0, floor (radius/6))); cairo_arc (cr, ceil (cx), ceil (cy), MAX (1.0, ceil (radius) - 1.5), 0, G_PI*2); if (!widget->disabled) { if (widget->prelight) clearlooks_set_mixed_color (cr, &colors->base[0], &colors->spot[1], 0.5); else ge_cairo_set_color (cr, &colors->base[0]); cairo_fill_preserve (cr); } ge_cairo_set_color (cr, border); cairo_stroke (cr); if (draw_bullet) { if (inconsistent) { cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_width (cr, ceil (radius * 2 / 3)); cairo_move_to (cr, ceil (cx - radius/3.0), ceil (cy)); cairo_line_to (cr, ceil (cx + radius/3.0), ceil (cy)); ge_cairo_set_color (cr, dot); cairo_stroke (cr); } else { cairo_arc (cr, ceil (cx), ceil (cy), floor (radius/2.0), 0, G_PI*2); ge_cairo_set_color (cr, dot); cairo_fill (cr); cairo_arc (cr, floor (cx - radius/10.0), floor (cy - radius/10.0), floor (radius/6.0), 0, G_PI*2); cairo_set_source_rgba (cr, highlight.r, highlight.g, highlight.b, 0.5); cairo_fill (cr); } } } static void clearlooks_glossy_draw_checkbox (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height) { const CairoColor *border; const CairoColor *dot; gboolean inconsistent = FALSE; gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN); inconsistent = (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN); draw_bullet |= inconsistent; if (widget->disabled) { border = &colors->shade[5]; dot = &colors->shade[6]; } else { if (widget->prelight) border = &colors->spot[2]; else border = &colors->shade[6]; dot = &colors->text[GTK_STATE_NORMAL]; } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); if (widget->xthickness > 2 && widget->ythickness > 2) { widget->style_functions->draw_inset (cr, &widget->parentbg, 0, 0, width, height, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); /* Draw the rectangle for the checkbox itself */ ge_cairo_rounded_rectangle (cr, 1.5, 1.5, width-3, height-3, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); } else { /* Draw the rectangle for the checkbox itself */ ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); } if (!widget->disabled) { if (widget->prelight) clearlooks_set_mixed_color (cr, &colors->base[0], &colors->spot[1], 0.5); else ge_cairo_set_color (cr, &colors->base[0]); cairo_fill_preserve (cr); } ge_cairo_set_color (cr, border); cairo_stroke (cr); if (draw_bullet) { if (inconsistent) /* Inconsistent */ { cairo_set_line_width (cr, 2.0); cairo_move_to (cr, 3, height*0.5); cairo_line_to (cr, width-3, height*0.5); } else { cairo_set_line_width (cr, 1.7); cairo_move_to (cr, 0.5 + (width*0.2), (height*0.5)); cairo_line_to (cr, 0.5 + (width*0.4), (height*0.7)); cairo_curve_to (cr, 0.5 + (width*0.4), (height*0.7), 0.5 + (width*0.5), (height*0.4), 0.5 + (width*0.70), (height*0.25)); } ge_cairo_set_color (cr, dot); cairo_stroke (cr); } } static void clearlooks_glossy_draw_icon_view_item (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { CairoColor color; gfloat radius; if (params->focus) color = colors->base[params->state_type]; else color = colors->base[GTK_STATE_ACTIVE]; radius = MIN (width / 2, params->radius); radius = MIN (height / 2, radius); clearlooks_draw_glossy_gradient (cr, x, y, width, height, &color, params->disabled, params->radius, CR_CORNER_ALL); } void clearlooks_register_style_glossy (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants) { functions->draw_inset = clearlooks_glossy_draw_inset; functions->draw_button = clearlooks_glossy_draw_button; functions->draw_progressbar_trough = clearlooks_glossy_draw_progressbar_trough; functions->draw_progressbar_fill = clearlooks_glossy_draw_progressbar_fill; functions->draw_scale_trough = clearlooks_glossy_draw_scale_trough; functions->draw_tab = clearlooks_glossy_draw_tab; functions->draw_slider = clearlooks_glossy_draw_slider; functions->draw_slider_button = clearlooks_glossy_draw_slider_button; functions->draw_scrollbar_stepper = clearlooks_glossy_draw_scrollbar_stepper; functions->draw_scrollbar_slider = clearlooks_glossy_draw_scrollbar_slider; functions->draw_list_view_header = clearlooks_glossy_draw_list_view_header; functions->draw_toolbar = clearlooks_glossy_draw_toolbar; functions->draw_menuitem = clearlooks_glossy_draw_menuitem; functions->draw_menubaritem = clearlooks_glossy_draw_menubaritem; functions->draw_selected_cell = clearlooks_glossy_draw_selected_cell; functions->draw_checkbox = clearlooks_glossy_draw_checkbox; functions->draw_radiobutton = clearlooks_glossy_draw_radiobutton; functions->draw_icon_view_item = clearlooks_glossy_draw_icon_view_item; } gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_draw_inverted.c0000644000175000017500000010025011446654310022527 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2007 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * This file defines the Clearlooks Inverted style * */ #include "clearlooks_draw.h" #include "clearlooks_style.h" #include "clearlooks_types.h" #include "support.h" #include #include static void clearlooks_set_border_gradient (cairo_t *cr, const CairoColor *color, double hilight, int width, int height) { cairo_pattern_t *pattern; CairoColor bottom_shade; ge_shade_color (color, hilight, &bottom_shade); pattern = cairo_pattern_create_linear (0, 0, width, height); cairo_pattern_add_color_stop_rgb (pattern, 0, color->r, color->g, color->b); cairo_pattern_add_color_stop_rgb (pattern, 1, bottom_shade.r, bottom_shade.g, bottom_shade.b); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); } static void clearlooks_inverted_draw_button (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { double xoffset = 0, yoffset = 0; double radius = params->radius; const CairoColor *fill = &colors->bg[params->state_type]; const CairoColor *border_disabled = &colors->shade[4]; CairoColor border_normal; CairoColor shadow; ge_shade_color(&colors->shade[6], 1.05, &border_normal); ge_shade_color (&border_normal, 0.925, &shadow); cairo_save (cr); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); if (params->xthickness == 3 || params->ythickness == 3) { if (params->xthickness == 3) xoffset = 1; if (params->ythickness == 3) yoffset = 1; } radius = MIN (radius, MIN ((width - 2.0 - xoffset * 2.0) / 2.0, (height - 2.0 - yoffset * 2) / 2.0)); if (params->xthickness == 3 || params->ythickness == 3) { params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, width, height, radius+1, params->corners); } ge_cairo_rounded_rectangle (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, height-(yoffset*2)-2, radius, params->corners); if (!params->active) { cairo_pattern_t *pattern; CairoColor top_shade, bottom_shade; ge_shade_color (fill, 0.95, &top_shade); ge_shade_color (fill, 1.05, &bottom_shade); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, top_shade.r, top_shade.g, top_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, bottom_shade.r, bottom_shade.g, bottom_shade.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } else { cairo_pattern_t *pattern; ge_cairo_set_color (cr, fill); cairo_fill_preserve (cr); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_pattern_add_color_stop_rgba (pattern, 0.4, shadow.r, shadow.g, shadow.b, 0.0); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.2); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); pattern = cairo_pattern_create_linear (0, yoffset+1, 0, 3+yoffset); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, params->disabled ? 0.125 : 0.3); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); pattern = cairo_pattern_create_linear (xoffset+1, 0, 3+xoffset, 0); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, params->disabled ? 0.125 : 0.3); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } /* Drawing the border */ if (!params->active && params->is_default) { const CairoColor *l = &colors->shade[4]; const CairoColor *d = &colors->shade[4]; ge_cairo_set_color (cr, l); ge_cairo_stroke_rectangle (cr, 2.5, 2.5, width-5, height-5); ge_cairo_set_color (cr, d); ge_cairo_stroke_rectangle (cr, 3.5, 3.5, width-7, height-7); } if (params->disabled) ge_cairo_set_color (cr, border_disabled); else if (!params->active) clearlooks_set_border_gradient (cr, &border_normal, 1.32, 0, height); else ge_cairo_set_color (cr, &border_normal); ge_cairo_rounded_rectangle (cr, xoffset + 0.5, yoffset + 0.5, width-(xoffset*2)-1, height-(yoffset*2)-1, radius, params->corners); cairo_stroke (cr); /* Draw the "shadow" */ if (!params->active) { /* Draw right shadow */ cairo_move_to (cr, width-xoffset-1.5, yoffset + radius); cairo_line_to (cr, width-xoffset-1.5, height - yoffset - radius); cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, 0.1); cairo_stroke (cr); /* Draw topleft shadow */ params->style_functions->draw_top_left_highlight (cr, fill, params, xoffset+1, yoffset+1, width-2*(xoffset+1), height-2*(yoffset+1), radius, params->corners); } cairo_restore (cr); } static void clearlooks_inverted_draw_progressbar_fill (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ProgressBarParameters *progressbar, int x, int y, int width, int height, gint offset) { boolean is_horizontal = progressbar->orientation < 2; double tile_pos = 0; double stroke_width; double radius; int x_step; cairo_pattern_t *pattern; CairoColor bg_shade; CairoColor border; CairoColor shadow; CairoColor top_shade; radius = MAX (0, params->radius - params->xthickness); cairo_save (cr); if (!is_horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); if ((progressbar->orientation == CL_ORIENTATION_RIGHT_TO_LEFT) || (progressbar->orientation == CL_ORIENTATION_BOTTOM_TO_TOP)) ge_cairo_mirror (cr, CR_MIRROR_HORIZONTAL, &x, &y, &width, &height); /* Clamp the radius so that the _height_ fits ... */ radius = MIN (radius, height / 2.0); stroke_width = height*2; x_step = (((float)stroke_width/10)*offset); /* This looks weird ... */ cairo_translate (cr, x, y); cairo_save (cr); /* This is kind of nasty ... Clip twice from each side in case the length * of the fill is smaller than twice the radius. */ ge_cairo_rounded_rectangle (cr, 0, 0, width + radius, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius, 0, width + radius, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); ge_shade_color (&colors->spot[1], 1.05, &top_shade); /* Draw the background gradient */ ge_shade_color (&colors->spot[1], 0.925, &bg_shade); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, bg_shade.r, bg_shade.g, bg_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, top_shade.r, top_shade.g, top_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, bg_shade.r, bg_shade.g, bg_shade.b); cairo_set_source (cr, pattern); cairo_paint (cr); cairo_pattern_destroy (pattern); /* Draw the Strokes */ while (stroke_width > 0 && tile_pos <= width+x_step) { cairo_move_to (cr, stroke_width/2-x_step, 0); cairo_line_to (cr, stroke_width-x_step, 0); cairo_line_to (cr, stroke_width/2-x_step, height); cairo_line_to (cr, -x_step, height); cairo_translate (cr, stroke_width, 0); tile_pos += stroke_width; } cairo_set_source_rgba (cr, colors->spot[2].r, colors->spot[2].g, colors->spot[2].b, 0.15); cairo_fill (cr); cairo_restore (cr); /* rounded clip region */ /* inner highlight border * This is again kinda ugly. Draw once from each side, clipping away the other. */ cairo_set_source_rgba (cr, colors->spot[0].r, colors->spot[0].g, colors->spot[0].b, 0.5); /* left side */ cairo_save (cr); cairo_rectangle (cr, 0, 0, width / 2, height); cairo_clip (cr); if (progressbar->pulsing) ge_cairo_rounded_rectangle (cr, 1.5, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); else ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_stroke (cr); cairo_restore (cr); /* clip */ /* right side */ cairo_save (cr); cairo_rectangle (cr, width / 2, 0, (width+1) / 2, height); cairo_clip (cr); if (progressbar->value < 1.0 || progressbar->pulsing) ge_cairo_rounded_rectangle (cr, -1.5 - radius, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); else ge_cairo_rounded_rectangle (cr, -0.5 - radius, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_stroke (cr); cairo_restore (cr); /* clip */ /* Draw the dark lines and the shadow */ cairo_save (cr); /* Again, this weird clip area. */ ge_cairo_rounded_rectangle (cr, -1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius - 1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); border = colors->spot[2]; border.a = 0.5; shadow.r = 0.0; shadow.g = 0.0; shadow.b = 0.0; shadow.a = 0.1; if (progressbar->pulsing) { /* At the beginning of the bar. */ cairo_move_to (cr, 0.5 + radius, height + 0.5); ge_cairo_rounded_corner (cr, 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMLEFT); ge_cairo_rounded_corner (cr, 0.5, -0.5, radius + 1, CR_CORNER_TOPLEFT); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_move_to (cr, -0.5 + radius, height + 0.5); ge_cairo_rounded_corner (cr, -0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMLEFT); ge_cairo_rounded_corner (cr, -0.5, -0.5, radius + 1, CR_CORNER_TOPLEFT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } if (progressbar->value < 1.0 || progressbar->pulsing) { /* At the end of the bar. */ cairo_move_to (cr, width - 0.5 - radius, -0.5); ge_cairo_rounded_corner (cr, width - 0.5, -0.5, radius + 1, CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, width - 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMRIGHT); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_move_to (cr, width + 0.5 - radius, -0.5); ge_cairo_rounded_corner (cr, width + 0.5, -0.5, radius + 1, CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, width + 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMRIGHT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } cairo_restore (cr); cairo_restore (cr); /* rotation, mirroring */ } static void clearlooks_inverted_draw_menuitem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { const CairoColor *fill = &colors->spot[1]; CairoColor fill_shade; CairoColor border = colors->spot[2]; cairo_pattern_t *pattern; ge_shade_color (&border, 1.05, &border); ge_shade_color (fill, 0.85, &fill_shade); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width - 1, height - 1, widget->radius, widget->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, fill_shade.r, fill_shade.g, fill_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, fill->r, fill->g, fill->b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, &border); cairo_stroke (cr); } static void clearlooks_inverted_draw_menubaritem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { CairoColor *fill = (CairoColor*)&colors->spot[1]; CairoColor fill_shade; CairoColor border = colors->spot[2]; cairo_pattern_t *pattern; ge_shade_color (&border, 1.05, &border); ge_shade_color (fill, 0.85, &fill_shade); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x + 0.5, y + 0.5, width - 1, height, widget->radius, widget->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, fill_shade.r, fill_shade.g, fill_shade.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, fill->r, fill->g, fill->b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, &border); cairo_stroke_preserve (cr); } static void clearlooks_inverted_draw_tab (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const TabParameters *tab, int x, int y, int width, int height) { const CairoColor *border1 = &colors->shade[6]; const CairoColor *border2 = &colors->shade[5]; const CairoColor *stripe_fill = &colors->spot[1]; const CairoColor *stripe_border = &colors->spot[2]; const CairoColor *fill; CairoColor hilight; CairoColor shadow; cairo_pattern_t *pattern; double radius; double strip_size; double length; radius = MIN (params->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); /* Set clip */ cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); cairo_new_path (cr); /* Translate and set line width */ cairo_set_line_width (cr, 1.0); cairo_translate (cr, x+0.5, y+0.5); /* Make the tabs slightly bigger than they should be, to create a gap */ /* And calculate the strip size too, while you're at it */ if (tab->gap_side == CL_GAP_TOP || tab->gap_side == CL_GAP_BOTTOM) { height += 3.0; length = height; strip_size = 2.0/height; /* 2 pixel high strip */ if (tab->gap_side == CL_GAP_TOP) cairo_translate (cr, 0.0, -3.0); /* gap at the other side */ } else { width += 3.0; length = width; strip_size = 2.0/width; if (tab->gap_side == CL_GAP_LEFT) cairo_translate (cr, -3.0, 0.0); /* gap at the other side */ } /* Set the fill color */ fill = &colors->bg[params->state_type]; /* Set tab shape */ ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); /* Draw fill */ ge_cairo_set_color (cr, fill); cairo_fill (cr); ge_shade_color (fill, 1.3, &hilight); /* Draw highlight */ if (!params->active) { ShadowParameters shadow; shadow.shadow = CL_SHADOW_OUT; shadow.corners = params->corners; /* clearlooks_draw_highlight_and_shade (cr, colors, &shadow, width, height, radius);*/ } if (params->active) { switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0, height-2, 0, 0); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0, 1, 0, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 0, 1, 0); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (1, 0, width-2, 0); break; default: pattern = NULL; } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); ge_shade_color (fill, 0.92, &shadow); cairo_pattern_add_color_stop_rgba (pattern, 0.0, hilight.r, hilight.g, hilight.b, 0.4); cairo_pattern_add_color_stop_rgba (pattern, 1.0/height, hilight.r, hilight.g, hilight.b, 0.4); cairo_pattern_add_color_stop_rgb (pattern, 1.0/height, fill->r,fill->g,fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shadow.r,shadow.g,shadow.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } else { /* Draw shade */ switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0, height-2, 0, 0); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0, 0, 0, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 0, 0, 0); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (0, 0, width, 0); break; default: pattern = NULL; } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); cairo_pattern_add_color_stop_rgb (pattern, 0.0, stripe_fill->r, stripe_fill->g, stripe_fill->b); cairo_pattern_add_color_stop_rgb (pattern, strip_size, stripe_fill->r, stripe_fill->g, stripe_fill->b); cairo_pattern_add_color_stop_rgba (pattern, strip_size, hilight.r, hilight.g, hilight.b, 0.0); cairo_pattern_add_color_stop_rgba (pattern, 0.8, hilight.r, hilight.g, hilight.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); if (params->active) { ge_cairo_set_color (cr, border2); cairo_stroke (cr); } else { switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (2, height-2, 2, 2); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (2, 2, 2, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 2, 2, 2); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (2, 2, width, 2); break; default: pattern = NULL; } cairo_pattern_add_color_stop_rgb (pattern, 0.0, stripe_border->r, stripe_border->g, stripe_border->b); cairo_pattern_add_color_stop_rgb (pattern, strip_size, stripe_border->r, stripe_border->g, stripe_border->b); cairo_pattern_add_color_stop_rgb (pattern, strip_size, border1->r, border1->g, border1->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, border2->r, border2->g, border2->b); cairo_set_source (cr, pattern); cairo_stroke (cr); cairo_pattern_destroy (pattern); } } static void clearlooks_inverted_draw_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[params->disabled ? 4 : 6]; const CairoColor *spot = &colors->spot[1]; const CairoColor *fill = &colors->shade[2]; double radius = MIN (params->radius, MIN ((width - 1.0) / 2.0, (height - 1.0) / 2.0)); cairo_pattern_t *pattern; cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); if (params->disabled) border = &colors->shade[4]; else if (params->prelight) border = &colors->spot[2]; else border = &colors->shade[6]; /* fill the widget */ cairo_rectangle (cr, 1.0, 1.0, width-2, height-2); /* Fake light */ if (!params->disabled) { const CairoColor *top = &colors->shade[2]; const CairoColor *bot = &colors->shade[0]; pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, top->r, top->g, top->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, bot->r, bot->g, bot->b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } else { ge_cairo_set_color (cr, fill); cairo_rectangle (cr, 1.0, 1.0, width-2, height-2); cairo_fill (cr); } /* Set the clip */ cairo_save (cr); cairo_rectangle (cr, 1.0, 1.0, 6, height-2); cairo_rectangle (cr, width-7.0, 1.0, 6, height-2); cairo_clip_preserve (cr); cairo_new_path (cr); /* Draw the handles */ ge_cairo_rounded_rectangle (cr, 1.0, 1.0, width-1, height-1, radius, params->corners); pattern = cairo_pattern_create_linear (0.5, 0.5, 0.5, 0.5+height); if (params->prelight) { CairoColor highlight; ge_shade_color (spot, 1.5, &highlight); cairo_pattern_add_color_stop_rgb (pattern, 0.0, spot->r, spot->g, spot->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, highlight.r, highlight.g, highlight.b); cairo_set_source (cr, pattern); } else { CairoColor hilight; ge_shade_color (fill, 1.5, &hilight); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.5); } cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); /* Draw the border */ ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius, params->corners); if (params->prelight || params->disabled) ge_cairo_set_color (cr, border); else clearlooks_set_border_gradient (cr, border, 1.2, 0, height); cairo_stroke (cr); /* Draw handle lines */ if (width > 14) { cairo_move_to (cr, 6.5, 1.0); cairo_line_to (cr, 6.5, height-1); cairo_move_to (cr, width-6.5, 1.0); cairo_line_to (cr, width-6.5, height-1); cairo_set_line_width (cr, 1.0); cairo_set_source_rgba (cr, border->r, border->g, border->b, 0.3); cairo_stroke (cr); } } static void clearlooks_inverted_draw_list_view_header (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ListViewHeaderParameters *header, int x, int y, int width, int height) { const CairoColor *fill = &colors->bg[params->state_type]; const CairoColor *border = &colors->shade[4]; cairo_pattern_t *pattern; CairoColor hilight_header; CairoColor hilight; CairoColor shadow; ge_shade_color (border, 1.5, &hilight); ge_shade_color (fill, 1.05, &hilight_header); ge_shade_color (fill, 0.95, &shadow); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); /* Draw highlight */ if (header->order & CL_ORDER_FIRST) { cairo_move_to (cr, 0.5, height-1); cairo_line_to (cr, 0.5, 0.5); } else cairo_move_to (cr, 0.0, 0.5); cairo_line_to (cr, width, 0.5); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); /* Draw bottom border */ cairo_move_to (cr, 0.0, height-0.5); cairo_line_to (cr, width, height-0.5); ge_cairo_set_color (cr, border); cairo_stroke (cr); /* Draw bottom shade */ pattern = cairo_pattern_create_linear (0.0, 0, 0.0, height-1.0); cairo_pattern_add_color_stop_rgb (pattern, 0.0, shadow.r, shadow.g, shadow.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, hilight_header.r, hilight_header.g, hilight_header.b); cairo_rectangle (cr, 0, 1, width, height-2); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Draw resize grip */ if ((params->ltr && !(header->order & CL_ORDER_LAST)) || (!params->ltr && !(header->order & CL_ORDER_FIRST)) || header->resizable) { SeparatorParameters separator; separator.horizontal = FALSE; if (params->ltr) params->style_functions->draw_separator (cr, colors, params, &separator, width-1.5, 4.0, 2, height-8.0); else params->style_functions->draw_separator (cr, colors, params, &separator, 1.5, 4.0, 2, height-8.0); } } static void clearlooks_inverted_draw_scrollbar_stepper (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, const ScrollBarStepperParameters *stepper, int x, int y, int width, int height) { CairoCorners corners = CR_CORNER_NONE; CairoColor border; CairoColor s1, s2, s3; cairo_pattern_t *pattern; double radius = MIN (widget->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); ge_shade_color(&colors->shade[6], 1.05, &border); if (scrollbar->horizontal) { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { x -= 1; width += 1; } else if (stepper->stepper == CL_STEPPER_C) { width += 1; } } else { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_BOTTOMLEFT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { y -= 1; height += 1; } else if (stepper->stepper == CL_STEPPER_C) { height += 1; } } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); ge_cairo_rounded_rectangle (cr, 1, 1, width-2, height-2, radius, corners); if (scrollbar->horizontal) pattern = cairo_pattern_create_linear (0, 0, 0, height); else pattern = cairo_pattern_create_linear (0, 0, width, 0); s1 = colors->bg[widget->state_type]; ge_shade_color(&s1, 0.95, &s2); ge_shade_color(&s1, 1.05, &s3); cairo_pattern_add_color_stop_rgb(pattern, 0, s2.r, s2.g, s2.b); cairo_pattern_add_color_stop_rgb(pattern, 1.0, s3.r, s3.g, s3.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); widget->style_functions->draw_top_left_highlight (cr, &s1, widget, 1, 1, width-2, height-2, radius, corners); ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius, corners); clearlooks_set_border_gradient (cr, &border, 1.2, (scrollbar->horizontal ? 0 : width), (scrollbar->horizontal ? height: 0)); cairo_stroke (cr); } static void clearlooks_inverted_draw_scrollbar_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, int x, int y, int width, int height) { if (scrollbar->junction & CL_JUNCTION_BEGIN) { if (scrollbar->horizontal) { x -= 1; width += 1; } else { y -= 1; height += 1; } } if (scrollbar->junction & CL_JUNCTION_END) { if (scrollbar->horizontal) width += 1; else height += 1; } if (!scrollbar->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); if (scrollbar->has_color) { const CairoColor *border = &colors->shade[8]; CairoColor fill = scrollbar->color; CairoColor hilight; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; if (widget->prelight) ge_shade_color (&fill, 1.1, &fill); cairo_set_line_width (cr, 1); ge_shade_color (&fill, 1.3, &hilight); ge_shade_color (&fill, 1.1, &shade1); ge_shade_color (&fill, 1.05, &shade2); ge_shade_color (&fill, 0.98, &shade3); pattern = cairo_pattern_create_linear (1, 1, 1, height-2); cairo_pattern_add_color_stop_rgb (pattern, 0, fill.r, fill.g, fill.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade3.r, shade3.g, shade3.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade1.r, shade1.g, shade1.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.5); ge_cairo_stroke_rectangle (cr, 1.5, 1.5, width-3, height-3); ge_cairo_set_color (cr, border); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); } else { CairoColor border; CairoColor s1, s2, s3; cairo_pattern_t *pattern; int bar_x, i; const CairoColor *dark = &colors->shade[4]; const CairoColor *light = &colors->shade[0]; ge_shade_color(&colors->shade[6], 1.05, &border); pattern = cairo_pattern_create_linear(1, 1, 1, height-1); s1 = colors->bg[widget->state_type]; ge_shade_color(&s1, 0.95, &s2); ge_shade_color(&s1, 1.05, &s3); cairo_pattern_add_color_stop_rgb(pattern, 0, s2.r, s2.g, s2.b); cairo_pattern_add_color_stop_rgb(pattern, 1.0, s3.r, s3.g, s3.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source(cr, pattern); cairo_fill(cr); cairo_pattern_destroy(pattern); widget->style_functions->draw_top_left_highlight (cr, &s2, widget, 1, 1, width-2, height-2, 0, widget->corners); clearlooks_set_border_gradient (cr, &border, 1.2, 0, height); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); /* draw handles */ cairo_set_line_width (cr, 1); bar_x = width/2 - 4; cairo_translate(cr, 0.5, 0.5); for (i=0; i<3; i++) { cairo_move_to (cr, bar_x, 4); cairo_line_to (cr, bar_x, height-5); ge_cairo_set_color (cr, dark); cairo_stroke (cr); cairo_move_to (cr, bar_x+1, 4); cairo_line_to (cr, bar_x+1, height-5); ge_cairo_set_color (cr, light); cairo_stroke (cr); bar_x += 3; } } } static void clearlooks_inverted_draw_selected_cell (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { CairoColor upper_color; CairoColor lower_color; CairoColor border; cairo_pattern_t *pattern; cairo_save (cr); cairo_translate (cr, x, y); if (params->focus) upper_color = colors->base[params->state_type]; else upper_color = colors->base[GTK_STATE_ACTIVE]; ge_shade_color(&upper_color, 0.9, &lower_color); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, lower_color.r, lower_color.g, lower_color.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, upper_color.r, upper_color.g, upper_color.b); cairo_set_source (cr, pattern); cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); cairo_pattern_destroy (pattern); ge_shade_color(&upper_color, 0.8, &border); cairo_move_to (cr, 0, 0.5); cairo_rel_line_to (cr, width, 0); cairo_move_to (cr, 0, height-0.5); cairo_rel_line_to (cr, width, 0); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_restore (cr); } void clearlooks_register_style_inverted (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants) { functions->draw_button = clearlooks_inverted_draw_button; functions->draw_slider = clearlooks_inverted_draw_slider; functions->draw_progressbar_fill = clearlooks_inverted_draw_progressbar_fill; functions->draw_menuitem = clearlooks_inverted_draw_menuitem; functions->draw_menubaritem = clearlooks_inverted_draw_menubaritem; functions->draw_tab = clearlooks_inverted_draw_tab; functions->draw_list_view_header = clearlooks_inverted_draw_list_view_header; functions->draw_scrollbar_stepper = clearlooks_inverted_draw_scrollbar_stepper; functions->draw_scrollbar_slider = clearlooks_inverted_draw_scrollbar_slider; functions->draw_selected_cell = clearlooks_inverted_draw_selected_cell; constants->topleft_highlight_shade = 1.3; constants->topleft_highlight_alpha = 0.7; } gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_draw_gummy.c0000644000175000017500000016417211446654310022062 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * This file defines the Clearlooks Gummy style * */ #include "clearlooks_draw.h" #include "clearlooks_style.h" #include "clearlooks_types.h" #include "support.h" #include #include /* Normal shadings */ #define SHADE_TOP 1.08 #define SHADE_CENTER_TOP 1.02 #define SHADE_BOTTOM 0.94 /* Listview */ #define LISTVIEW_SHADE_TOP 1.06 #define LISTVIEW_SHADE_CENTER_TOP 1.02 #define LISTVIEW_SHADE_BOTTOM 0.96 /* Toolbar */ #define TOOLBAR_SHADE_TOP 1.04 #define TOOLBAR_SHADE_CENTER_TOP 1.01 #define TOOLBAR_SHADE_BOTTOM 0.97 static void clearlooks_draw_gummy_gradient (cairo_t *cr, double x, double y, int width, int height, const CairoColor *color, gboolean disabled, gboolean radius, CairoCorners corners) { CairoColor fill; CairoColor shade1, shade2, shade3; cairo_pattern_t *pt; ge_shade_color (color, disabled? 1.04 : SHADE_TOP, &shade1); ge_shade_color (color, disabled? 1.01 : SHADE_CENTER_TOP, &shade2); ge_shade_color (color, disabled? 0.99 : 1.0, &fill); ge_shade_color (color, disabled? 0.96 : SHADE_BOTTOM, &shade3); pt = cairo_pattern_create_linear (x, y, x, y+height); cairo_pattern_add_color_stop_rgb (pt, 0.0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pt, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pt, 0.5, fill.r, fill.g, fill.b); cairo_pattern_add_color_stop_rgb (pt, 1.0, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pt); ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, corners); cairo_fill (cr); cairo_pattern_destroy (pt); } static void clearlooks_gummy_draw_highlight_and_shade (cairo_t *cr, const CairoColor *bg_color, const ShadowParameters *params, int width, int height, gdouble radius) { CairoColor shadow; CairoColor highlight; uint8 corners = params->corners; double x = 1.0; double y = 1.0; /* not really sure of shading ratios... we will think */ ge_shade_color (bg_color, 0.8, &shadow); ge_shade_color (bg_color, 1.2, &highlight); cairo_save (cr); /* Top/Left highlight */ if (corners & CR_CORNER_BOTTOMLEFT) cairo_move_to (cr, x, y+height-radius); else cairo_move_to (cr, x, y+height); ge_cairo_rounded_corner (cr, x, y, radius, corners & CR_CORNER_TOPLEFT); if (corners & CR_CORNER_TOPRIGHT) cairo_line_to (cr, x+width-radius, y); else cairo_line_to (cr, x+width, y); if (params->shadow & CL_SHADOW_OUT) cairo_set_source_rgba (cr, highlight.r, highlight.g, highlight.b, 0.5); else cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, 0.5); cairo_stroke (cr); /* Bottom/Right highlight -- this includes the corners */ cairo_move_to (cr, x+width-radius, y); /* topright and by radius to the left */ ge_cairo_rounded_corner (cr, x+width, y, radius, corners & CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, x+width, y+height, radius, corners & CR_CORNER_BOTTOMRIGHT); ge_cairo_rounded_corner (cr, x, y+height, radius, corners & CR_CORNER_BOTTOMLEFT); if (params->shadow & CL_SHADOW_OUT) cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, 0.5); else cairo_set_source_rgba (cr, highlight.r, highlight.g, highlight.b, 0.5); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_gummy_draw_button (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { double xoffset = 0, yoffset = 0; CairoColor fill = colors->bg[params->state_type]; CairoColor border_normal = colors->shade[6]; CairoColor border_disabled = colors->shade[4]; double radius; cairo_pattern_t *pattern; cairo_save (cr); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); if (params->xthickness >= 3) { xoffset = 1; yoffset = 1; } radius = MIN (params->radius, MIN ((width - 2.0 - 2*xoffset) / 2.0, (height - 2.0 - 2*yoffset) / 2.0)); if (params->xthickness >= 3 || params->ythickness >= 3) { if (params->enable_shadow && !params->active && !params->disabled && !params->is_default) { CairoColor shadow; radius = MIN (params->radius, MIN ((width - 2.0 - 2*xoffset) / 2.0 - 1.0, (height - 2.0 - 2*yoffset) / 2.0 - 1.0)); ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius+1, params->corners); ge_shade_color (¶ms->parentbg, 0.97, &shadow); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); ge_cairo_inner_rounded_rectangle (cr, 1, 1, width-1, height-1, radius+1, params->corners); ge_shade_color (¶ms->parentbg, 0.93, &shadow); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } if (params->is_default && !params->disabled) { CairoColor shadow = colors->spot[1]; radius = MIN (params->radius, MIN ((width - 2.0 - 2*xoffset) / 2.0 - 1.0, (height - 2.0 - 2*yoffset) / 2.0 - 1.0)); ge_cairo_inner_rounded_rectangle (cr, 0, 0, width, height, radius+1, params->corners); clearlooks_set_mixed_color (cr, ¶ms->parentbg, &shadow, 0.5); cairo_stroke (cr); } if (!(params->enable_shadow && !params->active && !params->disabled)) params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, width, height, params->radius+1, params->corners); } clearlooks_draw_gummy_gradient (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, height-(yoffset*2)-2, &fill, params->disabled, radius, params->corners); /* Pressed button shadow */ if (params->active) { CairoColor shadow; ge_shade_color (&fill, 0.92, &shadow); cairo_save (cr); ge_cairo_rounded_rectangle (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, height, radius, params->corners & (CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMLEFT)); cairo_clip (cr); cairo_rectangle (cr, xoffset+1, yoffset+1, width-(xoffset*2)-2, 3); pattern = cairo_pattern_create_linear (xoffset+1, yoffset+1, xoffset+1, yoffset+4); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.58); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_rectangle (cr, xoffset+1, yoffset+1, 3, height-(yoffset*2)-2); pattern = cairo_pattern_create_linear (xoffset+1, yoffset+1, xoffset+4, yoffset+1); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.58); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); } /* Border */ if (params->is_default) /* || (params->prelight && params->enable_shadow)) */ border_normal = colors->spot[2]; if (params->disabled) ge_cairo_set_color (cr, &border_disabled); else clearlooks_set_mixed_color (cr, &border_normal, &fill, 0.2); ge_cairo_rounded_rectangle (cr, xoffset + 0.5, yoffset + 0.5, width-(xoffset*2)-1, height-(yoffset*2)-1, radius, params->corners); cairo_stroke (cr); if (!params->active) { params->style_functions->draw_top_left_highlight (cr, &fill, params, 1+xoffset, 1+xoffset, width-(1+xoffset)*2, height-(1+xoffset)*2, radius, params->corners); } cairo_restore (cr); } static void clearlooks_gummy_draw_entry (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const FocusParameters *focus, int x, int y, int width, int height) { const CairoColor *base = &colors->base[params->state_type]; CairoColor border = colors->shade[params->disabled ? 4 : 6]; double radius = MIN (params->radius, MIN ((width - 4.0) / 2.0, (height - 4.0) / 2.0)); int xoffset, yoffset; if (params->focus) border = focus->color; cairo_save (cr); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); if (params->xthickness >= 3 && params->ythickness >= 3) { params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, width, height, radius+1, params->corners); xoffset = 1; yoffset = 1; } else { xoffset = 0; yoffset = 0; } /* Now fill the area we want to be base[NORMAL]. */ ge_cairo_rounded_rectangle (cr, xoffset + 1, yoffset + 1, width-2*(xoffset + 1), height-2*(yoffset + 1), MAX(0, radius-1), params->corners); ge_cairo_set_color (cr, base); cairo_fill (cr); /* Draw the inner shadow */ if (params->focus) { CairoColor focus_shadow; ge_shade_color (&border, 1.61, &focus_shadow); clearlooks_set_mixed_color (cr, base, &focus_shadow, 0.5); ge_cairo_inner_rounded_rectangle (cr, xoffset + 1, yoffset + 1, width-2*(xoffset + 1), height-2*(yoffset + 1), MAX(0, radius-1), params->corners); cairo_stroke (cr); } else { CairoColor shadow; ge_shade_color (&border, 0.92, &shadow); cairo_set_source_rgba (cr, shadow.r, shadow.g, shadow.b, params->disabled ? 0.09 : 0.18); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); cairo_move_to (cr, xoffset + 1.5, height-radius); cairo_arc (cr, xoffset + 1.5 + MAX(0, radius-1), yoffset + 1.5 + MAX(0, radius-1), MAX(0, radius-1), G_PI, 270*(G_PI/180)); cairo_line_to (cr, width-radius, yoffset + 1.5); cairo_stroke (cr); } ge_cairo_inner_rounded_rectangle (cr, xoffset, yoffset, width-2*xoffset, height-2*yoffset, radius, params->corners); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_restore (cr); } static void clearlooks_gummy_draw_progressbar_trough (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[7]; CairoColor shadow; cairo_pattern_t *pattern; double radius = MIN (params->radius, MIN ((height-2.0) / 2.0, (width-2.0) / 2.0)); cairo_save (cr); cairo_set_line_width (cr, 1.0); /* Create trough box */ ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners); ge_cairo_set_color (cr, &colors->shade[2]); cairo_fill (cr); /* Draw border */ ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width-1, height-1, radius, params->corners); clearlooks_set_mixed_color (cr, border, &colors->shade[2], 0.3); cairo_stroke (cr); /* clip the corners of the shadows */ ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners); cairo_clip (cr); ge_shade_color (border, 0.92, &shadow); /* Top shadow */ cairo_rectangle (cr, x+1, y+1, width-2, 4); pattern = cairo_pattern_create_linear (x, y, x, y+4); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.3); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Left shadow */ cairo_rectangle (cr, x+1, y+1, 4, height-2); pattern = cairo_pattern_create_linear (x, y, x+4, y); cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.3); cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_restore (cr); } static void clearlooks_gummy_draw_progressbar_fill (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ProgressBarParameters *progressbar, int x, int y, int width, int height, gint offset) { boolean is_horizontal = progressbar->orientation < 2; double tile_pos = 0; double stroke_width; double radius; int x_step; cairo_pattern_t *pattern; CairoColor shade1, shade2, shade3; CairoColor border; CairoColor shadow; radius = MAX (0, params->radius - params->xthickness); cairo_save (cr); if (!is_horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); if ((progressbar->orientation == CL_ORIENTATION_RIGHT_TO_LEFT) || (progressbar->orientation == CL_ORIENTATION_BOTTOM_TO_TOP)) ge_cairo_mirror (cr, CR_MIRROR_HORIZONTAL, &x, &y, &width, &height); /* Clamp the radius so that the _height_ fits ... */ radius = MIN (radius, height / 2.0); stroke_width = height*2; x_step = (((float)stroke_width/10)*offset); /* This looks weird ... */ cairo_translate (cr, x, y); cairo_save (cr); /* This is kind of nasty ... Clip twice from each side in case the length * of the fill is smaller than twice the radius. */ ge_cairo_rounded_rectangle (cr, 0, 0, width + radius, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius, 0, width + radius, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); /* Draw the background gradient */ ge_shade_color (&colors->spot[1], SHADE_TOP, &shade1); ge_shade_color (&colors->spot[1], SHADE_CENTER_TOP, &shade2); ge_shade_color (&colors->spot[1], SHADE_BOTTOM, &shade3); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, colors->spot[1].r, colors->spot[1].g, colors->spot[1].b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_paint (cr); cairo_pattern_destroy (pattern); /* Draw the strokes */ while (stroke_width > 0 && tile_pos <= width+x_step) { cairo_move_to (cr, stroke_width/2-x_step, 0); cairo_line_to (cr, stroke_width-x_step, 0); cairo_line_to (cr, stroke_width/2-x_step, height); cairo_line_to (cr, -x_step, height); cairo_translate (cr, stroke_width, 0); tile_pos += stroke_width; } cairo_set_source_rgba (cr, colors->spot[2].r, colors->spot[2].g, colors->spot[2].b, 0.15); cairo_fill (cr); cairo_restore (cr); /* rounded clip region */ /* inner highlight border * This is again kinda ugly. Draw once from each side, clipping away the other. */ cairo_set_source_rgba (cr, colors->spot[0].r, colors->spot[0].g, colors->spot[0].b, 0.2); /* left side */ cairo_save (cr); cairo_rectangle (cr, 0, 0, width / 2, height); cairo_clip (cr); if (progressbar->pulsing) ge_cairo_rounded_rectangle (cr, 1.5, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); else ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_stroke (cr); cairo_restore (cr); /* clip */ /* right side */ cairo_save (cr); cairo_rectangle (cr, width / 2, 0, (width+1) / 2, height); cairo_clip (cr); if (progressbar->value < 1.0 || progressbar->pulsing) ge_cairo_rounded_rectangle (cr, -1.5 - radius, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); else ge_cairo_rounded_rectangle (cr, -0.5 - radius, 0.5, width + radius, height - 1, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_stroke (cr); cairo_restore (cr); /* clip */ /* Draw the dark lines and the shadow */ cairo_save (cr); /* Again, this weird clip area. */ ge_cairo_rounded_rectangle (cr, -1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT); cairo_clip (cr); ge_cairo_rounded_rectangle (cr, -radius - 1.0, 0, width + radius + 2.0, height, radius, CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT); cairo_clip (cr); border = colors->spot[2]; border.a = 0.6; ge_shade_color (&colors->shade[7], 0.92, &shadow); shadow.a = 0.2; if (progressbar->pulsing) { /* At the beginning of the bar. */ cairo_move_to (cr, 0.5 + radius, height + 0.5); ge_cairo_rounded_corner (cr, 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMLEFT); ge_cairo_rounded_corner (cr, 0.5, -0.5, radius + 1, CR_CORNER_TOPLEFT); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_move_to (cr, -0.5 + radius, height + 0.5); ge_cairo_rounded_corner (cr, -0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMLEFT); ge_cairo_rounded_corner (cr, -0.5, -0.5, radius + 1, CR_CORNER_TOPLEFT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } if (progressbar->value < 1.0 || progressbar->pulsing) { /* At the end of the bar. */ cairo_move_to (cr, width - 0.5 - radius, -0.5); ge_cairo_rounded_corner (cr, width - 0.5, -0.5, radius + 1, CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, width - 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMRIGHT); ge_cairo_set_color (cr, &border); cairo_stroke (cr); cairo_move_to (cr, width + 0.5 - radius, -0.5); ge_cairo_rounded_corner (cr, width + 0.5, -0.5, radius + 1, CR_CORNER_TOPRIGHT); ge_cairo_rounded_corner (cr, width + 0.5, height + 0.5, radius + 1, CR_CORNER_BOTTOMRIGHT); ge_cairo_set_color (cr, &shadow); cairo_stroke (cr); } cairo_restore (cr); cairo_restore (cr); /* rotation, mirroring */ } static void clearlooks_gummy_scale_draw_gradient (cairo_t *cr, const CairoColor *fill, const CairoColor *border, int x, int y, int width, int height, gboolean horizontal, gboolean in) { cairo_pattern_t *pattern; CairoColor f1, f2; ge_shade_color (fill, in? 0.95 : 1.1, &f1); ge_shade_color (fill, in? 1.05 : 0.9, &f2); pattern = cairo_pattern_create_linear (0.5, 0.5, horizontal ? 0.5 : width + 1.0, horizontal ? height + 1.0 : 0.5); cairo_pattern_add_color_stop_rgba (pattern, 0.0, f1.r, f1.g, f1.b, f1.a); cairo_pattern_add_color_stop_rgba (pattern, 1.0, f2.r, f2.g, f2.b, f2.a); cairo_rectangle (cr, x, y, width, height); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); clearlooks_set_mixed_color (cr, border, fill, 0.2); ge_cairo_inner_rectangle (cr, x, y, width, height); cairo_stroke (cr); } #define TROUGH_SIZE 7 static void clearlooks_gummy_draw_scale_trough (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const SliderParameters *slider, int x, int y, int width, int height) { int trough_width, trough_height; double translate_x, translate_y; CairoColor fill, border; gboolean in; cairo_save (cr); if (slider->horizontal) { trough_width = width; trough_height = TROUGH_SIZE; translate_x = x; translate_y = y + (height/2) - (TROUGH_SIZE/2); } else { trough_width = TROUGH_SIZE; trough_height = height; translate_x = x + (width/2) - (TROUGH_SIZE/2); translate_y = y; } cairo_set_line_width (cr, 1.0); cairo_translate (cr, translate_x, translate_y); if (!slider->fill_level) params->style_functions->draw_inset (cr, ¶ms->parentbg, 0, 0, trough_width, trough_height, 0, 0); if (!slider->lower && !slider->fill_level) { ge_shade_color (¶ms->parentbg, 0.896, &fill); border = colors->shade[6]; in = TRUE; } else if (!slider->fill_level) { fill = colors->spot[1]; border = colors->spot[2]; in = FALSE; } else { fill = colors->spot[1]; border = colors->spot[2]; fill.a = 0.25; border.a = 0.25; in = FALSE; } clearlooks_gummy_scale_draw_gradient (cr, &fill, &border, 1, 1, trough_width - 2, trough_height - 2, slider->horizontal, in); cairo_restore (cr); } static void clearlooks_gummy_draw_tab (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const TabParameters *tab, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[5]; const CairoColor *stripe_fill = &colors->spot[1]; const CairoColor *stripe_border = &colors->spot[2]; const CairoColor *fill; cairo_pattern_t *pattern = NULL; double radius; double stripe_size = 2.0; double stripe_fill_size; double stripe_border_pos; gboolean horizontal = FALSE; radius = MIN (params->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); /* Set clip */ cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); cairo_new_path (cr); /* Translate and set line width */ cairo_set_line_width (cr, 1.0); cairo_translate (cr, x+0.5, y+0.5); /* Make the tabs slightly bigger than they should be, to create a gap */ /* And calculate the strip size too, while you're at it */ if (tab->gap_side == CL_GAP_TOP || tab->gap_side == CL_GAP_BOTTOM) { if (params->ythickness == 3) stripe_size = 3.0; height += 3.0; stripe_fill_size = (tab->gap_side == CL_GAP_TOP ? stripe_size/height : stripe_size/(height-2)); stripe_border_pos = (tab->gap_side == CL_GAP_TOP ? (stripe_size+1.0)/height : (stripe_size+1.0)/(height-2)); horizontal = TRUE; if (tab->gap_side == CL_GAP_TOP) cairo_translate (cr, 0.0, -3.0); /* gap at the other side */ } else { if (params->xthickness == 3) stripe_size = 3.0; width += 3.0; stripe_fill_size = (tab->gap_side == CL_GAP_LEFT ? stripe_size/width : stripe_size/(width-2)); stripe_border_pos = (tab->gap_side == CL_GAP_LEFT ? (stripe_size+1.0)/width : (stripe_size+1.0)/(width-2)); if (tab->gap_side == CL_GAP_LEFT) cairo_translate (cr, -3.0, 0.0); /* gap at the other side */ } /* Set the fill color */ fill = &colors->bg[params->state_type]; /* Set tab shape */ ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); /* Draw fill */ ge_cairo_set_color (cr, fill); cairo_fill (cr); /* Draw highlight */ if (!params->active) { ShadowParameters shadow; shadow.shadow = CL_SHADOW_OUT; shadow.corners = params->corners; clearlooks_gummy_draw_highlight_and_shade (cr, &colors->bg[0], &shadow, width, height, radius); } if (params->active) { CairoColor hilight; CairoColor shade1, shade2, shade3; ge_shade_color (fill, 1.15, &hilight); ge_shade_color (fill, SHADE_TOP, &shade1); ge_shade_color (fill, SHADE_CENTER_TOP, &shade2); ge_shade_color (fill, SHADE_BOTTOM, &shade3); switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0, height-2, 0, 0); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0, 1, 0, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 0, 1, 0); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (1, 0, width-2, 0); break; } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); cairo_pattern_add_color_stop_rgb (pattern, 0.0, hilight.r, hilight.g, hilight.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0/(horizontal ? height : width), hilight.r, hilight.g, hilight.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0/(horizontal ? height : width), shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.45, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.45, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } else { CairoColor shade1; ge_shade_color (fill, SHADE_TOP, &shade1); switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (0, height-2, 0, 0); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (0, 0, 0, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 0, 0, 0); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (0, 0, width, 0); break; } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); cairo_pattern_add_color_stop_rgba (pattern, 0.0, stripe_fill->r, stripe_fill->g, stripe_fill->b, 0.6); /* cairo_pattern_add_color_stop_rgba (pattern, 1.0/(horizontal ? height : width), stripe_fill->r, stripe_fill->g, stripe_fill->b, 0.34); cairo_pattern_add_color_stop_rgba (pattern, 1.0/(horizontal ? height : width), stripe_fill->r, stripe_fill->g, stripe_fill->b, 0.5); */ cairo_pattern_add_color_stop_rgb (pattern, stripe_fill_size, stripe_fill->r, stripe_fill->g, stripe_fill->b); cairo_pattern_add_color_stop_rgba (pattern, stripe_fill_size, stripe_border->r, stripe_border->g, stripe_border->b, 0.72); cairo_pattern_add_color_stop_rgba (pattern, stripe_border_pos, stripe_border->r, stripe_border->g, stripe_border->b, 0.72); cairo_pattern_add_color_stop_rgb (pattern, stripe_border_pos, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgba (pattern, 0.8, fill->r, fill->g, fill->b, 0.0); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); } ge_cairo_rounded_rectangle (cr, 0, 0, width-1, height-1, radius, params->corners); if (params->active) { ge_cairo_set_color (cr, border); cairo_stroke (cr); } else { switch (tab->gap_side) { case CL_GAP_TOP: pattern = cairo_pattern_create_linear (2, height-2, 2, 2); break; case CL_GAP_BOTTOM: pattern = cairo_pattern_create_linear (2, 2, 2, height); break; case CL_GAP_LEFT: pattern = cairo_pattern_create_linear (width-2, 2, 2, 2); break; case CL_GAP_RIGHT: pattern = cairo_pattern_create_linear (2, 2, width, 2); break; } cairo_pattern_add_color_stop_rgb (pattern, 0.0, stripe_border->r, stripe_border->g, stripe_border->b); cairo_pattern_add_color_stop_rgb (pattern, 0.8, border->r, border->g, border->b); cairo_set_source (cr, pattern); cairo_stroke (cr); cairo_pattern_destroy (pattern); } /* In current GTK+ focus and active cannot happen together, but we are robust against it. */ if (params->focus && !params->active) { CairoColor focus_fill = tab->focus.color; CairoColor fill_shade1, fill_shade2, fill_shade3; CairoColor focus_border; double focus_inset_x = ((tab->gap_side == CL_GAP_TOP || tab->gap_side == CL_GAP_BOTTOM) ? 4 : stripe_size + 3); double focus_inset_y = ((tab->gap_side == CL_GAP_TOP || tab->gap_side == CL_GAP_BOTTOM) ? stripe_size + 3 : 4); double border_alpha = 0.54; double fill_alpha = 0.17; ge_shade_color (&focus_fill, 0.65, &focus_border); ge_shade_color (&focus_fill, 1.18, &fill_shade1); ge_shade_color (&focus_fill, 1.02, &fill_shade2); ge_shade_color (&focus_fill, 0.84, &fill_shade3); ge_cairo_rounded_rectangle (cr, focus_inset_x, focus_inset_y, width-focus_inset_x*2-1, height-focus_inset_y*2-1, radius-1, CR_CORNER_ALL); pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgba (pattern, 0.0, fill_shade1.r, fill_shade1.g, fill_shade1.b, fill_alpha); cairo_pattern_add_color_stop_rgba (pattern, 0.5, fill_shade2.r, fill_shade2.g, fill_shade2.b, fill_alpha); cairo_pattern_add_color_stop_rgba (pattern, 0.5, focus_fill.r, focus_fill.g, focus_fill.b, fill_alpha); cairo_pattern_add_color_stop_rgba (pattern, 1.0, fill_shade3.r, fill_shade3.g, fill_shade3.b, fill_alpha); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); clearlooks_set_mixed_color (cr, ¶ms->parentbg, &focus_border, border_alpha); cairo_stroke (cr); } } static void clearlooks_gummy_draw_separator (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const SeparatorParameters *separator, int x, int y, int width, int height) { CairoColor color = colors->shade[3]; CairoColor hilight; ge_shade_color (&color, 1.3, &hilight); cairo_save (cr); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); if (separator->horizontal) { cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y+0.5); cairo_move_to (cr, 0.0, 0.0); cairo_line_to (cr, width, 0.0); ge_cairo_set_color (cr, &color); cairo_stroke (cr); cairo_move_to (cr, 0.0, 1.0); cairo_line_to (cr, width, 1.0); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); } else { cairo_set_line_width (cr, 1.0); cairo_translate (cr, x+0.5, y); cairo_move_to (cr, 0.0, 0.0); cairo_line_to (cr, 0.0, height); ge_cairo_set_color (cr, &color); cairo_stroke (cr); cairo_move_to (cr, 1.0, 0.0); cairo_line_to (cr, 1.0, height); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); } cairo_restore (cr); } static void clearlooks_gummy_draw_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *border = &colors->shade[7]; CairoColor fill; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; int bar_x, i; int shift_x; cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); ge_shade_color (&colors->bg[params->state_type], 1.0, &fill); if (params->prelight) ge_shade_color (&fill, 1.04, &fill); ge_shade_color (&fill, SHADE_TOP, &shade1); ge_shade_color (&fill, SHADE_CENTER_TOP, &shade2); ge_shade_color (&fill, SHADE_BOTTOM, &shade3); pattern = cairo_pattern_create_linear (1, 1, 1, height-2); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill.r, fill.g, fill.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade3.r, shade3.g, shade3.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); clearlooks_set_mixed_color (cr, border, &fill, 0.2); if (params->prelight) ge_cairo_set_color (cr, &colors->spot[2]); ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, 2.5, params->corners); cairo_stroke (cr); /* Handle */ shift_x = (width%2 == 0 ? 1 : 0); bar_x = width/2-3+shift_x; cairo_translate (cr, 0.5, 0.5); ge_cairo_set_color (cr, border); for (i=0; i<3-shift_x; i++) { cairo_move_to (cr, bar_x, 4); cairo_line_to (cr, bar_x, height-5); bar_x += 3; } cairo_stroke (cr); params->style_functions->draw_top_left_highlight (cr, &fill, params, 1, 1, width-2, height-2, 2.0, params->corners); } static void clearlooks_gummy_draw_slider_button (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const SliderParameters *slider, int x, int y, int width, int height) { double radius = MIN (params->radius, MIN ((width - 1.0) / 2.0, (height - 1.0) / 2.0)); cairo_set_line_width (cr, 1.0); if (!slider->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); params->style_functions->draw_shadow (cr, colors, radius, width, height); params->style_functions->draw_slider (cr, colors, params, 1, 1, width-2, height-2); } static void clearlooks_gummy_draw_scrollbar_stepper (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, const ScrollBarStepperParameters *stepper, int x, int y, int width, int height) { CairoCorners corners = CR_CORNER_NONE; const CairoColor *border = &colors->shade[scrollbar->has_color ? 7 : 6]; CairoColor fill; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; double radius = MIN (widget->radius, MIN ((width - 2.0) / 2.0, (height - 2.0) / 2.0)); if (scrollbar->horizontal) { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { x -= 1; width += 1; } else if (stepper->stepper == CL_STEPPER_C) { width += 1; } } else { if (stepper->stepper == CL_STEPPER_A) corners = CR_CORNER_TOPLEFT | CR_CORNER_TOPRIGHT; else if (stepper->stepper == CL_STEPPER_D) corners = CR_CORNER_BOTTOMLEFT | CR_CORNER_BOTTOMRIGHT; if (stepper->stepper == CL_STEPPER_B) { y -= 1; height += 1; } else if (stepper->stepper == CL_STEPPER_C) { height += 1; } } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); ge_cairo_rounded_rectangle (cr, 1, 1, width-2, height-2, radius, corners); if (scrollbar->horizontal) pattern = cairo_pattern_create_linear (0, 0, 0, height); else pattern = cairo_pattern_create_linear (0, 0, width, 0); fill = colors->bg[widget->state_type]; ge_shade_color (&fill, SHADE_TOP, &shade1); ge_shade_color (&fill, SHADE_CENTER_TOP, &shade2); ge_shade_color (&fill, SHADE_BOTTOM, &shade3); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill.r, fill.g, fill.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); widget->style_functions->draw_top_left_highlight (cr, &fill, widget, 1, 1, width - 2, height - 2, radius, corners); ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, radius, corners); clearlooks_set_mixed_color (cr, border, &fill, 0.2); cairo_stroke (cr); } static void clearlooks_gummy_draw_scrollbar_slider (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, int x, int y, int width, int height) { CairoColor fill = scrollbar->color; CairoColor border, handles; CairoColor hilight; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; int bar_x, i; gdouble hue_scroll, brightness_scroll, saturation_scroll; gdouble hue_bg, brightness_bg, saturation_bg; ge_hsb_from_color (&fill, &hue_scroll, &saturation_scroll, &brightness_scroll); ge_hsb_from_color (&colors->bg[0], &hue_bg, &saturation_bg, &brightness_bg); /* Set the right color for border and handles */ if ((fabs(saturation_scroll - saturation_bg) < 0.30) && (fabs(brightness_scroll - brightness_bg) < 0.20)) ge_shade_color (&fill, 0.475, &border); else ge_shade_color (&fill, 0.575, &border); /* The following lines increase contrast when the HUE is between 25 and 195, */ /* fixing a LOT of colorschemes! */ if (scrollbar->has_color && (hue_scroll < 195) && (hue_scroll > 25)) ge_shade_color (&border, 0.85, &border); handles = border; ge_mix_color (&border, &fill, scrollbar->has_color? 0.3 : 0.2, &border); if (scrollbar->junction & CL_JUNCTION_BEGIN) { if (scrollbar->horizontal) { x -= 1; width += 1; } else { y -= 1; height += 1; } } if (scrollbar->junction & CL_JUNCTION_END) { if (scrollbar->horizontal) width += 1; else height += 1; } if (!scrollbar->horizontal) ge_cairo_exchange_axis (cr, &x, &y, &width, &height); cairo_translate (cr, x, y); if (widget->prelight) ge_shade_color (&fill, 1.04, &fill); cairo_set_line_width (cr, 1); ge_shade_color (&fill, widget->style_constants->topleft_highlight_shade, &hilight); ge_shade_color (&fill, SHADE_TOP, &shade1); ge_shade_color (&fill, SHADE_CENTER_TOP, &shade2); ge_shade_color (&fill, SHADE_BOTTOM, &shade3); pattern = cairo_pattern_create_linear (1, 1, 1, height-2); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill.r, fill.g, fill.b); cairo_pattern_add_color_stop_rgb (pattern, 1, shade3.r, shade3.g, shade3.b); cairo_rectangle (cr, 1, 1, width-2, height-2); cairo_set_source (cr, pattern); cairo_fill (cr); cairo_pattern_destroy (pattern); if (scrollbar->has_color) { cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, 0.2); ge_cairo_stroke_rectangle (cr, 1.5, 1.5, width-3, height-3); } else { cairo_move_to (cr, 1.5, height-1.5); cairo_line_to (cr, 1.5, 1.5); cairo_line_to (cr, width-1.5, 1.5); cairo_set_source_rgba (cr, hilight.r, hilight.g, hilight.b, widget->style_constants->topleft_highlight_alpha); cairo_stroke (cr); } ge_cairo_set_color (cr, &border); ge_cairo_stroke_rectangle (cr, 0.5, 0.5, width-1, height-1); /* Handle */ bar_x = width/2 - 4; cairo_translate(cr, 0.5, 0.5); ge_cairo_set_color (cr, &handles); for (i=0; i<3; i++) { cairo_move_to (cr, bar_x, 5); cairo_line_to (cr, bar_x, height-6); bar_x += 3; } cairo_stroke (cr); } static void clearlooks_gummy_draw_list_view_header (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, const ListViewHeaderParameters *header, int x, int y, int width, int height) { /* CairoColor *border = !params->prelight? (CairoColor*)&colors->shade[4] : (CairoColor*)&colors->spot[1]; */ const CairoColor *border = &colors->shade[4]; const CairoColor *fill = &colors->bg[params->state_type]; CairoColor hilight; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; ge_shade_color (fill, 1.11, &hilight); ge_shade_color (fill, LISTVIEW_SHADE_TOP, &shade1); ge_shade_color (fill, LISTVIEW_SHADE_CENTER_TOP, &shade2); ge_shade_color (fill, LISTVIEW_SHADE_BOTTOM, &shade3); cairo_translate (cr, x, y); cairo_set_line_width (cr, 1.0); /* Draw the fill */ pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0-1.0/height, shade3.r, shade3.g, shade3.b); cairo_pattern_add_color_stop_rgb (pattern, 1.0-1.0/height, border->r, border->g, border->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, border->r, border->g, border->b); cairo_set_source (cr, pattern); cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); cairo_pattern_destroy (pattern); /* Draw highlight */ if (header->order & CL_ORDER_FIRST) { cairo_move_to (cr, 0.5, height-1.5); cairo_line_to (cr, 0.5, 0.5); } else cairo_move_to (cr, 0.0, 0.5); cairo_line_to (cr, width, 0.5); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); /* Draw resize grip */ if ((params->ltr && !(header->order & CL_ORDER_LAST)) || (!params->ltr && !(header->order & CL_ORDER_FIRST)) || header->resizable) { SeparatorParameters separator; separator.horizontal = FALSE; if (params->ltr) params->style_functions->draw_separator (cr, colors, params, &separator, width-1.5, 4.0, 2, height-8.0); else params->style_functions->draw_separator (cr, colors, params, &separator, 1.5, 4.0, 2, height-8.0); } } static void clearlooks_gummy_draw_toolbar (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ToolbarParameters *toolbar, int x, int y, int width, int height) { const CairoColor *fill = &colors->bg[GTK_STATE_NORMAL]; const CairoColor *dark = &colors->shade[3]; CairoColor light; ge_shade_color (fill, toolbar->style == 1 ? 1.1 : 1.05, &light); cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y); if (toolbar->style == 1) /* Enable Extra features */ { cairo_pattern_t *pattern; CairoColor shade1, shade2, shade3; ge_shade_color (fill, TOOLBAR_SHADE_TOP, &shade1); ge_shade_color (fill, TOOLBAR_SHADE_CENTER_TOP, &shade2); ge_shade_color (fill, TOOLBAR_SHADE_BOTTOM, &shade3); /* Draw the fill */ pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgb (pattern, 0.0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_rectangle (cr, 0, 0, width, height); cairo_fill (cr); cairo_pattern_destroy (pattern); } else /* Flat */ { ge_cairo_set_color (cr, fill); cairo_paint (cr); } if (!toolbar->topmost) { /* Draw highlight */ cairo_move_to (cr, 0, 0.5); cairo_line_to (cr, width-0.5, 0.5); ge_cairo_set_color (cr, &light); cairo_stroke (cr); } /* Draw shadow */ cairo_move_to (cr, 0, height-0.5); cairo_line_to (cr, width-0.5, height-0.5); ge_cairo_set_color (cr, dark); cairo_stroke (cr); } static void clearlooks_gummy_draw_menuitem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *fill = &colors->spot[1]; const CairoColor *border = &colors->spot[2]; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; ge_shade_color (fill, SHADE_TOP, &shade1); ge_shade_color (fill, SHADE_CENTER_TOP, &shade2); ge_shade_color (fill, SHADE_BOTTOM, &shade3); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width - 1, height - 1, params->radius, params->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, border); cairo_stroke (cr); } static void clearlooks_gummy_draw_menubaritem (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { const CairoColor *fill = &colors->spot[1]; const CairoColor *border = &colors->spot[2]; CairoColor shade1, shade2, shade3; cairo_pattern_t *pattern; ge_shade_color (fill, SHADE_TOP, &shade1); ge_shade_color (fill, SHADE_CENTER_TOP, &shade2); ge_shade_color (fill, SHADE_BOTTOM, &shade3); cairo_set_line_width (cr, 1.0); ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width - 1, height - 1, params->radius, params->corners); pattern = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b); cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r, fill->g, fill->b); cairo_pattern_add_color_stop_rgb (pattern, 1, shade3.r, shade3.g, shade3.b); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); ge_cairo_set_color (cr, border); cairo_stroke (cr); } static void clearlooks_gummy_draw_selected_cell (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { CairoColor color; if (params->focus) color = colors->base[params->state_type]; else color = colors->base[GTK_STATE_ACTIVE]; clearlooks_draw_gummy_gradient (cr, x, y, width, height, &color, params->disabled, 0.0, CR_CORNER_NONE); } static void clearlooks_gummy_draw_statusbar (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height) { const CairoColor *dark = &colors->shade[3]; CairoColor hilight; ge_shade_color (dark, 1.3, &hilight); cairo_set_line_width (cr, 1); cairo_translate (cr, x, y+0.5); cairo_move_to (cr, 0, 0); cairo_line_to (cr, width, 0); ge_cairo_set_color (cr, dark); cairo_stroke (cr); cairo_translate (cr, 0, 1); cairo_move_to (cr, 0, 0); cairo_line_to (cr, width, 0); ge_cairo_set_color (cr, &hilight); cairo_stroke (cr); } static void clearlooks_gummy_draw_radiobutton (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height) { const CairoColor *border; const CairoColor *dot; CairoColor shadow; CairoColor highlight; cairo_pattern_t *pt; gboolean inconsistent; gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN); gdouble w, h, cx, cy, radius; w = (gdouble) width; h = (gdouble) height; cx = width / 2.0; cy = height / 2.0; radius = MIN (width, height) / 2.0; inconsistent = (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN); draw_bullet |= inconsistent; if (widget->disabled) { border = &colors->shade[5]; dot = &colors->shade[6]; } else { if (widget->prelight) border = &colors->spot[2]; else border = &colors->shade[6]; dot = &colors->text[0]; } ge_shade_color (&widget->parentbg, 0.9, &shadow); ge_shade_color (&widget->parentbg, 1.1, &highlight); pt = cairo_pattern_create_linear (0, 0, radius * 2.0, radius * 2.0); cairo_pattern_add_color_stop_rgb (pt, 0.0, shadow.r, shadow.b, shadow.g); cairo_pattern_add_color_stop_rgba (pt, 0.5, shadow.r, shadow.b, shadow.g, 0.5); cairo_pattern_add_color_stop_rgba (pt, 0.5, highlight.r, highlight.g, highlight.b, 0.5); cairo_pattern_add_color_stop_rgb (pt, 1.0, highlight.r, highlight.g, highlight.b); cairo_translate (cr, x, y); cairo_set_line_width (cr, MAX (1.0, floor (radius/3))); cairo_arc (cr, ceil (cx), ceil (cy), floor (radius - 0.1), 0, G_PI*2); cairo_set_source (cr, pt); cairo_stroke (cr); cairo_pattern_destroy (pt); cairo_set_line_width (cr, MAX (1.0, floor (radius/6))); cairo_arc (cr, ceil (cx), ceil (cy), MAX (1.0, ceil (radius) - 1.5), 0, G_PI*2); if (!widget->disabled) { if (widget->prelight) clearlooks_set_mixed_color (cr, &colors->base[0], &colors->spot[1], 0.5); else ge_cairo_set_color (cr, &colors->base[0]); cairo_fill_preserve (cr); } ge_cairo_set_color (cr, border); cairo_stroke (cr); if (draw_bullet) { if (inconsistent) { gdouble line_width = floor (radius * 2 / 3); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_width (cr, line_width); cairo_move_to (cr, ceil (cx - radius/3.0 - line_width) + line_width, ceil (cy - line_width) + line_width); cairo_line_to (cr, floor (cx + radius/3.0 + line_width) - line_width, ceil (cy - line_width) + line_width); ge_cairo_set_color (cr, dot); cairo_stroke (cr); } else { cairo_arc (cr, ceil (cx), ceil (cy), floor (radius/2.0), 0, G_PI*2); ge_cairo_set_color (cr, dot); cairo_fill (cr); cairo_arc (cr, floor (cx - radius/10.0), floor (cy - radius/10.0), floor (radius/6.0), 0, G_PI*2); cairo_set_source_rgba (cr, highlight.r, highlight.g, highlight.b, 0.5); cairo_fill (cr); } } } static void clearlooks_gummy_draw_checkbox (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height) { const CairoColor *border; const CairoColor *dot; gboolean inconsistent = FALSE; gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN); inconsistent = (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN); draw_bullet |= inconsistent; if (widget->disabled) { border = &colors->shade[5]; dot = &colors->shade[6]; } else { if (widget->prelight) border = &colors->spot[2]; else border = &colors->shade[6]; dot = &colors->text[GTK_STATE_NORMAL]; } cairo_translate (cr, x, y); cairo_set_line_width (cr, 1); if (widget->xthickness >= 3 && widget->ythickness >= 3) { widget->style_functions->draw_inset (cr, &widget->parentbg, 0, 0, width, height, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); /* Draw the rectangle for the checkbox itself */ ge_cairo_rounded_rectangle (cr, 1.5, 1.5, width-3, height-3, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); } else { /* Draw the rectangle for the checkbox itself */ ge_cairo_rounded_rectangle (cr, 0.5, 0.5, width-1, height-1, (widget->radius > 0)? 1 : 0, CR_CORNER_ALL); } if (!widget->disabled) { if (widget->prelight) clearlooks_set_mixed_color (cr, &colors->base[0], &colors->spot[1], 0.5); else ge_cairo_set_color (cr, &colors->base[0]); cairo_fill_preserve (cr); } ge_cairo_set_color (cr, border); cairo_stroke (cr); if (draw_bullet) { if (inconsistent) /* Inconsistent */ { cairo_set_line_width (cr, 2.0); cairo_move_to (cr, 3, height*0.5); cairo_line_to (cr, width-3, height*0.5); } else { cairo_set_line_width (cr, 1.7); cairo_move_to (cr, 0.5 + (width*0.2), (height*0.5)); cairo_line_to (cr, 0.5 + (width*0.4), (height*0.7)); cairo_curve_to (cr, 0.5 + (width*0.4), (height*0.7), 0.5 + (width*0.5), (height*0.4), 0.5 + (width*0.70), (height*0.25)); } ge_cairo_set_color (cr, dot); cairo_stroke (cr); } } static void clearlooks_gummy_draw_icon_view_item (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *params, int x, int y, int width, int height) { CairoColor color; gfloat radius; if (params->focus) color = colors->base[params->state_type]; else color = colors->base[GTK_STATE_ACTIVE]; radius = MIN (width / 2, params->radius); radius = MIN (height / 2, radius); clearlooks_draw_gummy_gradient (cr, x, y, width, height, &color, params->disabled, params->radius, CR_CORNER_ALL); } static void clearlooks_gummy_draw_focus (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const FocusParameters *focus, int x, int y, int width, int height) { CairoColor fill = focus->color; CairoColor fill_shade1, fill_shade2, fill_shade3; CairoColor border; CairoColor parentbg = widget->parentbg; /* Default values */ double xoffset = 1.5; double yoffset = 1.5; double radius = widget->radius-1.0; double border_alpha = 0.64; double fill_alpha = 0.18; double shadow_alpha = 0.5; boolean focus_fill = TRUE; boolean focus_border = TRUE; boolean focus_shadow = FALSE; ge_shade_color (&fill, 0.65, &border); ge_shade_color (&fill, 1.18, &fill_shade1); ge_shade_color (&fill, 1.02, &fill_shade2); ge_shade_color (&fill, 0.84, &fill_shade3); /* Do some useful things to adjust focus */ switch (focus->type) { case CL_FOCUS_BUTTON: xoffset = -1.5-(focus->padding); yoffset = -1.5-(focus->padding); radius++; border_alpha = 0.9; fill_alpha = 0.12; if (!widget->active) focus_shadow = TRUE; break; case CL_FOCUS_BUTTON_FLAT: xoffset = -1.5-(focus->padding); yoffset = -1.5-(focus->padding); radius++; if (widget->active || widget->prelight) { border_alpha = 0.9; fill_alpha = 0.12; if (!widget->active) focus_shadow = TRUE; } break; case CL_FOCUS_LABEL: xoffset = 0.5; yoffset = 0.5; break; case CL_FOCUS_TREEVIEW: parentbg = colors->base[widget->state_type]; xoffset = -1.5; yoffset = -1.5; fill_alpha = 0.08; focus_border = FALSE; break; case CL_FOCUS_TREEVIEW_DND: parentbg = colors->base[widget->state_type]; break; case CL_FOCUS_TREEVIEW_HEADER: cairo_translate (cr, -1, 0); break; case CL_FOCUS_TREEVIEW_ROW: parentbg = colors->base[widget->state_type]; xoffset = -2.5; /* hack to hide vertical lines */ yoffset = 0.5; radius = CLAMP (radius, 0.0, 2.0); border_alpha = 0.7; focus_fill = FALSE; break; case CL_FOCUS_TAB: /* In current GTK+ focus and active cannot happen together, but we are robust against it. * IF the application sets the state to ACTIVE while drawing the tabs focus. */ if (widget->focus && !widget->active) return; break; case CL_FOCUS_SCALE: break; case CL_FOCUS_ICONVIEW: break; case CL_FOCUS_UNKNOWN: /* Fallback to classic function, dots */ clearlooks_draw_focus (cr, colors, widget, focus, x, y, width, height); return; break; default: break; }; cairo_translate (cr, x, y); cairo_set_line_width (cr, focus->line_width); ge_cairo_rounded_rectangle (cr, xoffset, yoffset, width-(xoffset*2), height-(yoffset*2), radius, widget->corners); if (focus_fill) { cairo_pattern_t *pattern; pattern = cairo_pattern_create_linear (0, 0, 0, height); cairo_pattern_add_color_stop_rgba (pattern, 0.0, fill_shade1.r, fill_shade1.g, fill_shade1.b, fill_alpha); cairo_pattern_add_color_stop_rgba (pattern, 0.5, fill_shade2.r, fill_shade2.g, fill_shade2.b, fill_alpha); cairo_pattern_add_color_stop_rgba (pattern, 0.5, fill.r, fill.g, fill.b, fill_alpha); cairo_pattern_add_color_stop_rgba (pattern, 1.0, fill_shade3.r, fill_shade3.g, fill_shade3.b, fill_alpha); cairo_set_source (cr, pattern); cairo_fill_preserve (cr); cairo_pattern_destroy (pattern); } if (focus_border) { clearlooks_set_mixed_color (cr, &parentbg, &border, border_alpha); cairo_stroke (cr); } if (focus_shadow) { if (radius > 0) radius++; ge_cairo_rounded_rectangle (cr, xoffset-1, yoffset-1, width-(xoffset*2)+2, height-(yoffset*2)+2, radius, widget->corners); clearlooks_set_mixed_color (cr, &parentbg, &fill, shadow_alpha); cairo_stroke (cr); } } void clearlooks_register_style_gummy (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants) { functions->draw_button = clearlooks_gummy_draw_button; functions->draw_entry = clearlooks_gummy_draw_entry; functions->draw_progressbar_trough = clearlooks_gummy_draw_progressbar_trough; functions->draw_progressbar_fill = clearlooks_gummy_draw_progressbar_fill; functions->draw_scale_trough = clearlooks_gummy_draw_scale_trough; functions->draw_tab = clearlooks_gummy_draw_tab; functions->draw_separator = clearlooks_gummy_draw_separator; functions->draw_slider = clearlooks_gummy_draw_slider; functions->draw_slider_button = clearlooks_gummy_draw_slider_button; functions->draw_scrollbar_stepper = clearlooks_gummy_draw_scrollbar_stepper; functions->draw_scrollbar_slider = clearlooks_gummy_draw_scrollbar_slider; functions->draw_list_view_header = clearlooks_gummy_draw_list_view_header; functions->draw_toolbar = clearlooks_gummy_draw_toolbar; functions->draw_menuitem = clearlooks_gummy_draw_menuitem; functions->draw_menubaritem = clearlooks_gummy_draw_menubaritem; functions->draw_selected_cell = clearlooks_gummy_draw_selected_cell; functions->draw_statusbar = clearlooks_gummy_draw_statusbar; functions->draw_checkbox = clearlooks_gummy_draw_checkbox; functions->draw_radiobutton = clearlooks_gummy_draw_radiobutton; functions->draw_icon_view_item = clearlooks_gummy_draw_icon_view_item; functions->draw_focus = clearlooks_gummy_draw_focus; constants->topleft_highlight_shade = 1.3; constants->topleft_highlight_alpha = 0.4; } gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_draw.h0000644000175000017500000000446111446654310020643 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2007 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #ifndef CLEARLOOKS_DRAW_H #define CLEARLOOKS_DRAW_H #include "clearlooks_types.h" #include "clearlooks_style.h" #include #include #include GE_INTERNAL void clearlooks_register_style_classic (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants); GE_INTERNAL void clearlooks_register_style_glossy (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants); GE_INTERNAL void clearlooks_register_style_gummy (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants); GE_INTERNAL void clearlooks_register_style_inverted (ClearlooksStyleFunctions *functions, ClearlooksStyleConstants *constants); /* Fallback focus function */ GE_INTERNAL void clearlooks_draw_focus (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const FocusParameters *focus, int x, int y, int width, int height); GE_INTERNAL void clearlooks_set_mixed_color (cairo_t *cr, const CairoColor *color1, const CairoColor *color2, gdouble mix_factor); #endif /* CLEARLOOKS_DRAW_H */ gtk-engines-2.20.2/engines/clearlooks/src/clearlooks_types.h0000644000175000017500000004254711446654310021061 00000000000000/* Clearlooks - a cairo based GTK+ engine * Copyright (C) 2006 Benjamin Berg * Copyright (C) 2007-2008 Andrea Cimitan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #ifndef CLEARLOOKS_TYPES_H #define CLEARLOOKS_TYPES_H #include typedef unsigned char boolean; typedef unsigned char uint8; typedef struct _ClearlooksStyleFunctions ClearlooksStyleFunctions; typedef struct _ClearlooksStyleConstants ClearlooksStyleConstants; typedef enum { CL_STYLE_CLASSIC = 0, CL_STYLE_GLOSSY = 1, CL_STYLE_INVERTED = 2, CL_STYLE_GUMMY = 3, CL_NUM_STYLES = 4 } ClearlooksStyles; typedef enum { CL_STATE_NORMAL, CL_STATE_ACTIVE, CL_STATE_SELECTED, CL_STATE_INSENSITIVE } ClearlooksStateType; typedef enum { CL_JUNCTION_NONE = 0, CL_JUNCTION_BEGIN = 1, CL_JUNCTION_END = 2 } ClearlooksJunction; typedef enum { CL_STEPPER_UNKNOWN = 0, CL_STEPPER_A = 1, CL_STEPPER_B = 2, CL_STEPPER_C = 4, CL_STEPPER_D = 8 } ClearlooksStepper; typedef enum { CL_ORDER_FIRST = 1 << 0, CL_ORDER_LAST = 1 << 1, } ClearlooksOrder; typedef enum { CL_CONT_NONE = 0, CL_CONT_LEFT = 1 << 0, CL_CONT_RIGHT = 1 << 1 } ClearlooksContinue; typedef enum { CL_ORIENTATION_LEFT_TO_RIGHT, CL_ORIENTATION_RIGHT_TO_LEFT, CL_ORIENTATION_BOTTOM_TO_TOP, CL_ORIENTATION_TOP_TO_BOTTOM } ClearlooksOrientation; typedef enum { CL_GAP_LEFT, CL_GAP_RIGHT, CL_GAP_TOP, CL_GAP_BOTTOM } ClearlooksGapSide; typedef enum { CL_SHADOW_NONE, CL_SHADOW_IN, CL_SHADOW_OUT, CL_SHADOW_ETCHED_IN, CL_SHADOW_ETCHED_OUT } ClearlooksShadowType; typedef enum { CL_HANDLE_TOOLBAR, CL_HANDLE_SPLITTER } ClearlooksHandleType; typedef enum { CL_ARROW_NORMAL, CL_ARROW_COMBO } ClearlooksArrowType; typedef enum { CL_FOCUS_BUTTON, CL_FOCUS_BUTTON_FLAT, CL_FOCUS_LABEL, CL_FOCUS_TREEVIEW, CL_FOCUS_TREEVIEW_HEADER, CL_FOCUS_TREEVIEW_ROW, CL_FOCUS_TREEVIEW_DND, CL_FOCUS_SCALE, CL_FOCUS_TAB, CL_FOCUS_COLOR_WHEEL_DARK, CL_FOCUS_COLOR_WHEEL_LIGHT, CL_FOCUS_ICONVIEW, CL_FOCUS_UNKNOWN } ClearlooksFocusType; typedef enum { CL_DIRECTION_UP, CL_DIRECTION_DOWN, CL_DIRECTION_LEFT, CL_DIRECTION_RIGHT } ClearlooksDirection; typedef enum { CL_PROGRESSBAR_CONTINUOUS, CL_PROGRESSBAR_DISCRETE } ClearlooksProgressBarStyle; typedef enum { CL_WINDOW_EDGE_NORTH_WEST, CL_WINDOW_EDGE_NORTH, CL_WINDOW_EDGE_NORTH_EAST, CL_WINDOW_EDGE_WEST, CL_WINDOW_EDGE_EAST, CL_WINDOW_EDGE_SOUTH_WEST, CL_WINDOW_EDGE_SOUTH, CL_WINDOW_EDGE_SOUTH_EAST } ClearlooksWindowEdge; typedef struct { double x; double y; double width; double height; } ClearlooksRectangle; typedef struct { CairoColor fg[5]; CairoColor bg[5]; CairoColor base[5]; CairoColor text[5]; CairoColor shade[9]; CairoColor spot[3]; } ClearlooksColors; typedef struct { boolean active; boolean prelight; boolean disabled; boolean focus; boolean is_default; boolean ltr; boolean enable_shadow; gfloat radius; ClearlooksStateType state_type; uint8 corners; uint8 xthickness; uint8 ythickness; CairoColor parentbg; ClearlooksStyleFunctions *style_functions; ClearlooksStyleConstants *style_constants; } WidgetParameters; typedef struct { ClearlooksFocusType type; ClearlooksContinue continue_side; CairoColor color; boolean has_color; gint line_width; gint padding; guint8* dash_list; boolean interior; } FocusParameters; typedef struct { boolean lower; boolean horizontal; boolean fill_level; } SliderParameters; typedef struct { ClearlooksOrientation orientation; boolean pulsing; float value; } ProgressBarParameters; typedef struct { int linepos; } OptionMenuParameters; typedef struct { ClearlooksShadowType shadow; ClearlooksGapSide gap_side; int gap_x; int gap_width; const CairoColor *border; /* maybe changes this to some other hint ... */ } FrameParameters; typedef struct { ClearlooksGapSide gap_side; FocusParameters focus; } TabParameters; typedef struct { CairoCorners corners; ClearlooksShadowType shadow; } ShadowParameters; typedef struct { boolean horizontal; } SeparatorParameters; typedef struct { ClearlooksOrder order; /* XXX: rename to position */ boolean resizable; } ListViewHeaderParameters; typedef struct { CairoColor color; ClearlooksJunction junction; /* On which sides the slider junctions */ boolean horizontal; boolean has_color; } ScrollBarParameters; typedef struct { ClearlooksHandleType type; boolean horizontal; } HandleParameters; typedef struct { ClearlooksStepper stepper; /* Which stepper to draw */ } ScrollBarStepperParameters; typedef struct { ClearlooksWindowEdge edge; } ResizeGripParameters; typedef struct { int style; } MenuBarParameters; typedef struct { ClearlooksShadowType shadow_type; boolean in_cell; boolean in_menu; } CheckboxParameters; typedef struct { /* The maximum size of the fill. Calcualted from the entries allocation, * and other information. Relative to the drawn position. */ GdkRectangle max_size; gboolean max_size_known; /* The border around the bar. This can be used for radius calculations. */ GtkBorder border; } EntryProgressParameters; typedef struct { ClearlooksArrowType type; ClearlooksDirection direction; } ArrowParameters; typedef struct { int style; boolean topmost; } ToolbarParameters; struct _ClearlooksStyleConstants { gdouble topleft_highlight_shade; gdouble topleft_highlight_alpha; }; struct _ClearlooksStyleFunctions { void (*draw_top_left_highlight) (cairo_t *cr, const CairoColor *color, const WidgetParameters *params, int x, int y, int width, int height, gdouble radius, CairoCorners corners); void (*draw_button) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_scale_trough) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const SliderParameters *slider, int x, int y, int width, int height); void (*draw_progressbar_trough) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_progressbar_fill) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ProgressBarParameters *progressbar, int x, int y, int width, int height, gint offset); void (*draw_slider_button) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const SliderParameters *slider, int x, int y, int width, int height); void (*draw_entry) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const FocusParameters *focus, int x, int y, int width, int height); void (*draw_entry_progress) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const EntryProgressParameters *progress, int x, int y, int width, int height); void (*draw_spinbutton) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_spinbutton_down) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_optionmenu) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const OptionMenuParameters *optionmenu, int x, int y, int width, int height); void (*draw_inset) (cairo_t *cr, const CairoColor *bg_color, double x, double y, double w, double h, double radius, uint8 corners); void (*draw_menubar) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const MenuBarParameters *menubar, int x, int y, int width, int height); void (*draw_tab) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const TabParameters *tab, int x, int y, int width, int height); void (*draw_frame) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const FrameParameters *frame, int x, int y, int width, int height); void (*draw_separator) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const SeparatorParameters *separator, int x, int y, int width, int height); void (*draw_menu_item_separator) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const SeparatorParameters *separator, int x, int y, int width, int height); void (*draw_list_view_header) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ListViewHeaderParameters *header, int x, int y, int width, int height); void (*draw_toolbar) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ToolbarParameters *toolbar, int x, int y, int width, int height); void (*draw_menuitem) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_menubaritem) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_selected_cell) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_scrollbar_stepper) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, const ScrollBarStepperParameters *stepper, int x, int y, int width, int height); void (*draw_scrollbar_slider) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, int x, int y, int width, int height); void (*draw_scrollbar_trough) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ScrollBarParameters *scrollbar, int x, int y, int width, int height); void (*draw_statusbar) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_menu_frame) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_tooltip) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_handle) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const HandleParameters *handle, int x, int y, int width, int height); void (*draw_resize_grip) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ResizeGripParameters *grip, int x, int y, int width, int height); void (*draw_arrow) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const ArrowParameters *arrow, int x, int y, int width, int height); void (*draw_focus) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const FocusParameters *focus, int x, int y, int width, int height); void (*draw_checkbox) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height); void (*draw_radiobutton) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, const CheckboxParameters *checkbox, int x, int y, int width, int height); void (*draw_icon_view_item) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); /* Style internal functions */ /* XXX: Only used by slider_button, inline it? */ void (*draw_shadow) (cairo_t *cr, const ClearlooksColors *colors, gfloat radius, int width, int height); void (*draw_slider) (cairo_t *cr, const ClearlooksColors *colors, const WidgetParameters *widget, int x, int y, int width, int height); void (*draw_gripdots) (cairo_t *cr, const ClearlooksColors *colors, int x, int y, int width, int height, int xr, int yr, float contrast); }; #define CLEARLOOKS_RECTANGLE_SET(rect, _x, _y, _w, _h) (rect).x = (_x); \ (rect).y = (_y); \ (rect).width = (_w); \ (rect).height = (_h); #endif /* CLEARLOOKS_TYPES_H */ gtk-engines-2.20.2/engines/clearlooks/Makefile.am0000644000175000017500000000344711446654310016567 00000000000000# Clearlooks - a cairo based GTKengine # Copyright (C) 2005-2006 Andrew Johnson # Copyright (C) 2006-2007 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libclearlooks.la libclearlooks_la_SOURCES = \ ./src/clearlooks_rc_style.c \ ./src/clearlooks_rc_style.h \ ./src/clearlooks_style.c \ ./src/clearlooks_style.h \ ./src/clearlooks_theme_main.c \ ./src/support.c \ ./src/animation.c \ ./src/animation.h \ ./src/support.h \ ./src/clearlooks_draw.c \ ./src/clearlooks_draw_glossy.c \ ./src/clearlooks_draw_inverted.c \ ./src/clearlooks_draw_gummy.c \ ./src/clearlooks_draw.h \ ./src/clearlooks_types.h libclearlooks_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libclearlooks_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/clearlooks/Makefile.in0000644000175000017500000007464711451355760016615 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Clearlooks - a cairo based GTKengine # Copyright (C) 2005-2006 Andrew Johnson # Copyright (C) 2006-2007 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/clearlooks DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libclearlooks_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libclearlooks_la_OBJECTS = clearlooks_rc_style.lo \ clearlooks_style.lo clearlooks_theme_main.lo support.lo \ animation.lo clearlooks_draw.lo clearlooks_draw_glossy.lo \ clearlooks_draw_inverted.lo clearlooks_draw_gummy.lo libclearlooks_la_OBJECTS = $(am_libclearlooks_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libclearlooks_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libclearlooks_la_LDFLAGS) $(LDFLAGS) \ -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libclearlooks_la_SOURCES) DIST_SOURCES = $(libclearlooks_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libclearlooks.la libclearlooks_la_SOURCES = \ ./src/clearlooks_rc_style.c \ ./src/clearlooks_rc_style.h \ ./src/clearlooks_style.c \ ./src/clearlooks_style.h \ ./src/clearlooks_theme_main.c \ ./src/support.c \ ./src/animation.c \ ./src/animation.h \ ./src/support.h \ ./src/clearlooks_draw.c \ ./src/clearlooks_draw_glossy.c \ ./src/clearlooks_draw_inverted.c \ ./src/clearlooks_draw_gummy.c \ ./src/clearlooks_draw.h \ ./src/clearlooks_types.h libclearlooks_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libclearlooks_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/clearlooks/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/clearlooks/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libclearlooks.la: $(libclearlooks_la_OBJECTS) $(libclearlooks_la_DEPENDENCIES) $(AM_V_CCLD)$(libclearlooks_la_LINK) -rpath $(enginedir) $(libclearlooks_la_OBJECTS) $(libclearlooks_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/animation.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearlooks_draw.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearlooks_draw_glossy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearlooks_draw_gummy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearlooks_draw_inverted.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearlooks_rc_style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearlooks_style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearlooks_theme_main.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/support.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< clearlooks_rc_style.lo: ./src/clearlooks_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clearlooks_rc_style.lo -MD -MP -MF $(DEPDIR)/clearlooks_rc_style.Tpo -c -o clearlooks_rc_style.lo `test -f './src/clearlooks_rc_style.c' || echo '$(srcdir)/'`./src/clearlooks_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/clearlooks_rc_style.Tpo $(DEPDIR)/clearlooks_rc_style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/clearlooks_rc_style.c' object='clearlooks_rc_style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clearlooks_rc_style.lo `test -f './src/clearlooks_rc_style.c' || echo '$(srcdir)/'`./src/clearlooks_rc_style.c clearlooks_style.lo: ./src/clearlooks_style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clearlooks_style.lo -MD -MP -MF $(DEPDIR)/clearlooks_style.Tpo -c -o clearlooks_style.lo `test -f './src/clearlooks_style.c' || echo '$(srcdir)/'`./src/clearlooks_style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/clearlooks_style.Tpo $(DEPDIR)/clearlooks_style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/clearlooks_style.c' object='clearlooks_style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clearlooks_style.lo `test -f './src/clearlooks_style.c' || echo '$(srcdir)/'`./src/clearlooks_style.c clearlooks_theme_main.lo: ./src/clearlooks_theme_main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clearlooks_theme_main.lo -MD -MP -MF $(DEPDIR)/clearlooks_theme_main.Tpo -c -o clearlooks_theme_main.lo `test -f './src/clearlooks_theme_main.c' || echo '$(srcdir)/'`./src/clearlooks_theme_main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/clearlooks_theme_main.Tpo $(DEPDIR)/clearlooks_theme_main.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/clearlooks_theme_main.c' object='clearlooks_theme_main.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clearlooks_theme_main.lo `test -f './src/clearlooks_theme_main.c' || echo '$(srcdir)/'`./src/clearlooks_theme_main.c support.lo: ./src/support.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT support.lo -MD -MP -MF $(DEPDIR)/support.Tpo -c -o support.lo `test -f './src/support.c' || echo '$(srcdir)/'`./src/support.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/support.Tpo $(DEPDIR)/support.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/support.c' object='support.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o support.lo `test -f './src/support.c' || echo '$(srcdir)/'`./src/support.c animation.lo: ./src/animation.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT animation.lo -MD -MP -MF $(DEPDIR)/animation.Tpo -c -o animation.lo `test -f './src/animation.c' || echo '$(srcdir)/'`./src/animation.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/animation.Tpo $(DEPDIR)/animation.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/animation.c' object='animation.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o animation.lo `test -f './src/animation.c' || echo '$(srcdir)/'`./src/animation.c clearlooks_draw.lo: ./src/clearlooks_draw.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clearlooks_draw.lo -MD -MP -MF $(DEPDIR)/clearlooks_draw.Tpo -c -o clearlooks_draw.lo `test -f './src/clearlooks_draw.c' || echo '$(srcdir)/'`./src/clearlooks_draw.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/clearlooks_draw.Tpo $(DEPDIR)/clearlooks_draw.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/clearlooks_draw.c' object='clearlooks_draw.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clearlooks_draw.lo `test -f './src/clearlooks_draw.c' || echo '$(srcdir)/'`./src/clearlooks_draw.c clearlooks_draw_glossy.lo: ./src/clearlooks_draw_glossy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clearlooks_draw_glossy.lo -MD -MP -MF $(DEPDIR)/clearlooks_draw_glossy.Tpo -c -o clearlooks_draw_glossy.lo `test -f './src/clearlooks_draw_glossy.c' || echo '$(srcdir)/'`./src/clearlooks_draw_glossy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/clearlooks_draw_glossy.Tpo $(DEPDIR)/clearlooks_draw_glossy.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/clearlooks_draw_glossy.c' object='clearlooks_draw_glossy.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clearlooks_draw_glossy.lo `test -f './src/clearlooks_draw_glossy.c' || echo '$(srcdir)/'`./src/clearlooks_draw_glossy.c clearlooks_draw_inverted.lo: ./src/clearlooks_draw_inverted.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clearlooks_draw_inverted.lo -MD -MP -MF $(DEPDIR)/clearlooks_draw_inverted.Tpo -c -o clearlooks_draw_inverted.lo `test -f './src/clearlooks_draw_inverted.c' || echo '$(srcdir)/'`./src/clearlooks_draw_inverted.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/clearlooks_draw_inverted.Tpo $(DEPDIR)/clearlooks_draw_inverted.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/clearlooks_draw_inverted.c' object='clearlooks_draw_inverted.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clearlooks_draw_inverted.lo `test -f './src/clearlooks_draw_inverted.c' || echo '$(srcdir)/'`./src/clearlooks_draw_inverted.c clearlooks_draw_gummy.lo: ./src/clearlooks_draw_gummy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clearlooks_draw_gummy.lo -MD -MP -MF $(DEPDIR)/clearlooks_draw_gummy.Tpo -c -o clearlooks_draw_gummy.lo `test -f './src/clearlooks_draw_gummy.c' || echo '$(srcdir)/'`./src/clearlooks_draw_gummy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/clearlooks_draw_gummy.Tpo $(DEPDIR)/clearlooks_draw_gummy.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/clearlooks_draw_gummy.c' object='clearlooks_draw_gummy.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clearlooks_draw_gummy.lo `test -f './src/clearlooks_draw_gummy.c' || echo '$(srcdir)/'`./src/clearlooks_draw_gummy.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/clearlooks/AUTHORS0000644000175000017500000000032611445424675015604 00000000000000Richard Stellingwerff Daniel Borgmann Benjamin Berg Andrea Cimitan See CREDITS file for list of contributors. gtk-engines-2.20.2/engines/crux/0000755000175000017500000000000011451420647013426 500000000000000gtk-engines-2.20.2/engines/crux/src/0000755000175000017500000000000011451420647014215 500000000000000gtk-engines-2.20.2/engines/crux/src/crux.h0000644000175000017500000000046311445424675015302 00000000000000#ifndef CRUX_THEME_H #define CRUX_THEME_H #include G_BEGIN_DECLS GE_EXPORT void theme_init (GTypeModule *module); GE_EXPORT void theme_exit (void); GE_EXPORT GtkRcStyle *theme_create_rc_style (void); GE_EXPORT const gchar* g_module_check_init (GModule *module); G_END_DECLS #endif gtk-engines-2.20.2/engines/crux/src/crux-draw.c0000644000175000017500000015633511446654310016232 00000000000000#include "crux-draw.h" #include "crux-style.h" #include #include #include #include #define DEBUG 0 #define DETAIL(xx) ((detail) != 0 && strcmp (xx, detail) == 0) #define OUTLINE_SHADE 0.5 #define CRUX_LIGHT(xx, yy) ge_shade_color (&xx, 1.5, &yy) /* yy.r = xx.r + 56/255.0;yy.g = xx.g + 47/255.0;yy.b = xx.b + 45/255.0; */ #define CRUX_DARK(xx, yy) ge_shade_color (&xx, 0.9, &yy) /* yy.r = xx.r - 25/255.0;yy.g = xx.g - 27/255.0;yy.b = xx.b - 21/255.0; */ static GtkStyleClass *parent_style_class; static void draw_hline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x1, gint x2, gint y); static void draw_vline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint y1, gint y2, gint x); static void draw_shadow (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); static void draw_box (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); static void draw_arrow (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GtkArrowType arrow_type, gint fill, gint x, gint y, gint width, gint height); static void draw_check (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); static void draw_option (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); static void draw_tab (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); static void draw_shadow_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width); static void draw_box_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width); static void draw_extension (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side); static void draw_focus (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); static void draw_slider (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); static void draw_handle (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); static void paint_shadow (cairo_t *cr, GtkStyle *style, GtkStateType state_type, GtkShadowType shadow_type, gdouble x, gdouble y, gdouble width, gdouble height); /* utility functions */ static inline void debug (const char *fmt, ...) { if (DEBUG) { va_list args; va_start (args, fmt); vfprintf (stderr, fmt, args); va_end (args); } } static void paint_menuitem (cairo_t *cr, GtkStyle *style, GtkStateType state_type, gdouble x, gdouble y, gdouble width, gdouble height) { cairo_pattern_t * crp; CairoColor c1; /* TODO: this is wasteful, since paint_shadow () adds an extra shadow that is * drawn over by the gradient */ paint_shadow (cr, style, state_type, GTK_SHADOW_IN, x, y, width, height); x += 2.0; y += 2.0; width -= 4.0; height -= 4.0; ge_gdk_color_to_cairo (&style->bg[state_type], &c1); crp = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (crp, 0.0, c1.r, c1.g, c1.b); ge_shade_color (&c1, 1.3, &c1); cairo_pattern_add_color_stop_rgb (crp, 0.35, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 0.28, c1.r, c1.g, c1.b); ge_shade_color (&c1, 0.6, &c1); cairo_pattern_add_color_stop_rgb (crp, 1.0, c1.r, c1.g, c1.b); cairo_rectangle (cr, x, y, width, height); cairo_set_source (cr, crp); cairo_fill (cr); cairo_pattern_destroy (crp); } static void paint_button (cairo_t *cr, GtkStyle *style, GtkStateType state_type, GtkShadowType shadow_type, gboolean has_focus, gboolean extra_shadow, gdouble x, gdouble y, gdouble width, gdouble height) { gdouble radius = (extra_shadow) ? 3.5 : 2.5; cairo_pattern_t *crp; CairoColor base, inner_top, inner_bot, grad_top, grad_bot, stroke; gdouble h, s, b; if (shadow_type == GTK_SHADOW_NONE) return; /* calculate colours */ ge_gdk_color_to_cairo (&style->bg[state_type], &base); ge_hsb_from_color (&base, &h, &s, &b); ge_color_from_hsb (h, s, b - 0.52, &stroke); if (extra_shadow) { /* extra shadow and focus indicator */ if (has_focus) { CairoColor c; ge_gdk_color_to_cairo (&style->bg[GTK_STATE_SELECTED], &c); cairo_set_source_rgba (cr, c.r, c.g, c.b, 0.6); } else { if (state_type == GTK_STATE_INSENSITIVE) cairo_set_source_rgba (cr, 0, 0, 0, 0.05); else cairo_set_source_rgba (cr, 0, 0, 0, 0.1); } ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, CR_CORNER_ALL); cairo_fill (cr); --radius; ++x; ++y; width -= 2; height -= 2; } if (shadow_type == GTK_SHADOW_IN || shadow_type == GTK_SHADOW_ETCHED_IN) { /* outline */ if (state_type == GTK_STATE_INSENSITIVE) gdk_cairo_set_source_color (cr, &style->fg [state_type]); else ge_cairo_set_color (cr, &stroke); ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, CR_CORNER_ALL); cairo_fill (cr); ++x; ++y; width -= 2; height -= 2; ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, CR_CORNER_ALL); if (state_type != GTK_STATE_INSENSITIVE) { /* gradient fill */ crp = cairo_pattern_create_linear (x, y, x, y +height); ge_color_from_hsb (h, s, b - 0.05, &grad_top); ge_color_from_hsb (h, s, b - 0.2, &grad_bot); cairo_pattern_add_color_stop_rgb (crp, 0.0, grad_top.r, grad_top.g, grad_top.b); cairo_pattern_add_color_stop_rgb (crp, 0.3, grad_top.r, grad_top.g, grad_top.b); cairo_pattern_add_color_stop_rgb (crp, 0.9, grad_bot.r, grad_bot.g, grad_bot.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, grad_bot.r, grad_bot.g, grad_bot.b); cairo_set_source (cr, crp); cairo_fill (cr); cairo_pattern_destroy (crp); } else { ge_cairo_set_color (cr, &base); cairo_fill (cr); } x += 0.5; y += 0.5; height--; width--; /* inside shadow */ --radius; cairo_move_to (cr, x, y + height); cairo_arc (cr, x + radius, y + radius, radius, G_PI, G_PI * 1.5); cairo_line_to (cr, x + width, y); if (state_type == GTK_STATE_INSENSITIVE) cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.1); else cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.2); cairo_stroke (cr); cairo_move_to (cr, x + 1.0, y + height); cairo_line_to (cr, x + 1.0, y + 1); cairo_line_to (cr, x + width, y + 1); cairo_line_to (cr, x + width, y + height); cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.05); cairo_stroke (cr); if (state_type == GTK_STATE_INSENSITIVE) return; cairo_rectangle (cr, x + 1.0, y + 1.0, width - 2, height - 1); cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.03); cairo_stroke (cr); return; } if (shadow_type == GTK_SHADOW_OUT || shadow_type == GTK_SHADOW_ETCHED_OUT) { if (state_type == GTK_STATE_INSENSITIVE) { /* disabled gray stroke */ ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, CR_CORNER_ALL); gdk_cairo_set_source_color (cr, &style->fg [state_type]); cairo_fill (cr); --radius; ++x; ++y; width -= 2; height -= 2; ge_cairo_rounded_rectangle (cr, x, y, width, height , radius, CR_CORNER_ALL); gdk_cairo_set_source_color (cr, &style->bg [state_type]); cairo_fill (cr); return; } ge_color_from_hsb (h, s, b + 0.156, &inner_top); ge_color_from_hsb (h, s, b, &inner_bot); ge_color_from_hsb (h, s, b + 0.117, &grad_top); ge_color_from_hsb (h, s, b - 0.117, &grad_bot); /* border */ ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, CR_CORNER_ALL); ge_cairo_set_color (cr, &stroke); cairo_fill (cr); /* inner stroke */ ++x; ++y; width -= 2; height -= 2; --radius; crp = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (crp, 0.0, inner_top.r, inner_top.g, inner_top.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, inner_bot.r, inner_bot.g, inner_bot.b); cairo_set_source (cr, crp); ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, CR_CORNER_ALL); cairo_fill (cr); cairo_pattern_destroy (crp); /* gradient */ x+=.5; y+=.5; width -= 1; height -= 1; crp = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (crp, 0.0, grad_top.r, grad_top.g, grad_top.b); cairo_pattern_add_color_stop_rgb (crp, 0.14, grad_top.r, grad_top.g, grad_top.b); cairo_pattern_add_color_stop_rgb (crp, 0.86, grad_bot.r, grad_bot.g, grad_bot.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, grad_bot.r, grad_bot.g, grad_bot.b); cairo_set_source (cr, crp); cairo_rectangle (cr, x, y, width, height); cairo_fill (cr); cairo_pattern_destroy (crp); } } static void paint_shadow (cairo_t *cr, GtkStyle *style, GtkStateType state_type, GtkShadowType shadow_type, gdouble x, gdouble y, gdouble width, gdouble height) { CairoColor bg, border; CairoColor tl, bl; ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_shade_color (&bg, OUTLINE_SHADE, &border); /* border */ x += 0.5; y += 0.5; width--; height--; tl.r = 1; tl.g = 1; tl.b = 1; tl.a = 0.7; bl.r = 0; bl.g = 0; bl.b = 0; bl.a = 0.2; if (shadow_type == GTK_SHADOW_OUT) { ge_cairo_set_color (cr, &border); ge_cairo_stroke_rectangle (cr, x, y, width, height); x++; y++; width -= 2.0; height -= 2.0; ge_cairo_simple_border (cr, &tl, &bl, x, y, width +1, height +1, TRUE); } else if (shadow_type == GTK_SHADOW_IN) { ge_cairo_simple_border (cr, &bl, &tl, x, y, width +1, height +1, TRUE); x++; y++; width -= 2.0; height -= 2.0; ge_cairo_set_color (cr, &border); ge_cairo_stroke_rectangle (cr, x, y, width, height); } else if (shadow_type == GTK_SHADOW_ETCHED_IN) { ge_cairo_simple_border (cr, &bl, &tl, x, y, width +1, height +1, TRUE); x++; y++; width -= 2.0; height -= 2.0; ge_cairo_simple_border (cr, &tl, &bl, x, y, width +1, height +1, TRUE); } else if (shadow_type == GTK_SHADOW_ETCHED_OUT) { ge_cairo_simple_border (cr, &tl, &bl, x, y, width +1, height +1, TRUE); x++; y++; width -= 2.0; height -= 2.0; ge_cairo_simple_border (cr, &bl, &tl, x, y, width +1, height +1, TRUE); } } static void paint_entry_shadow (cairo_t *cr, GtkStyle *style, GtkStateType state_type, gboolean focused, gdouble x, gdouble y, gdouble width, gdouble height) { cairo_pattern_t *crp; x += 0.5; y += 0.5; width -= 1.0; height -= 1.0; /* Outer Line */ if (focused) { gdk_cairo_set_source_color (cr, &style->light[GTK_STATE_SELECTED]); ge_cairo_stroke_rectangle (cr, x, y, width, height); } else { crp = cairo_pattern_create_linear (x, y, x, y + height); /* TODO: Find a way to calculate these values */ cairo_pattern_add_color_stop_rgb (crp, 0.0, 185/255.0, 189/255.0, 182/255.0); cairo_pattern_add_color_stop_rgb (crp, 1.0, 238/255.0, 238/255.0, 236/255.0); cairo_set_source (cr, crp); ge_cairo_stroke_rectangle (cr, x, y, width, height); cairo_pattern_destroy (crp); } /* inner Line */ /* TODO: Find a way to calculate these values */ if (state_type == GTK_STATE_INSENSITIVE) gdk_cairo_set_source_color (cr, &style->fg [state_type]); else cairo_set_source_rgb (cr, 54/255.0, 52/255.0, 54/255.0); ge_cairo_stroke_rectangle (cr, x + 1.0, y + 1.0, width - 2.0, height - 2.0); /* inner shadow */ /* make sure background is initialised as shadow is only in top left */ gdk_cairo_set_source_color (cr, &style->base[(state_type == GTK_STATE_INSENSITIVE) ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL]); ge_cairo_stroke_rectangle (cr, x + 2.0, y + 2.0, width - 4.0, height - 4.0); /* draw shadow */ cairo_move_to (cr, x + 2.0, y + height - 2.0); cairo_line_to (cr, x + 2.0, y + 2.0); cairo_line_to (cr, x + width - 2.0, y + 2.0); cairo_set_source_rgba (cr, 0, 0, 0, 0.12); cairo_stroke (cr); } static void paint_scrollbar_trough (cairo_t *cr, GtkStyle *style, GtkStateType state_type, GtkOrientation orientation, gdouble x, gdouble y, gdouble width, gdouble height) { cairo_pattern_t *crp; gdouble gradient_size; CairoColor bg, tl, br, outline; /* gradient_size is the size of the "shadow" at the ends of the trough * it needs to be calculated so that it is a fixed size, since cairo takes a ratio when adding gradient stops */ #define OFFWHITE 238/255.0, 238/255.0, 238/255.0 ge_gdk_color_to_cairo (&style->white, &br); ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_shade_color (&bg, 1.2, &tl); ge_shade_color (&bg, OUTLINE_SHADE, &outline); /* bevel */ ge_cairo_simple_border (cr, &tl, &br, x, y, width, height, FALSE); /* set co-ordinates for line drawing */ x += 0.5; y += 0.5; width -= 1.0; height -= 1.0; x += 1.0; y += 1.0; width -= 2.0; height -= 2.0; cairo_rectangle (cr, x, y, width, height); gdk_cairo_set_source_color (cr, &style->dark[state_type]); cairo_fill (cr); if (orientation == GTK_ORIENTATION_HORIZONTAL) cairo_rectangle (cr, x, y, width, height / 2 - 1); else cairo_rectangle (cr, x, y, width /2 - 1, height); cairo_set_source_rgb (cr, OFFWHITE); cairo_fill_preserve (cr); ge_cairo_set_color (cr, &outline); cairo_stroke (cr); if (orientation == GTK_ORIENTATION_HORIZONTAL) cairo_rectangle (cr, x, y + height / 2 + 1, width, height / 2 -1); else cairo_rectangle (cr, x + width / 2 + 1, y, width / 2 - 1, height); cairo_set_source_rgb (cr, OFFWHITE); cairo_fill_preserve (cr); ge_cairo_set_color (cr, &outline); cairo_stroke (cr); if (orientation == GTK_ORIENTATION_HORIZONTAL) { crp = cairo_pattern_create_linear (x, y, x + width, y); gradient_size = 24 / width; } else { crp = cairo_pattern_create_linear (x, y, x, y + height); gradient_size = 24 / height; } /* set co-ordinates for fill drawing */ x -= 0.5; y -= 0.5; width += 1.0; height += 1.0; cairo_rectangle (cr, x, y, width, height); cairo_pattern_add_color_stop_rgba (crp, 0.0, 0.0, 0.0, 0.0, 0.5); cairo_pattern_add_color_stop_rgba (crp, gradient_size, 0.0, 0.0, 0.0, 0.0); cairo_pattern_add_color_stop_rgba (crp, 1.0 - gradient_size, 0.0, 0.0, 0.0, 0.0); cairo_pattern_add_color_stop_rgba (crp, 1.0, 0.0, 0.0, 0.0, 0.5); cairo_set_source (cr, crp); cairo_fill (cr); cairo_pattern_destroy (crp); } static void paint_scale_trough (cairo_t *cr, GtkStyle *style, GtkStateType state_type, GtkOrientation orientation, gdouble x, gdouble y, gdouble width, gdouble height) { CairoColor c1, c2, bg, outline; cairo_pattern_t *crp; gdouble radius = 2.0; /* set up colours */ /* calculate start and end colours for the gradient */ ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &bg); ge_shade_color (&bg, 0.7, &c2); /* darken */ ge_shade_color (&bg, 1.1, &c1); /* lighten */ /* outline colour */ ge_shade_color (&bg, OUTLINE_SHADE, &outline); /* set co-ordinates for line drawing */ x += 0.5; y += 0.5; width -= 1.0; height -= 1.0; if (orientation == GTK_ORIENTATION_VERTICAL) crp = cairo_pattern_create_linear (x + 2.0, y, x + width - 2.0, y); else crp = cairo_pattern_create_linear (x, y+2.0, x, y+height-2.0); ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, CR_CORNER_ALL); cairo_pattern_add_color_stop_rgb (crp, 0.0, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, c2.r, c2.g, c2.b); cairo_set_source (cr, crp); cairo_fill_preserve (cr); cairo_pattern_destroy (crp); /* dark gray */ ge_cairo_set_color (cr, &outline); cairo_stroke (cr); ge_cairo_rounded_rectangle (cr, x+1.0, y+1.0, width-2.0, height-2.0, radius, CR_CORNER_ALL); crp = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgb (crp, 0.0, 1.0, 1.0, 1.0); cairo_pattern_add_color_stop_rgba (crp, 1.0, 1.0, 1.0, 1.0, 100/255.0); cairo_set_source (cr, crp); cairo_stroke (cr); ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &c2); ge_shade_color (&c2, 0.8, &c2); /* darken */ cairo_set_source_rgb (cr, c2.r, c2.g, c2.b); if (orientation == GTK_ORIENTATION_VERTICAL) { cairo_move_to (cr, x + width + 1.0, y + radius); cairo_line_to (cr, x + width + 1.0, y + height - radius); } else { cairo_move_to (cr, x + radius, y + height + 1.0); cairo_line_to (cr, x + width - radius, y + height + 1.0); } cairo_stroke (cr); cairo_pattern_destroy (crp); } static void paint_progress_bar (cairo_t *cr, GtkStyle *style, GtkStateType state_type, GtkProgressBarOrientation orientation, gdouble x, gdouble y, gdouble width, gdouble height, gdouble fraction, CairoColor *base_color) { cairo_pattern_t *crp; CairoColor c1, c2; cairo_rectangle (cr, x, y, width, height); ge_gdk_color_to_cairo (&style->base[GTK_STATE_SELECTED], &c1); CRUX_DARK(*base_color, c2); CRUX_LIGHT(*base_color, c1); if (orientation == GTK_PROGRESS_LEFT_TO_RIGHT || orientation == GTK_PROGRESS_RIGHT_TO_LEFT) crp = cairo_pattern_create_linear (x, y, x, y + height); else crp = cairo_pattern_create_linear (x, y, x + width, y); cairo_pattern_add_color_stop_rgb (crp, 0.0, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, c2.r, c2.g, c2.b); cairo_set_source (cr, crp); cairo_fill (cr); cairo_pattern_destroy (crp); /* set co-ordinates for line drawing */ x += 0.5; y += 0.5; width -= 1.0; height -= 1.0; if (fraction < 1.0) { switch (orientation) { case GTK_PROGRESS_LEFT_TO_RIGHT: width--; break; case GTK_PROGRESS_RIGHT_TO_LEFT: x++; width--; break; case GTK_PROGRESS_TOP_TO_BOTTOM: height--; break; case GTK_PROGRESS_BOTTOM_TO_TOP: y++; height--; break; } } /* bevel */ cairo_rectangle (cr, x, y, width, height); crp = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgba (crp, 0.0, 1.0, 1.0, 1.0, .3); cairo_pattern_add_color_stop_rgba (crp, 1.0, 1.0, 1.0, 1.0, 0.1); cairo_set_source (cr, crp); cairo_stroke (cr); cairo_pattern_destroy (crp); /* end cap */ if (fraction < 1.0) { cairo_set_source_rgb (cr, c2.r, c2.g, c2.b); switch (orientation) { case GTK_PROGRESS_LEFT_TO_RIGHT: cairo_move_to (cr, x + width + 1.0, y); cairo_line_to (cr, x + width + 1.0, y + height); break; case GTK_PROGRESS_RIGHT_TO_LEFT: cairo_move_to (cr, x - 1.0, y); cairo_line_to (cr, x - 1.0, y + height); break; case GTK_PROGRESS_TOP_TO_BOTTOM: cairo_move_to (cr, x, y + height + 1.0); cairo_line_to (cr, x + width, y + height + 1.0); break; case GTK_PROGRESS_BOTTOM_TO_TOP: cairo_move_to (cr, x, y - 1.0); cairo_line_to (cr, x + width, y - 1.0); break; } cairo_stroke (cr); } /* draw the end cap shadow * TODO: create shadows for all progress bars (currently only works for left to right) * * three lines of alpha: 0.22, 0.12, 0.03 * TODO: this doesn't work quite right, as the top part of the shadow * is already drawn by draw_box (), so the corner looks too dark */ if (orientation == GTK_PROGRESS_LEFT_TO_RIGHT) { cairo_set_source_rgba (cr, 0, 0, 0, .22); cairo_move_to (cr, x + width + 2.0, y); cairo_line_to (cr, x + width + 2.0, y + height); cairo_stroke (cr); cairo_set_source_rgba (cr, 0, 0, 0, .12); cairo_move_to (cr, x + width + 3.0, y); cairo_line_to (cr, x + width + 3.0, y + height); cairo_stroke (cr); cairo_set_source_rgba (cr, 0, 0, 0, .03); cairo_move_to (cr, x + width + 4.0, y); cairo_line_to (cr, x + width + 4.0, y + height); cairo_stroke (cr); } } /* style functions */ static void draw_hline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x1, gint x2, gint y) { CairoColor base, light, dark; cairo_t *cr; CHECK_ARGS debug ("draw_hline: detail=%s state=%d x1=%d x2=%d y=%d\n", detail, state_type, x1, x2, y); cr = ge_gdk_drawable_to_cairo (window, area); ge_gdk_color_to_cairo (&style->bg[state_type], &base); ge_shade_color (&base, 0.88, &dark); ge_shade_color (&base, 1.12, &light); ge_cairo_set_color (cr, &dark); cairo_move_to (cr, x1 + 0.5, y + 0.5); cairo_line_to (cr, x2 + 0.5, y + 0.5); cairo_stroke (cr); y++; ge_cairo_set_color (cr, &light); cairo_move_to (cr, x1 + 0.5, y + 0.5); cairo_line_to (cr, x2 + 0.5, y + 0.5); cairo_stroke (cr); cairo_destroy (cr); } static void draw_vline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint y1, gint y2, gint x) { CairoColor base, light, dark; cairo_t *cr; CHECK_ARGS debug ("draw_vline: detail=%s state=%d x=%d y1=%d y2=%d\n", detail, state_type, x, y1, y2); cr = ge_gdk_drawable_to_cairo (window, area); ge_gdk_color_to_cairo (&style->bg[state_type], &base); ge_shade_color (&base, 0.88, &dark); ge_shade_color (&base, 1.12, &light); ge_cairo_set_color (cr, &dark); cairo_move_to (cr, x + 0.5, y1 + 0.5); cairo_line_to (cr, x + 0.5, y2 + 0.5); cairo_stroke (cr); x++; ge_cairo_set_color (cr, &light); cairo_move_to (cr, x + 0.5, y1 + 0.5); cairo_line_to (cr, x + 0.5, y2 + 0.5); cairo_stroke (cr); cairo_destroy (cr); } static void draw_shadow (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { cairo_t *cr; GdkRectangle area2; gboolean focused = FALSE; CHECK_ARGS SANITIZE_SIZE area2.x = x; area2.y = y; area2.width = width; area2.height = height; if (widget != 0 && !GTK_WIDGET_IS_SENSITIVE (widget)) state_type = GTK_STATE_INSENSITIVE; debug ("draw_shadow: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); if (widget != NULL && GTK_WIDGET_HAS_FOCUS (widget)) focused = TRUE; if (widget && (GE_IS_COMBO (widget->parent) || GE_IS_COMBO_BOX_ENTRY (widget->parent))) { GtkWidget *button; if (ge_widget_is_ltr (widget)) width += 2; else { x -= 3; width += 3; } if (area == NULL) area = &area2; g_object_set_data ((GObject*) widget->parent, "entry", widget); button = g_object_get_data ((GObject*) widget->parent, "button"); if (GE_IS_WIDGET (button)) gtk_widget_queue_draw_area (button, button->allocation.x, button->allocation.y, button->allocation.width,button->allocation.height); } if (widget && GTK_IS_SPIN_BUTTON (widget)) { if (ge_widget_is_ltr (widget)) width += 2; else { x -= 3; width += 3; } if (area == NULL) area = &area2; } cr = ge_gdk_drawable_to_cairo (window, area); if (DETAIL ("entry")) paint_entry_shadow (cr, style, state_type, focused, x, y, width, height); else paint_shadow (cr, style, state_type, shadow_type, x, y, width, height); cairo_destroy (cr); } static void draw_box (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { cairo_t *cr; gdouble cx, cy, cw, ch; CHECK_ARGS SANITIZE_SIZE debug ("draw_box: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); cr = ge_gdk_drawable_to_cairo (window, area); if (DETAIL ("spinbutton")) { gboolean focused = FALSE; if (widget) { state_type = GTK_WIDGET_STATE (widget); focused = GTK_WIDGET_HAS_FOCUS (widget); } width += 3; if (ge_widget_is_ltr (widget)) x -= 3; paint_entry_shadow (cr, style, state_type, focused, x, y, width, height); cairo_destroy (cr); return; } /* no pressed state for scollbar buttons yet... */ if (DETAIL ("vscrollbar") || DETAIL ("hscrollbar")) shadow_type = GTK_SHADOW_OUT; if (DETAIL ("button") || DETAIL ("optionmenu") || DETAIL ("spinbutton_down") || DETAIL ("spinbutton_up")) { gboolean extra_shadow = TRUE; gboolean focused = FALSE; if (widget) focused = GTK_WIDGET_HAS_FOCUS (widget); if (DETAIL ("spinbutton_down") || DETAIL ("spinbutton_up")) { /* add some padding */ width -= 3; if (DETAIL ("spinbutton_up")) { y += 3; height -= 3; } else { y += 1; height -= 4; } if (!ge_widget_is_ltr (widget)) x += 3; extra_shadow = FALSE; } if (widget && (GE_IS_COMBO (widget->parent) || GE_IS_COMBO_BOX_ENTRY (widget->parent))) { /* Combobox buttons */ GtkWidget *entry; gboolean entry_focused = FALSE; if ((entry = g_object_get_data ((GObject*) widget->parent, "entry"))) { entry_focused = (GTK_WIDGET_HAS_FOCUS (entry)); state_type = GTK_WIDGET_STATE (entry); } if (state_type == GTK_STATE_INSENSITIVE) gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_INSENSITIVE]); else gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_NORMAL]); cairo_rectangle (cr, x, y, width, height); cairo_fill (cr); g_object_set_data ((GObject*) widget->parent, "button", widget); if (ge_widget_is_ltr (widget)) paint_entry_shadow (cr, style, state_type, entry_focused, x - 4, y, width + 4, height); else paint_entry_shadow (cr, style, state_type, entry_focused, x, y, width + 4, height); x += 3; y += 3; width -= 6; height -= 6; extra_shadow = FALSE; } if (widget && (GE_IS_TREE_VIEW (widget->parent))) { /* Add some extra padding for treeview column buttons */ if (state_type == GTK_STATE_INSENSITIVE) gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_INSENSITIVE]); else gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_NORMAL]); cairo_rectangle (cr, x, y, width, height); cairo_fill (cr); x += 1; y += 1; width -= 2; height -= 2; extra_shadow = FALSE; } paint_button (cr, style, state_type, shadow_type, focused, extra_shadow, x, y, width, height); } else if (DETAIL ("buttondefault")) { /* draw Default Button marking, but only when sensitive */ if (state_type != GTK_STATE_INSENSITIVE) { CairoColor c; ge_gdk_color_to_cairo (&style->bg[GTK_STATE_SELECTED], &c); cairo_set_source_rgba (cr, c.r, c.g, c.b, 0.6); ge_cairo_rounded_rectangle (cr, x, y, width, height, 3.0, CR_CORNER_ALL); cairo_fill (cr); } } else if (DETAIL ("menuitem")) paint_menuitem (cr, style, state_type, x, y, width, height); else if (DETAIL ("menu")) { cx = x + 0.5; cy = y + 0.5; cw = width - 1.0; ch = height - 1.0; cairo_rectangle (cr, cx, cy, cw, ch); cairo_set_source_rgb (cr, 54/255.0, 52/255.0, 54/255.0); cairo_stroke (cr); cx++; cy++; cw -= 2.0; ch -= 2.0; gdk_cairo_set_source_color (cr, &style->light[state_type]); cairo_move_to (cr, cx, cy + ch); cairo_line_to (cr, cx, cy); cairo_line_to (cr, cx + cw, cy); cairo_stroke (cr); gdk_cairo_set_source_color (cr, &style->dark[state_type]); cairo_move_to (cr, cx + cw, cy); cairo_line_to (cr, cx + cw, cy + ch); cairo_line_to (cr, cx, cy + ch); cairo_stroke (cr); } else if (DETAIL ("bar") || DETAIL ("entry-progress")) { GtkProgressBarOrientation orientation; CairoColor base_color; gdouble fraction = 0; if (widget && GE_IS_PROGRESS_BAR (widget)) { orientation = gtk_progress_bar_get_orientation (GTK_PROGRESS_BAR (widget)); fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (widget)); } else orientation = GTK_PROGRESS_LEFT_TO_RIGHT; if (DETAIL ("bar")) ge_gdk_color_to_cairo (&style->base[GTK_STATE_SELECTED], &base_color); else ge_gdk_color_to_cairo (&style->bg[state_type], &base_color); paint_progress_bar (cr, style, state_type, orientation, x, y, width, height, fraction, &base_color); } else if (DETAIL ("trough") && GE_IS_SCALE (widget)) { GtkOrientation orientation; if (GE_IS_VSCALE (widget)) { x += 1; width -= 2; orientation = GTK_ORIENTATION_VERTICAL; } else { y += 1; height -= 2; orientation = GTK_ORIENTATION_HORIZONTAL; } paint_scale_trough (cr, style, state_type, orientation, x, y, width, height); } else if (DETAIL ("trough") && GE_IS_SCROLLBAR (widget)) { if (GE_IS_HSCROLLBAR (widget)) paint_scrollbar_trough (cr, style, state_type, GTK_ORIENTATION_HORIZONTAL, x, y, width, height); else paint_scrollbar_trough (cr, style, state_type, GTK_ORIENTATION_VERTICAL, x, y, width, height); } else { /* fill */ cairo_rectangle (cr, x, y, width, height); if (DETAIL ("toolbar") || DETAIL ("menubar") || DETAIL ("vscrollbar") || DETAIL ("hscrollbar") || DETAIL ("handlebox_bin") || DETAIL ("dockitem")) { /* make the handle and child widget appear as one */ if (widget && widget->parent && GTK_IS_HANDLE_BOX (widget->parent)) { GtkPositionType position; position = gtk_handle_box_get_handle_position (GTK_HANDLE_BOX (widget->parent)); if (!ge_widget_is_ltr (widget->parent)) { if (position == GTK_POS_TOP) position = GTK_POS_BOTTOM; else if (position == GTK_POS_BOTTOM) position = GTK_POS_TOP; else if (position == GTK_POS_LEFT) position = GTK_POS_RIGHT; else if (position == GTK_POS_RIGHT) position = GTK_POS_LEFT; } switch (position) { case GTK_POS_TOP: y -= 3; height += 3; break; case GTK_POS_BOTTOM: height += 3; break; case GTK_POS_LEFT: x -= 3; width += 3; break; case GTK_POS_RIGHT: width += 3; } } if (shadow_type == GTK_SHADOW_OUT || shadow_type == GTK_SHADOW_ETCHED_OUT) { cairo_pattern_t *crp; CairoColor c1, c2; gdouble shade_v = 0.1; GtkOrientation gradient_orientation = GTK_ORIENTATION_HORIZONTAL; ge_gdk_color_to_cairo (&style->bg[state_type], &c1); if (DETAIL ("vscrollbar") || DETAIL ("hscrollbar")) { shade_v = 0.3; if (DETAIL ("vscrollbar")) gradient_orientation = GTK_ORIENTATION_VERTICAL; } if (gradient_orientation == GTK_ORIENTATION_HORIZONTAL) crp = cairo_pattern_create_linear (x, y, x, y + height); else crp = cairo_pattern_create_linear (x, y, x + width, y); ge_shade_color (&c1, 1.0 - shade_v, &c2); ge_shade_color (&c1, 1.0 + shade_v, &c1); /* cairo_pattern_add_color_stop_rgb (crp, 0.0, 238/255.0, 238/255.0, 236/255.0); cairo_pattern_add_color_stop_rgb (crp, 1.0, 185/255.0, 189/255.0, 182/255.0); */ cairo_pattern_add_color_stop_rgb (crp, 0.0, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, c2.r, c2.g, c2.b); cairo_set_source (cr, crp); cairo_fill (cr); cairo_pattern_destroy (crp); } else if (shadow_type == GTK_SHADOW_IN || shadow_type == GTK_SHADOW_ETCHED_IN) { /* cairo_set_source_rgb (cr, 196/255.0, 198/255.0, 192/255.0); */ gdk_cairo_set_source_color (cr, &style->bg[state_type]); cairo_fill (cr); } } else { gdk_cairo_set_source_color (cr, &style->bg[state_type]); cairo_fill (cr); } if (GE_IS_PROGRESS_BAR (widget) && DETAIL ("trough")) { /* draw a shadow in progress bar troughs */ cx = x + 1.5; cy = y + 1.5; cw = width - 3.0; ch = height - 3.0; cairo_move_to (cr, cx + 1.0, cy+ ch - 1.0); cairo_line_to (cr, cx + 1.0, cy+ 1.0); cairo_line_to (cr, cx + cw - 1.0, cy+ 1.0); cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.22); cairo_stroke (cr); cairo_move_to (cr, cx + 2.0, cy + ch - 1.0); cairo_line_to (cr, cx + 2.0, cy + 2.0); cairo_line_to (cr, cx + cw - 1.0, cy+ 2.0); cairo_line_to (cr, cx + cw - 1.0, cy+ ch - 1.0); cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.12); cairo_stroke (cr); cairo_rectangle (cr, cx + 3.0, cy + 3.0, cw - 5.0, ch - 4.0); cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.03); cairo_stroke (cr); } paint_shadow (cr, style, state_type, shadow_type, x, y, width, height); } cairo_destroy (cr); } static void draw_arrow (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GtkArrowType arrow_type, gint fill, gint x, gint y, gint width, gint height) { cairo_t *cr; CHECK_ARGS; debug ("draw_arrow: detail=%s state=%d shadow=%d arrow_type=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, arrow_type, x, y, width, height); if (arrow_type == (GtkArrowType)4)/*NONE - new in GTK 2.10*/ return; /* random adjustments... */ if (DETAIL ("vscrollbar") || DETAIL ("hscrollbar")) { if (arrow_type == GTK_ARROW_DOWN) y++; else if (arrow_type == GTK_ARROW_RIGHT) x++; } if (DETAIL ("spinbutton")) { if (ge_widget_is_ltr (widget)) x--; else x += 1; if (arrow_type == GTK_ARROW_UP) y++; } if (arrow_type == GTK_ARROW_UP || arrow_type == GTK_ARROW_DOWN) { x = x + width / 2 - 2; y = y + height / 2 - 2; height = 4; width = 5; } else if (arrow_type == GTK_ARROW_LEFT || GTK_ARROW_RIGHT) { x = x + width / 2 - 2; y = y + height / 2 - 2; height = 5; width = 4; } cr = ge_gdk_drawable_to_cairo (window, area); switch (arrow_type) { case GTK_ARROW_UP: cairo_move_to (cr, x, y + height); cairo_line_to (cr, x + width, y + height); cairo_line_to (cr, x + (width / 2.0), y); cairo_line_to (cr, x, y + height); break; default: case GTK_ARROW_DOWN: cairo_move_to (cr, x, y); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x + (width / 2.0), y + height); cairo_line_to (cr, x, y); break; case GTK_ARROW_LEFT: cairo_move_to (cr, x + width, y); cairo_line_to (cr, x, y + (height / 2.0)); cairo_line_to (cr, x + width, y + height); cairo_line_to (cr, x + width, y); break; case GTK_ARROW_RIGHT: cairo_move_to (cr, x, y); cairo_line_to (cr, x + width, y + (height / 2.0)); cairo_line_to (cr, x, y + height); cairo_line_to (cr, x, y); break; } gdk_cairo_set_source_color (cr, &style->fg[state_type]); cairo_fill (cr); cairo_destroy (cr); } static void draw_check (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { cairo_t * cr; cairo_pattern_t *crp; CairoColor c1, bg, outline; gdouble cx, cy, cw, ch; /* co-ordinates for cairo */ CHECK_ARGS SANITIZE_SIZE debug ("draw_check: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); cr = ge_gdk_drawable_to_cairo (window, NULL); /* set up colours */ ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &bg); /* outline colour */ ge_shade_color (&bg, OUTLINE_SHADE, &outline); /* set up for line drawing */ cx = x + 0.5; cy = y + 0.5; ch = height - 1.0; cw = width - 1.0; if (!GE_IS_MENU_ITEM (widget)) { ge_cairo_rounded_rectangle (cr, cx, cy, cw, ch, 2.0, CR_CORNER_ALL); if (state_type == GTK_STATE_INSENSITIVE) { gdk_cairo_set_source_color (cr, &style->bg[state_type]); cairo_fill_preserve (cr); gdk_cairo_set_source_color (cr, &style->fg[state_type]); cairo_stroke (cr); /* prepare area for check mark */ cx+= 2.0; cy+= 2.0; cw -= 4.0; ch -= 4.0; } else { /* create gradient */ crp = cairo_pattern_create_linear (cx, cy, cx, cy + ch); ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &c1); ge_shade_color (&c1, 0.9, &c1); /* darken */ if (state_type == GTK_STATE_ACTIVE) { cairo_pattern_add_color_stop_rgb (crp, 0.0, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, 1.0, 1.0, 1.0); } else { cairo_pattern_add_color_stop_rgb (crp, 0.0, 1.0, 1.0, 1.0); cairo_pattern_add_color_stop_rgb (crp, 1.0, c1.r, c1.g, c1.b); } cairo_set_source (cr, crp); cairo_fill_preserve (cr); cairo_pattern_destroy (crp); ge_cairo_set_color (cr, &outline); cairo_stroke (cr); /* inner hilight */ cx+=1.0; cy+=1.0; cw -= 2.0; ch -= 2.0; ge_cairo_rounded_rectangle (cr, cx, cy, cw, ch, 1.0, CR_CORNER_ALL); cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.7); cairo_stroke (cr); /* prepare area for check mark */ cx+=1.0; cy+=1.0; cw -= 2.0; ch -= 2.0; } } if (shadow_type == GTK_SHADOW_IN) { cairo_set_line_width (cr, 2.0); /* draw check mark shadow first */ if (state_type != GTK_STATE_INSENSITIVE) { cy+=1.0; cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.3); cairo_move_to (cr, cx + floor(cw / 4), cy + ch / 2); cairo_line_to (cr, cx + floor(cw / 2), cy + floor(ch * 0.75)); cairo_line_to (cr, cx + cw, cy + floor(ch / 4)); cairo_stroke (cr); cy-=1.0; } if (state_type == GTK_STATE_INSENSITIVE) gdk_cairo_set_source_color (cr, &style->fg[state_type]); else gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_SELECTED]); /* draw check mark */ /* use floor() so that we still end up with a .5 value when adding to the co-ordinate! */ cairo_move_to (cr, cx + floor(cw / 4), cy + ch / 2); cairo_line_to (cr, cx + floor(cw / 2), cy + floor(ch * 0.75)); cairo_line_to (cr, cx + cw, cy + floor(ch / 4)); cairo_stroke (cr); } else if (shadow_type != GTK_SHADOW_OUT) { cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.3); cairo_rectangle (cr, x + width / 4, y + (height /3) + 0.5, width - (width / 2), height / 4); cairo_fill (cr); gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_SELECTED]); cairo_rectangle (cr, x + width / 4, y + (height /3), width - (width / 2), height / 4); cairo_fill (cr); } cairo_destroy (cr); } static void draw_option (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { cairo_t *cr; cairo_pattern_t *crp; gdouble cx, cy, radius; /* cairo co-ordinates */ CairoColor c1, c2, bg, outline; CHECK_ARGS SANITIZE_SIZE debug ("draw_option: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); cr = ge_gdk_drawable_to_cairo (window, area); /* set up colours */ ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &bg); /* outline colour */ ge_shade_color (&bg, OUTLINE_SHADE, &outline); /* gradient colours */ ge_shade_color (&bg, 0.7, &c2); ge_gdk_color_to_cairo (&style->white, &c1); cx = x + (height / 2); cy = y + (height / 2); radius = (height / 2) - 0.5; if (!GE_IS_MENU_ITEM (widget)) { cairo_arc (cr, cx, cy, radius, 0.0, G_PI * 2); if (state_type == GTK_STATE_INSENSITIVE) { gdk_cairo_set_source_color (cr, &style->bg[state_type]); cairo_fill_preserve (cr); gdk_cairo_set_source_color (cr, &style->fg[state_type]); cairo_stroke (cr); } else { crp = cairo_pattern_create_linear (x, y, x + height, y + height); if (state_type != GTK_STATE_ACTIVE) { /* out shadow */ cairo_pattern_add_color_stop_rgb (crp, 0.2, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, c2.r, c2.g, c2.b); } else { /* in shadow */ cairo_pattern_add_color_stop_rgb (crp, 0.0, c2.r, c2.g, c2.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, c1.r, c1.g, c1.b); } cairo_set_source (cr, crp); cairo_fill_preserve (cr); cairo_pattern_destroy (crp); ge_cairo_set_color (cr, &outline); cairo_stroke (cr); cairo_arc (cr, cx, cy, radius - 1.0, 0.0, G_PI * 2); cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.5); cairo_stroke (cr); } /* only make the "dot" smaller if we have drawn a border */ radius = radius / 2.0; } if (shadow_type == GTK_SHADOW_IN) { /* draw check mark */ cairo_arc (cr, cx, cy, radius, 0.0, G_PI * 2); if (state_type == GTK_STATE_INSENSITIVE) { gdk_cairo_set_source_color (cr, &style->fg[state_type]); cairo_fill_preserve (cr); cairo_stroke (cr); } else { gdk_cairo_set_source_color (cr, &style->light[GTK_STATE_SELECTED]); cairo_fill_preserve (cr); gdk_cairo_set_source_color (cr, &style->dark[GTK_STATE_SELECTED]); cairo_stroke (cr); } } else if (shadow_type != GTK_SHADOW_OUT) { cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.3); cairo_rectangle (cr, x + width / 4, y + (height /3) + 0.5, width - (width / 2), height / 4); cairo_fill (cr); gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_SELECTED]); cairo_rectangle (cr, x + width / 4, y + (height /3), width - (width / 2), height / 4); cairo_fill (cr); } cairo_destroy (cr); } static void draw_tab (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { CHECK_ARGS SANITIZE_SIZE /* Draws an option menu tab (the up and down pointing arrows) * TODO: Make this look neater */ debug ("draw_tab: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); draw_arrow (style, window, state_type, shadow_type, area, widget, detail, GTK_ARROW_UP, FALSE, x + (width / 2) - 2, y - (height / 2), 7, 7); draw_arrow (style, window, state_type, shadow_type, area, widget, detail, GTK_ARROW_DOWN, FALSE, x + (width / 2) - 2, y + (height / 2), 7, 7); } static void draw_shadow_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width) { GdkRectangle rect; CHECK_ARGS SANITIZE_SIZE debug ("draw_shadow_gap: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); gtk_paint_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); switch (gap_side) { case GTK_POS_TOP: rect.x = x + gap_x; rect.y = y; rect.width = gap_width; rect.height = 2; break; default: case GTK_POS_BOTTOM: rect.x = x + gap_x; rect.y = y + height - 2; rect.width = gap_width; rect.height = 2; break; case GTK_POS_LEFT: rect.x = x; rect.y = y + gap_x; rect.width = 2; rect.height = gap_width; break; case GTK_POS_RIGHT: rect.x = x + width - 2; rect.y = y + gap_x; rect.width = 2; rect.height = gap_width; break; } gtk_style_apply_default_background (style, window, TRUE, state_type, area, rect.x, rect.y, rect.width, rect.height); } static void draw_box_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width) { GdkRectangle rect; CHECK_ARGS SANITIZE_SIZE debug ("draw_box_gap: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); gtk_paint_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); switch (gap_side) { case GTK_POS_TOP: rect.x = x + gap_x + 1; rect.y = y; rect.width = gap_width - 2; rect.height = 2; break; default: case GTK_POS_BOTTOM: rect.x = x + gap_x + 1; rect.y = y + height - 2; rect.width = gap_width - 2; rect.height = 2; break; case GTK_POS_LEFT: rect.x = x; rect.y = y + gap_x + 1; rect.width = 2; rect.height = gap_width - 2; break; case GTK_POS_RIGHT: rect.x = x + width - 2; rect.y = y + gap_x + 1; rect.width = 2; rect.height = gap_width - 2; break; } gtk_style_apply_default_background (style, window, TRUE, state_type, area, rect.x, rect.y, rect.width, rect.height); } static void draw_extension (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side) { cairo_t *cr; cairo_pattern_t *crp; CairoColor c1, c2, bg, outline; CairoCorners corners; gdouble radius = 2; debug ("draw_extension: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); cr = ge_gdk_drawable_to_cairo (window, area); /* set up colours */ ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_shade_color (&bg, 1.1, &c1); c2.r = bg.r; c2.g = bg.g; c2.b = bg.b; /* make sure the correct area is clipped */ cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); /* outline colour */ ge_shade_color (&bg, OUTLINE_SHADE, &outline); switch (gap_side) { case GTK_POS_TOP: /* bottom tab */ y -= style->ythickness; height += style->ythickness; corners = CR_CORNER_BOTTOMLEFT + CR_CORNER_BOTTOMRIGHT; crp = cairo_pattern_create_linear (x, y + height, x, y); ge_shade_color (&c2, 0.8, &c1); break; default: case GTK_POS_BOTTOM: /* top tab */ height += style->ythickness; corners = CR_CORNER_TOPLEFT + CR_CORNER_TOPRIGHT; crp = cairo_pattern_create_linear (x, y, x, y + height); break; case GTK_POS_LEFT: /* right tab */ x -= style->xthickness; width += style->xthickness; corners = CR_CORNER_TOPRIGHT + CR_CORNER_BOTTOMRIGHT; crp = cairo_pattern_create_linear (x + width, y, x, y); break; case GTK_POS_RIGHT: /* left tab */ width += style->xthickness; corners = CR_CORNER_BOTTOMLEFT + CR_CORNER_TOPLEFT; crp = cairo_pattern_create_linear (x, y, x + width, y); break; } ge_cairo_rounded_rectangle (cr, x + 0.5, y + 0.5, width - 1.0, height - 1.0, radius, corners); cairo_pattern_add_color_stop_rgb (crp, 0.0, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 0.3, c2.r, c2.g, c2.b); cairo_set_source (cr, crp); cairo_fill_preserve (cr); cairo_pattern_destroy (crp); ge_cairo_set_color (cr, &outline); cairo_stroke (cr); x++; y++; width -= 2.0; height -= 2.0; radius--; /* setup for stroke */ cairo_translate (cr, 0.5, 0.5); width--; height--; if (state_type == GTK_STATE_NORMAL) { /* we want to draw outside the width/height now */ cairo_reset_clip (cr); switch (gap_side) { /* top */ case GTK_POS_BOTTOM: height++; cairo_move_to (cr, x, y + height); cairo_arc (cr, x + radius, y + radius, radius, G_PI, G_PI * 1.5); cairo_line_to (cr, x + width - radius, y); cairo_set_source_rgba (cr, 1, 1, 1, 0.7); cairo_stroke (cr); cairo_arc (cr, x + width - radius, y + radius, radius, G_PI * 1.5, 0); cairo_line_to (cr, x + width, y + height - 1); cairo_set_source_rgba (cr, 0, 0, 0, 0.2); cairo_stroke (cr); break; /* bottom */ case GTK_POS_TOP: y -= 1; height += 1; cairo_move_to (cr, x, y); cairo_arc_negative (cr, x + radius, y + height - radius, radius, G_PI, G_PI * 0.5); cairo_set_source_rgba (cr, 1, 1, 1, 0.7); cairo_stroke (cr); cairo_move_to (cr, x + 1, y + height); cairo_line_to (cr, x + width - radius, y + height); cairo_arc_negative (cr, x + width - radius, y + height - radius, radius, G_PI * 0.5, 0); cairo_line_to (cr, x + width, y); cairo_set_source_rgba (cr, 0, 0, 0, 0.2); cairo_stroke (cr); break; /* right */ case GTK_POS_LEFT: x -= 1; width += 1; cairo_move_to (cr, x, y); cairo_arc (cr, x + width - radius, y + radius, radius, G_PI * 1.5, 0); cairo_arc (cr, x + width - radius, y + height - radius, radius, 0, G_PI * 0.5); cairo_set_source_rgba (cr, 1, 1, 1, 0.7); cairo_stroke (cr); cairo_move_to (cr, x + width - 1, y + height); cairo_line_to (cr, x, y + height); cairo_set_source_rgba (cr, 0, 0, 0, 0.2); cairo_stroke (cr); break; /* left */ case GTK_POS_RIGHT: width += 1; cairo_move_to (cr, x + width, y); cairo_arc_negative (cr, x + radius, y + radius, radius, G_PI * 1.5, G_PI); cairo_arc_negative (cr, x + radius, y + height - radius, radius, G_PI, G_PI * 0.5); cairo_set_source_rgba (cr, 1, 1, 1, 0.7); cairo_stroke (cr); cairo_move_to (cr, x + 1, y + height); cairo_line_to (cr, x + width, y + height); cairo_set_source_rgba (cr, 0, 0, 0, 0.2); cairo_stroke (cr); break; } } else { ge_cairo_rounded_rectangle (cr, x, y, width, height, 1.0, corners); cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.5); cairo_stroke (cr); } cairo_destroy (cr); } static void draw_focus (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { debug ("draw_focus: detail=%s x=%d y=%d w=%d h=%d\n", detail, x, y, width, height); if (DETAIL ("entry")) { cairo_t *cr; cr = ge_gdk_drawable_to_cairo (window, area); cairo_rectangle (cr, x + 0.5, y + 0.5, width - 1.0, height - 1.0); gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_SELECTED]); cairo_stroke (cr); cairo_destroy (cr); return; } /* buttons draw their own focus indicator */ if (DETAIL ("button")) return; /* Make sure no widget is without a focus indicator! */ parent_style_class->draw_focus(style, window, state_type, area, widget, detail, x, y, width, height); } static void draw_slider (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { cairo_t *cr; cairo_pattern_t *crp; CairoColor c1, c2; gboolean is_scale = (DETAIL ("vscale") || DETAIL ("hscale")); CHECK_ARGS SANITIZE_SIZE debug ("draw_slider: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); cr = ge_gdk_drawable_to_cairo (window, area); ge_gdk_color_to_cairo (&style->bg[GTK_STATE_SELECTED], &c2); /* light */ CRUX_LIGHT (c2, c1); if (state_type == GTK_STATE_PRELIGHT) { ge_shade_color (&c1, 1.2, &c1); } /* dark */ CRUX_DARK (c2, c2); if (widget != NULL && GTK_WIDGET_HAS_FOCUS (widget)) { ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width-1.0, height-1.0, 2, CR_CORNER_ALL); } if (orientation == GTK_ORIENTATION_VERTICAL) crp = cairo_pattern_create_linear (x, y, x + width, y); else crp = cairo_pattern_create_linear (x, y, x, y + height); if (is_scale) ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width-1.0, height-1.0, 2, CR_CORNER_ALL); else cairo_rectangle (cr, x + 0.5, y + 0.5, width - 1.0, height - 1.0); cairo_pattern_add_color_stop_rgb (crp, 0.0, c1.r, c1.g, c1.b); cairo_pattern_add_color_stop_rgb (crp, 1.0, c2.r, c2.g, c2.b); cairo_set_source (cr, crp); cairo_fill_preserve (cr); cairo_pattern_destroy (crp); cairo_set_source_rgb (cr, c2.r, c2.g, c2.b); cairo_stroke (cr); /* bevel */ if (is_scale) ge_cairo_rounded_rectangle (cr, x+1.5, y+1.5, width-3.0, height-3.0, 2, CR_CORNER_ALL); else cairo_rectangle (cr, x+1.5, y+1.5, width-3.0, height-3.0); if (orientation == GTK_ORIENTATION_VERTICAL) crp = cairo_pattern_create_linear (x, y, x + width, y); else crp = cairo_pattern_create_linear (x, y, x, y + height); cairo_pattern_add_color_stop_rgba (crp, 0.0, 1.0, 1.0, 1.0, 0.2); cairo_pattern_add_color_stop_rgba (crp, 1.0, 1.0, 1.0, 1.0, 0.1); cairo_set_source (cr, crp); cairo_stroke (cr); cairo_pattern_destroy (crp); cairo_destroy (cr); } static void draw_handle (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { gint i, yy, xx; gint xthick, ythick; GdkGC *light_gc, *dark_gc; GdkRectangle dest; CHECK_ARGS SANITIZE_SIZE debug ("draw_handle: detail=%s state=%d shadow=%d x=%d y=%d w=%d h=%d\n", detail, state_type, shadow_type, x, y, width, height); if (DETAIL ("dockitem") && state_type == GTK_STATE_NORMAL) state_type = GTK_STATE_ACTIVE; light_gc = style->light_gc[state_type]; dark_gc = style->dark_gc[state_type]; xthick = style->xthickness + 1; ythick = style->ythickness + 1; dest.x = x + xthick; dest.y = y + ythick; dest.width = width - (xthick * 2); dest.height = height - (ythick * 2); gdk_gc_set_clip_rectangle (light_gc, &dest); gdk_gc_set_clip_rectangle (dark_gc, &dest); /* ORIENTATION parameters is unreliable */ if (height > width) { yy = y + height / 2 - 4; for (i = 0; i < 8; i += 2) { gdk_draw_line (window, dark_gc, xthick, yy + i, x + width - xthick, yy + i); gdk_draw_line (window, light_gc, xthick, yy + i + 1, x + width - xthick, yy + i + 1); } } else { xx = x + width / 2 - 4; for (i = 0; i < 8; i += 2) { gdk_draw_line (window, dark_gc, xx + i, ythick, xx + i, y + height - ythick); gdk_draw_line (window, light_gc, xx + i + 1, ythick, xx + i + 1, y + height - ythick); } } gdk_gc_set_clip_rectangle (light_gc, NULL); gdk_gc_set_clip_rectangle (dark_gc, NULL); } static void draw_layout (GtkStyle *style, GdkWindow *window, GtkStateType state_type, gboolean use_text, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, PangoLayout *layout) { GdkGC *gc; g_return_if_fail (GTK_IS_STYLE (style)); g_return_if_fail (window != NULL); gc = use_text ? style->text_gc[state_type] : style->fg_gc[state_type]; if (area) { gdk_gc_set_clip_rectangle (gc, area); } gdk_draw_layout (window, gc, x, y, layout); if (area) { gdk_gc_set_clip_rectangle (gc, NULL); } } void crux_draw_style_class_init (GtkStyleClass *style_class) { parent_style_class = g_type_class_peek_parent(style_class); style_class->draw_hline = draw_hline; style_class->draw_vline = draw_vline; style_class->draw_shadow = draw_shadow; style_class->draw_arrow = draw_arrow; style_class->draw_box = draw_box; style_class->draw_check = draw_check; style_class->draw_option = draw_option; style_class->draw_tab = draw_tab; style_class->draw_shadow_gap = draw_shadow_gap; style_class->draw_box_gap = draw_box_gap; style_class->draw_extension = draw_extension; style_class->draw_focus = draw_focus; style_class->draw_slider = draw_slider; style_class->draw_handle = draw_handle; style_class->draw_layout = draw_layout; } gtk-engines-2.20.2/engines/crux/src/crux-draw.h0000644000175000017500000000025111445424675016230 00000000000000#ifndef CRUX_DRAW_H #define CRUX_DRAW_H #include #include "ge-support.h" GE_INTERNAL void crux_draw_style_class_init (GtkStyleClass *style_class); #endif gtk-engines-2.20.2/engines/crux/src/crux-main.c0000644000175000017500000000067711445424675016226 00000000000000#include "crux.h" #include #include #include #include "crux-rc-style.h" #include "crux-style.h" #include "crux-draw.h" GE_EXPORT void theme_init (GTypeModule *module) { crux_rc_style_register_types (module); crux_style_register_types (module); } GE_EXPORT void theme_exit(void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { return GTK_RC_STYLE (g_object_new (CRUX_TYPE_RC_STYLE, NULL)); } gtk-engines-2.20.2/engines/crux/src/crux-style.c0000644000175000017500000000102011445424675016421 00000000000000#include "crux-style.h" #include "crux-draw.h" #include #include G_DEFINE_DYNAMIC_TYPE (CruxStyle, crux_style, GTK_TYPE_STYLE) void crux_style_register_types (GTypeModule *module) { crux_style_register_type (module); } static void crux_style_class_init (CruxStyleClass *klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); crux_draw_style_class_init (style_class); } static void crux_style_init (CruxStyle *style) { } static void crux_style_class_finalize (CruxStyleClass *klass) { } gtk-engines-2.20.2/engines/crux/src/crux-style.h0000644000175000017500000000205511445424675016437 00000000000000#ifndef CRUX_STYLE_H #define CRUX_STYLE_H #include #include #include "crux-draw.h" G_BEGIN_DECLS GE_INTERNAL extern GType crux_type_style; #define CRUX_TYPE_STYLE (crux_style_get_type ()) #define CRUX_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), CRUX_TYPE_STYLE, CruxStyle)) #define CRUX_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CRUX_TYPE_STYLE, CruxStyleClass)) #define CRUX_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), CRUX_TYPE_STYLE)) #define CRUX_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CRUX_TYPE_STYLE)) #define CRUX_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CRUX_TYPE_STYLE, CruxStyleClass)) typedef struct _CruxStyle CruxStyle; typedef struct _CruxStyleClass CruxStyleClass; struct _CruxStyle { GtkStyle parent_instance; }; struct _CruxStyleClass { GtkStyleClass parent_class; }; GE_INTERNAL void crux_style_register_types (GTypeModule *module); GE_INTERNAL GType crux_style_get_type (void); G_END_DECLS #endif gtk-engines-2.20.2/engines/crux/src/crux-rc-style.c0000644000175000017500000000145111445424675017033 00000000000000#include #include "crux-rc-style.h" #include "crux-style.h" #include #include static GtkStyle *crux_rc_style_create_style (GtkRcStyle *rc_style); G_DEFINE_DYNAMIC_TYPE (CruxRcStyle, crux_rc_style, GTK_TYPE_RC_STYLE) void crux_rc_style_register_types (GTypeModule *module) { crux_rc_style_register_type (module); } static void crux_rc_style_class_init (CruxRcStyleClass *klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->create_style = crux_rc_style_create_style; } static GtkStyle * crux_rc_style_create_style (GtkRcStyle *rc_style) { return GTK_STYLE (g_object_new (CRUX_TYPE_STYLE, NULL)); } static void crux_rc_style_init (CruxRcStyle *rc_style) { } static void crux_rc_style_class_finalize (CruxRcStyleClass *klass) { } gtk-engines-2.20.2/engines/crux/src/crux-rc-style.h0000644000175000017500000000206211445424675017037 00000000000000#ifndef CRUX_RC_STYLE_H #define CRUX_RC_STYLE_H #include #include "ge-support.h" G_BEGIN_DECLS #define CRUX_TYPE_RC_STYLE (crux_rc_style_get_type ()) #define CRUX_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), CRUX_TYPE_RC_STYLE, CruxRcStyle)) #define CRUX_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CRUX_TYPE_RC_STYLE, CruxRcStyleClass)) #define CRUX_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), CRUX_TYPE_RC_STYLE)) #define CRUX_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CRUX_TYPE_RC_STYLE)) #define CRUX_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CRUX_TYPE_RC_STYLE, CruxRcStyleClass)) typedef struct _CruxRcStyle CruxRcStyle; typedef struct _CruxRcStyleClass CruxRcStyleClass; struct _CruxRcStyle { GtkRcStyle parent_instance; }; struct _CruxRcStyleClass { GtkRcStyleClass parent_class; }; GE_INTERNAL void crux_rc_style_register_types (GTypeModule *engine); GE_INTERNAL GType crux_rc_style_get_type (void); G_END_DECLS #endif gtk-engines-2.20.2/engines/crux/Makefile.am0000644000175000017500000000134111446654310015401 00000000000000INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libcrux-engine.la EXTRA_DIST = \ ./AUTHORS libcrux_engine_la_SOURCES = \ ./src/crux.h \ ./src/crux-draw.c \ ./src/crux-draw.h \ ./src/crux-main.c \ ./src/crux-style.c \ ./src/crux-style.h \ ./src/crux-rc-style.c \ ./src/crux-rc-style.h libcrux_engine_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libcrux_engine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/crux/Makefile.in0000644000175000017500000005566611451355760015440 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/crux DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libcrux_engine_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libcrux_engine_la_OBJECTS = crux-draw.lo crux-main.lo crux-style.lo \ crux-rc-style.lo libcrux_engine_la_OBJECTS = $(am_libcrux_engine_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libcrux_engine_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libcrux_engine_la_LDFLAGS) $(LDFLAGS) \ -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libcrux_engine_la_SOURCES) DIST_SOURCES = $(libcrux_engine_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libcrux-engine.la EXTRA_DIST = \ ./AUTHORS libcrux_engine_la_SOURCES = \ ./src/crux.h \ ./src/crux-draw.c \ ./src/crux-draw.h \ ./src/crux-main.c \ ./src/crux-style.c \ ./src/crux-style.h \ ./src/crux-rc-style.c \ ./src/crux-rc-style.h libcrux_engine_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libcrux_engine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/crux/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/crux/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libcrux-engine.la: $(libcrux_engine_la_OBJECTS) $(libcrux_engine_la_DEPENDENCIES) $(AM_V_CCLD)$(libcrux_engine_la_LINK) -rpath $(enginedir) $(libcrux_engine_la_OBJECTS) $(libcrux_engine_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crux-draw.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crux-main.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crux-rc-style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crux-style.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< crux-draw.lo: ./src/crux-draw.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crux-draw.lo -MD -MP -MF $(DEPDIR)/crux-draw.Tpo -c -o crux-draw.lo `test -f './src/crux-draw.c' || echo '$(srcdir)/'`./src/crux-draw.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/crux-draw.Tpo $(DEPDIR)/crux-draw.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/crux-draw.c' object='crux-draw.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crux-draw.lo `test -f './src/crux-draw.c' || echo '$(srcdir)/'`./src/crux-draw.c crux-main.lo: ./src/crux-main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crux-main.lo -MD -MP -MF $(DEPDIR)/crux-main.Tpo -c -o crux-main.lo `test -f './src/crux-main.c' || echo '$(srcdir)/'`./src/crux-main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/crux-main.Tpo $(DEPDIR)/crux-main.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/crux-main.c' object='crux-main.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crux-main.lo `test -f './src/crux-main.c' || echo '$(srcdir)/'`./src/crux-main.c crux-style.lo: ./src/crux-style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crux-style.lo -MD -MP -MF $(DEPDIR)/crux-style.Tpo -c -o crux-style.lo `test -f './src/crux-style.c' || echo '$(srcdir)/'`./src/crux-style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/crux-style.Tpo $(DEPDIR)/crux-style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/crux-style.c' object='crux-style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crux-style.lo `test -f './src/crux-style.c' || echo '$(srcdir)/'`./src/crux-style.c crux-rc-style.lo: ./src/crux-rc-style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crux-rc-style.lo -MD -MP -MF $(DEPDIR)/crux-rc-style.Tpo -c -o crux-rc-style.lo `test -f './src/crux-rc-style.c' || echo '$(srcdir)/'`./src/crux-rc-style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/crux-rc-style.Tpo $(DEPDIR)/crux-rc-style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/crux-rc-style.c' object='crux-rc-style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crux-rc-style.lo `test -f './src/crux-rc-style.c' || echo '$(srcdir)/'`./src/crux-rc-style.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/crux/AUTHORS0000644000175000017500000000027711445424675014434 00000000000000Arlo Rose - Design John Harper - Implementation Seth Nickell - GTK2 implementation Josh Barrow - original GTK+ theme gtk-engines-2.20.2/engines/glide/0000755000175000017500000000000011451420647013531 500000000000000gtk-engines-2.20.2/engines/glide/src/0000755000175000017500000000000011451420647014320 500000000000000gtk-engines-2.20.2/engines/glide/src/glide_gtk2_support.c0000644000175000017500000010236311446654310020220 00000000000000/* Glide - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "glide_gtk2_engine.h" #include "glide_gtk2_support.h" #include "glide_gtk2_drawing.h" static gdouble default_shades_table[] = { 0.66667, /* DARKER */ 1.5, /* LIGHTER */ 0.112, /* REDMOND */ 0.8, /* DARK */ 1.2 /* LIGHT */ }; void ge_blend_color(const CairoColor *color1, const CairoColor *color2, CairoColor *composite) { g_return_if_fail (color1 && color2 && composite); composite->r = (color1->r + color2->r)/2; composite->g = (color1->g + color2->g)/2; composite->b = (color1->b + color2->b)/2; composite->a = (color1->a + color2->a)/2; } typedef struct { cairo_path_t *clip; gint num_layers; cairo_pattern_t **layers; } GlideFill; static void glide_simple_border_gap_clip(cairo_t *canvas, gint x, gint y, gint width, gint height, GlideSide gap_side, gint gap_pos, gint gap_size) { if (gap_side == GLIDE_SIDE_NONE) { return; } cairo_set_line_width(canvas, 1.0); switch (gap_side) { default: case GLIDE_SIDE_TOP: cairo_move_to(canvas, x, y); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x + width, y + height); cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x + gap_pos + gap_size, y); cairo_line_to(canvas, x + gap_pos + gap_size, y + 3); cairo_line_to(canvas, x + gap_pos, y + 3); cairo_line_to(canvas, x + gap_pos, y); cairo_line_to(canvas, x, y); break; case GLIDE_SIDE_LEFT: cairo_move_to(canvas, x, y); cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x + width, y + height); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x, y + gap_pos + gap_size); cairo_line_to(canvas, x + 3, y + gap_pos + gap_size); cairo_line_to(canvas, x + 3, y + gap_pos); cairo_line_to(canvas, x, y + gap_pos); cairo_line_to(canvas, x, y); break; case GLIDE_SIDE_BOTTOM: cairo_move_to(canvas, x + width, y + height); cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x, y); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x + gap_pos, y + height); cairo_line_to(canvas, x + gap_pos, y + height - 3); cairo_line_to(canvas, x + gap_pos + gap_size, y + height - 3); cairo_line_to(canvas, x + gap_pos + gap_size, y + height); cairo_line_to(canvas, x + width, y + height); break; case GLIDE_SIDE_RIGHT: cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x, y); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x + width, y + height); cairo_line_to(canvas, x + width, y + gap_pos + gap_size); cairo_line_to(canvas, x + width - 3, y + gap_pos + gap_size); cairo_line_to(canvas, x + width - 3, y + gap_pos); cairo_line_to(canvas, x + width, y + gap_pos); cairo_line_to(canvas, x + width, y); break; } cairo_clip(canvas); } void do_glide_draw_border_with_gap(cairo_t *canvas, CairoColor *base, GlideBevelStyle bevel_style, GlideBorderType border_type, gint x, gint y, gint width, gint height, GlideSide gap_side, gint gap_pos, gint gap_size) { CairoColor color1, color2, color3, color4; gboolean inner_overlap = FALSE, outer_overlap = FALSE; CairoColor darktone, lighttone, redmondtone;/*, icetone, coldtone,;*/ CairoColor midtone;/*, black = {0, 0, 0, 1};*/ if ((border_type == GLIDE_BORDER_TYPE_NONE) || (bevel_style == GLIDE_BEVEL_STYLE_NONE)) { return; } ge_shade_color(base, default_shades_table[0], &darktone); if (bevel_style == GLIDE_BEVEL_STYLE_FLAT) { if (gap_size) { cairo_save(canvas); glide_simple_border_gap_clip(canvas, x, y, width, height, gap_side, gap_pos, gap_size); } ge_cairo_simple_border(canvas, &darktone, &darktone, x, y, width, height, (gap_side == GLIDE_SIDE_NONE) || ((gap_side == GLIDE_SIDE_BOTTOM) && (gap_size != width)) || ((gap_side == GLIDE_SIDE_RIGHT) && (gap_pos != 0))); if (gap_size) { cairo_restore(canvas); } return; } ge_shade_color(base, default_shades_table[1], &lighttone); switch (border_type) { case GLIDE_BORDER_TYPE_ENGRAVED: outer_overlap = TRUE; inner_overlap = TRUE; case GLIDE_BORDER_TYPE_ETCHED: { if (bevel_style == GLIDE_BEVEL_STYLE_SMOOTHER) { ge_shade_color(base, default_shades_table[3], &darktone); ge_shade_color(base, default_shades_table[4], &lighttone); } color1 = lighttone; color2 = darktone; if (border_type == GLIDE_BORDER_TYPE_ENGRAVED) { CairoColor tmp; tmp = color2; color2 = color1; color1 = tmp; } if (gap_size) { cairo_save(canvas); glide_simple_border_gap_clip(canvas, x, y, width, height, gap_side, gap_pos, gap_size); } ge_cairo_simple_border(canvas, &color2, &color1, x, y, width, height, outer_overlap); if (gap_size) { cairo_restore(canvas); cairo_save(canvas); glide_simple_border_gap_clip(canvas, x, y, width, height, gap_side, gap_pos + 1, gap_size - 2); } ge_cairo_simple_border(canvas, &color1, &color2, x+1, y+1, width-2, height-2, inner_overlap); if (gap_size) { cairo_restore(canvas); } } break; case GLIDE_BORDER_TYPE_IN: case GLIDE_BORDER_TYPE_OUT: { gboolean invert_in = TRUE; if ((bevel_style == GLIDE_BEVEL_STYLE_THINICE)) { color1 = darktone; color2 = lighttone; if (border_type == GLIDE_BORDER_TYPE_OUT) { CairoColor tmp; tmp = color2; color2 = color1; color1 = tmp; } if (gap_size) { cairo_save(canvas); glide_simple_border_gap_clip(canvas, x, y, width, height, gap_side, gap_pos, gap_size); } ge_cairo_simple_border(canvas, &color1, &color2, x, y, width, height, (gap_side == GLIDE_SIDE_NONE) || ((gap_side == GLIDE_SIDE_BOTTOM) && (gap_size != width)) || ((gap_side == GLIDE_SIDE_RIGHT) && (gap_pos != 0))); if (gap_size) { cairo_restore(canvas); } } else { switch (bevel_style) { case GLIDE_BEVEL_STYLE_REDMOND : ge_shade_color(base, default_shades_table[2], &redmondtone); if (border_type == GLIDE_BORDER_TYPE_IN) { color1 = darktone; color2 = redmondtone; color3 = lighttone; color4 = *base; } else { color1 = lighttone; color2 = *base; color3 = redmondtone; color4 = darktone; } outer_overlap = (gap_side == GLIDE_SIDE_NONE) || ((gap_side == GLIDE_SIDE_BOTTOM) && (gap_size != width)) || ((gap_side == GLIDE_SIDE_RIGHT) && (gap_pos != 0)); inner_overlap = FALSE; invert_in = FALSE; break; case GLIDE_BEVEL_STYLE_SMOOTHER : ge_shade_color(base, default_shades_table[3], &darktone); ge_shade_color(base, default_shades_table[4], &lighttone); case GLIDE_BEVEL_STYLE_SMOOTH : default : ge_blend_color(&darktone, &lighttone, &midtone); if (border_type == GLIDE_BORDER_TYPE_IN) { color1 = midtone; color2 = darktone; color3 = lighttone; color4 = (bevel_style==GLIDE_BEVEL_STYLE_SMOOTHER)?*base:midtone; outer_overlap = FALSE; inner_overlap = TRUE; } else { color1 = midtone; color2 = lighttone; color3 = darktone; color4 = (bevel_style==GLIDE_BEVEL_STYLE_SMOOTHER)?*base:midtone; outer_overlap = TRUE; inner_overlap = (gap_side == GLIDE_SIDE_NONE) || ((gap_side == GLIDE_SIDE_BOTTOM) && (gap_size != width)) || ((gap_side == GLIDE_SIDE_RIGHT) && (gap_pos != 0)); } invert_in = FALSE; break; } if ((invert_in) && (border_type == GLIDE_BORDER_TYPE_IN)) { CairoColor tmp; tmp = color3; color3 = color1; color1 = tmp; tmp = color4; color4 = color2; color2 = tmp; } if (gap_size) { cairo_save(canvas); glide_simple_border_gap_clip(canvas, x, y, width, height, gap_side, gap_pos, gap_size); } ge_cairo_simple_border(canvas, &color1, &color3, x, y, width, height, outer_overlap); if (gap_size) { cairo_restore(canvas); cairo_save(canvas); glide_simple_border_gap_clip(canvas, x, y, width, height, gap_side, gap_pos + 1, gap_size - 2); } ge_cairo_simple_border(canvas, &color2, &color4, x+1, y+1, width-2, height-2, inner_overlap); if (gap_size) { cairo_restore(canvas); } } } break; default: break; } } void do_glide_draw_border(cairo_t *canvas, CairoColor *base, GlideBevelStyle bevel_style, GlideBorderType border_type, gint x, gint y, gint width, gint height) { do_glide_draw_border_with_gap(canvas, base, bevel_style, border_type, x, y, width, height, GLIDE_SIDE_NONE, 0, 0); } /*#warning - do_glide_draw_option_check needs smarter sizing - perhaps draw check at base size, and scale/translate? */ static void do_glide_draw_option_check(cairo_t *canvas, CairoColor *check_color, GlideCheckState check_state, gint center_x, gint center_y, gint radius) { cairo_save(canvas); ge_cairo_set_color(canvas, check_color); switch (check_state) { case GLIDE_CHECK_ON: { cairo_arc(canvas, center_x, center_y, radius*0.68, 0, 2 * G_PI); cairo_fill(canvas); } break; case GLIDE_CHECK_INCONSISTENT: { gdouble line_width = radius; cairo_set_line_cap(canvas, CAIRO_LINE_CAP_ROUND); cairo_set_line_width (canvas, line_width); cairo_move_to(canvas, center_x - radius + line_width/2, center_y); cairo_line_to(canvas, center_x + radius - line_width/2, center_y); cairo_stroke (canvas); } break; case GLIDE_CHECK_OFF: default: { } break; } cairo_restore(canvas); } void do_glide_draw_round_option(cairo_t *canvas, CairoColor *base, CairoColor *fill_color, CairoColor *check_color, GlideBevelStyle bevel_style, GlideBorderType border_type, GlideCheckState check_state, gint x, gint y, gint width, gint height) { CairoColor outer_color1, outer_color2, inner_color1, inner_color2; CairoColor darktone, lighttone, redmondtone;/*, icetone, coldtone;*/ CairoColor midtone;/*, black = {0, 0, 0, 1};*/ gint center_x = x + floor(width/2); gint center_y = y + floor(height/2); gint radius = floor(MIN(width,height)/2) + 1.5; cairo_save(canvas); if ((border_type == GLIDE_BORDER_TYPE_NONE) || (bevel_style == GLIDE_BEVEL_STYLE_NONE)) { ge_cairo_set_color(canvas, fill_color); cairo_arc(canvas, center_x, center_y, radius, 0, 2 * G_PI); cairo_fill(canvas); do_glide_draw_option_check(canvas, check_color, check_state, center_x, center_y, radius - 1); cairo_restore(canvas); return; } ge_shade_color(base, default_shades_table[0], &darktone); if (bevel_style == GLIDE_BEVEL_STYLE_FLAT) { do_glide_draw_simple_circle (canvas, &darktone, &darktone, center_x, center_y, radius); ge_cairo_set_color(canvas, fill_color); cairo_arc(canvas, center_x, center_y, radius - 1, 0, 2 * G_PI); cairo_fill(canvas); do_glide_draw_option_check(canvas, check_color, check_state, center_x, center_y, radius - 2); cairo_restore(canvas); return; } ge_shade_color(base, default_shades_table[1], &lighttone); cairo_set_line_width (canvas, 1); switch (border_type) { case GLIDE_BORDER_TYPE_ENGRAVED: case GLIDE_BORDER_TYPE_ETCHED: { if (border_type == GLIDE_BORDER_TYPE_ENGRAVED) { outer_color1 = lighttone; outer_color2 = darktone; inner_color1 = darktone; inner_color2 = lighttone; } else { outer_color1 = darktone; outer_color2 = lighttone; inner_color1 = lighttone; inner_color2 = darktone; } do_glide_draw_simple_circle (canvas, &outer_color1, &outer_color2, center_x, center_y, radius); do_glide_draw_simple_circle (canvas, &inner_color1, &inner_color2, center_x, center_y, radius - 1); ge_cairo_set_color(canvas, fill_color); cairo_arc(canvas, center_x, center_y, radius - 2, 0, 2 * G_PI); cairo_fill(canvas); do_glide_draw_option_check(canvas, check_color, check_state, center_x, center_y, radius - 3); } break; case GLIDE_BORDER_TYPE_IN: case GLIDE_BORDER_TYPE_OUT: { gboolean invert_in = TRUE; if ((bevel_style == GLIDE_BEVEL_STYLE_THINICE)) { outer_color1 = darktone; outer_color2 = lighttone; if (border_type == GLIDE_BORDER_TYPE_OUT) { CairoColor tmp; tmp = outer_color1; outer_color1 = outer_color2; outer_color2 = tmp; } do_glide_draw_simple_circle (canvas, &outer_color1, &outer_color2, center_x, center_y, radius); ge_cairo_set_color(canvas, fill_color); cairo_arc(canvas, center_x, center_y, radius - 1, 0, 2 * G_PI); cairo_fill(canvas); do_glide_draw_option_check(canvas, check_color, check_state, center_x, center_y, radius - 2); } else { switch (bevel_style) { case GLIDE_BEVEL_STYLE_REDMOND : ge_shade_color(base, default_shades_table[2], &redmondtone); if (border_type == GLIDE_BORDER_TYPE_IN) { outer_color1 = darktone; inner_color1 = redmondtone; outer_color2 = lighttone; inner_color2 = *base; } else { outer_color1 = lighttone; inner_color1 = *base; outer_color2 = redmondtone; inner_color2 = darktone; } invert_in = FALSE; break; case GLIDE_BEVEL_STYLE_SMOOTHER : ge_shade_color(base, default_shades_table[3], &darktone); ge_shade_color(base, default_shades_table[4], &lighttone); case GLIDE_BEVEL_STYLE_SMOOTH : default : ge_blend_color(&darktone, &lighttone, &midtone); if (border_type == GLIDE_BORDER_TYPE_IN) { outer_color1 = midtone; inner_color1 = darktone; outer_color2 = lighttone; inner_color2 = (bevel_style==GLIDE_BEVEL_STYLE_SMOOTHER)?*base:midtone; } else { outer_color1 = midtone; inner_color1 = lighttone; outer_color2 = darktone; inner_color2 = (bevel_style==GLIDE_BEVEL_STYLE_SMOOTHER)?*base:midtone; } invert_in = FALSE; break; } if ((invert_in) && (border_type == GLIDE_BORDER_TYPE_IN)) { CairoColor tmp; tmp = outer_color2; outer_color2 = outer_color1; outer_color1 = tmp; tmp = inner_color2; inner_color2 = inner_color1; inner_color1 = tmp; } do_glide_draw_simple_circle (canvas, &outer_color1, &outer_color2, center_x, center_y, radius); do_glide_draw_simple_circle (canvas, &inner_color1, &inner_color2, center_x, center_y, radius - 1); ge_cairo_set_color(canvas, fill_color); cairo_arc(canvas, center_x, center_y, radius - 2, 0, 2 * G_PI); cairo_fill(canvas); do_glide_draw_option_check(canvas, check_color, check_state, center_x, center_y, radius - 3); } } break; default: break; } cairo_restore(canvas); } /*********************************************** * do_glide_draw_check - * * A simple routine to draw a redmond style * check mark using the passed Color. * * It originated in Smooth-Engine. ***********************************************/ void do_glide_draw_check (cairo_t *canvas, CairoColor * color, gint x, gint y, gint width, gint height) { /* EVEN - 0 1 2 3 4 5 6 7 8 9 +---+---+---+---+---+---+---+---+---+---+ 0 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 1 | | | | | | | | | x | | +---+---+---+---+---+---+---+---+---+---+ 2 | | | | | | | | x | x | | +---+---+---+---+---+---+---+---+---+---+ 3 | | | | | | | x | x | x | | +---+---+---+---+---+---+---+---+---+---+ 4 | | x | | | | x | x | x | | | +---+---+---+---+---+---+---+---+---+---+ 5 | | x | x | | x | x | x | | | | +---+---+---+---+---+---+---+---+---+---+ 6 | | x | x | x | x | x | | | | | +---+---+---+---+---+---+---+---+---+---+ 7 | | | x | x | x | | | | | | +---+---+---+---+---+---+---+---+---+---+ 8 | | | | x | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 9 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ ODD - 0 1 2 3 4 5 6 7 8 +---+---+---+---+---+---+---+---+---+ 0 | | | | | | | | | | +---+---+---+---+---+---+---+---+---+ 1 | | | | | | | | x | | +---+---+---+---+---+---+---+---+---+ 2 | | | | | | | x | x | | +---+---+---+---+---+---+---+---+---+ 3 | | x | | | | x | x | x | | +---+---+---+---+---+---+---+---+---+ 4 | | x | x | | x | x | x | | | +---+---+---+---+---+---+---+---+---+ 5 | | x | x | x | x | x | | | | +---+---+---+---+---+---+---+---+---+ 6 | | | x | x | x | | | | | +---+---+---+---+---+---+---+---+---+ 7 | | | | x | | | | | | +---+---+---+---+---+---+---+---+---+ 8 | | | | | | | | | | +---+---+---+---+---+---+---+---+---+ */ gint odd = 0; gdouble left, top; gint scale, factor; scale = MIN(width, height); factor = 10; if ((odd = (scale % 2))) { factor -= 1; } if (scale <= (factor + 2)) scale = factor; left = x + floor((width - scale) / 2) + 0.5; top = y + floor((height - scale) / 2) + 0.5; cairo_save(canvas); ge_cairo_set_color(canvas, color); cairo_set_line_width(canvas, 0.5); cairo_move_to(canvas, left + floor((1*scale)/factor), top + floor(((4-odd)*scale)/factor)); /*(1,4-odd)*/ cairo_line_to(canvas, left + floor((1*scale)/factor), top + floor(((6-odd)*scale)/factor)); /*(1,6-odd)*/ cairo_line_to(canvas, left + floor((3*scale)/factor), top + floor(((8-odd)*scale)/factor)); /*(3,8-odd)*/ cairo_line_to(canvas, left + floor(((8-odd)*scale)/factor), top + floor((3*scale)/factor)); /*(8-odd,3)*/ cairo_line_to(canvas, left + floor(((8-odd)*scale)/factor), top + floor((1*scale)/factor)); /*(8-odd,1)*/ cairo_line_to(canvas, left + floor((3*scale)/factor), top + floor(((6-odd)*scale)/factor)); /*(3,6-odd)*/ cairo_line_to(canvas, left + floor((1*scale)/factor), top + floor(((4-odd)*scale)/factor)); /*(1,4-odd)*/ cairo_fill_preserve(canvas); cairo_stroke(canvas); cairo_restore(canvas); } void do_glide_draw_simple_circle (cairo_t *canvas, CairoColor * tl, CairoColor * br, gint center_x, gint center_y, gint radius) { cairo_new_path (canvas); cairo_move_to(canvas, center_x + (radius + 2), center_y + (radius + 2)); cairo_line_to(canvas, center_x + (radius + 2)*sin(G_PI/4.0), center_y - (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x - (radius + 2)*sin(G_PI/4.0), center_y + (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x + (radius + 2), center_y + (radius + 2)); cairo_close_path (canvas); cairo_save(canvas); cairo_clip (canvas); ge_cairo_set_color(canvas, br); cairo_arc(canvas, center_x, center_y, radius, 0, 2*G_PI); cairo_fill(canvas); cairo_restore(canvas); cairo_save(canvas); cairo_new_path (canvas); cairo_move_to(canvas, center_x - (radius + 2), center_y - (radius + 2)); cairo_line_to(canvas, center_x + (radius + 2)*sin(G_PI/4.0), center_y - (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x - (radius + 2)*sin(G_PI/4.0), center_y + (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x - (radius + 2), center_y - (radius + 2)); cairo_close_path (canvas); cairo_clip (canvas); ge_cairo_set_color(canvas, tl); cairo_arc(canvas, center_x, center_y, radius, 0, 2*G_PI); cairo_fill(canvas); cairo_restore(canvas); } /*********************************************** * do_glide_draw_arrow - * * A simple routine to draw a redmond style * arrow using the passed GC. * * Taken in part from smooth, it was based on * XFCE's & CleanIce draw arrow routines, * both which were based on ThinIce's. ***********************************************/ void do_glide_draw_arrow (cairo_t *canvas, CairoColor * color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { gint aw = width, ah = height; GdkPoint points[3]; switch (arrow_type) { case GTK_ARROW_UP: case GTK_ARROW_DOWN: { gdouble tmp=((aw+1)/2) - ((height%2)?1:0); if (tmp > ah) { aw = 2*ah - 1 - ((height%2)?1:0); ah = (aw+1)/2; } else { ah = (gint) tmp; aw = 2*ah - 1; } if ((aw < 5) || (ah < 3)) { aw = 5; ah = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; width += width % 2 - 1; points[0].x = x; points[1].x = x + width - 1; points[2].x = x + ((height - 1) - (height - (1 + width / 2))); points[0].y = points[1].y = y; points[2].y = y + height - 1; if (arrow_type == GTK_ARROW_UP) { gint flip = points[1].y; points[0].y = points[1].y = points[2].y; points[2].y = flip; } } break; case GTK_ARROW_LEFT: case GTK_ARROW_RIGHT: { gdouble tmp=((ah+1)/2) - ((width%2)?1:0); if (tmp > aw) { ah = 2*aw - 1 - ((width%2)?1:0); aw = (ah+1)/2; } else { aw = (gint) tmp; ah = 2*aw - 1; } if ((ah < 5) || (aw < 3)) { ah = 5; aw = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; height += height % 2 - 1; points[0].y = y; points[1].y = y + height - 1; points[2].y = y + ((width - 1) - (width - (1 + height / 2))); points[0].x = points[1].x = x; points[2].x = x + width - 1; if (arrow_type == GTK_ARROW_LEFT) { gint flip = points[0].x; points[0].x = points[1].x = points[2].x; points[2].x = flip; } } break; default: { return; } } cairo_save(canvas); ge_cairo_set_color(canvas, color); cairo_set_line_width (canvas, 0.5); cairo_move_to(canvas, points[0].x + 0.5, points[0].y + 0.5); cairo_line_to(canvas, points[1].x + 0.5, points[1].y + 0.5); cairo_line_to(canvas, points[2].x + 0.5, points[2].y + 0.5); cairo_line_to(canvas, points[0].x + 0.5, points[0].y + 0.5); if (fill) { cairo_stroke_preserve(canvas); cairo_fill(canvas); } else { cairo_stroke(canvas); } cairo_restore(canvas); } /*********************************************** * do_glide_draw_line - * * A simple routine to draw a redmond style * spacer line. ***********************************************/ void do_glide_draw_line(cairo_t *canvas, CairoColor * dark, CairoColor * light, GdkRectangle * area, gint start, gint end, gint base, gboolean horizontal) { cairo_set_line_width (canvas, 1); if (horizontal) { ge_cairo_set_color(canvas, dark); cairo_move_to(canvas, start + 1.5, base + 0.5); cairo_line_to(canvas, end - 1.5, base + 0.5); cairo_stroke(canvas); ge_cairo_set_color(canvas, light); cairo_move_to(canvas, start + 1.5, base + 1.5); cairo_line_to(canvas, end - 1.5, base + 1.5); cairo_stroke(canvas); } else { ge_cairo_set_color(canvas, dark); cairo_move_to(canvas, base + 0.5, start + 1.5); cairo_line_to(canvas, base + 0.5, end - 1.5); cairo_stroke(canvas); ge_cairo_set_color(canvas, light); cairo_move_to(canvas, base + 1.5, start + 1.5); cairo_line_to(canvas, base + 1.5, end - 1.5); cairo_stroke(canvas); } } static void do_glide_draw_dot (cairo_t *canvas, CairoColor * light, CairoColor * dark, CairoColor * mid, gint x, gint y) { ge_cairo_set_color(canvas, dark); cairo_rectangle (canvas, x - 1, y - 1, 1, 1); cairo_rectangle (canvas, x - 0, y - 1, 1, 1); cairo_rectangle (canvas, x - 1, y - 0, 1, 1); cairo_fill(canvas); ge_cairo_set_color(canvas, light); cairo_rectangle (canvas, x + 1, y + 1, 1, 1); cairo_rectangle (canvas, x + 0, y + 1, 1, 1); cairo_rectangle (canvas, x + 1, y + 0, 1, 1); cairo_fill(canvas); ge_cairo_set_color(canvas, mid); cairo_rectangle (canvas, x + 1, y - 1, 1, 1); cairo_rectangle (canvas, x - 1, y + 1, 1, 1); cairo_fill(canvas); } void do_glide_draw_grip (cairo_t *canvas, CairoColor * light, CairoColor * dark, gint x, gint y, gint width, gint height, gboolean vertical) { gint modx=0, mody=0; CairoColor mid; if (vertical) mody = 5; else modx = 5; cairo_save(canvas); cairo_set_line_width (canvas, 0.5); cairo_set_antialias(canvas, CAIRO_ANTIALIAS_NONE); ge_blend_color(dark, light, &mid); do_glide_draw_dot (canvas, light, dark, &mid, x + width / 2 - modx + 1, y + height / 2 - mody); do_glide_draw_dot (canvas, light, dark, &mid, x + width / 2 + 1, y + height / 2); do_glide_draw_dot (canvas, light, dark, &mid, x + width / 2 + modx + 1, y + height / 2 + mody); cairo_restore(canvas); } /***********************************************/ /* MenuShell/MenuBar Item Prelight Workaround */ /***********************************************/ /*********************************************** * gtk_menu_shell_cleanup_signals - * * Cleanup/remove Menu Shell signals ***********************************************/ static void glide_gtk2_engine_hack_menu_shell_cleanup(GtkWidget *widget) { if (GE_IS_MENU_BAR(widget)) { gint id = 0; id = (gint)g_object_steal_data (G_OBJECT(widget), "GLIDE_MENU_SHELL_MOTION_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "GLIDE_MENU_SHELL_LEAVE_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "GLIDE_MENU_SHELL_DESTROY_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "GLIDE_MENU_SHELL_STYLE_SET_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); g_object_steal_data (G_OBJECT(widget), "GLIDE_MENU_SHELL_HACK_SET"); } } /*********************************************** * glide_gtk2_engine_hack_menu_shell_style_set - * * Style set signal to ensure menushell signals * get cleaned up if the theme changes ***********************************************/ static gboolean glide_gtk2_engine_hack_menu_shell_style_set(GtkWidget *widget, GtkStyle *previous_style, gpointer user_data) { glide_gtk2_engine_hack_menu_shell_cleanup(widget); return FALSE; } /*********************************************** * gtk_menu_shell_destroy - * * Destroy signal to ensure menushell signals * get cleaned if it is destroyed ***********************************************/ static gboolean glide_gtk2_engine_hack_menu_shell_destroy(GtkWidget *widget, GdkEvent *event, gpointer user_data) { glide_gtk2_engine_hack_menu_shell_cleanup (widget); return FALSE; } /*********************************************** * glide_gtk2_engine_hack_menu_shell_motion - * * Motion signal to ensure menushell items * prelight state changes on mouse move. ***********************************************/ static gboolean glide_gtk2_engine_hack_menu_shell_motion(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { if (GE_IS_MENU_SHELL(widget)) { gint pointer_x, pointer_y; GdkModifierType pointer_mask; GList *children = NULL, *child = NULL; gdk_window_get_pointer(widget->window, &pointer_x, &pointer_y, &pointer_mask); if (GE_IS_CONTAINER(widget)) { children = gtk_container_get_children(GTK_CONTAINER(widget)); for (child = g_list_first(children); child; child = g_list_next(child)) { if ((child->data) && GE_IS_WIDGET(child->data) && (GTK_WIDGET_STATE(GTK_WIDGET(child->data)) != GTK_STATE_INSENSITIVE)) { if ((pointer_x >= GTK_WIDGET(child->data)->allocation.x) && (pointer_y >= GTK_WIDGET(child->data)->allocation.y) && (pointer_x < (GTK_WIDGET(child->data)->allocation.x + GTK_WIDGET(child->data)->allocation.width)) && (pointer_y < (GTK_WIDGET(child->data)->allocation.y + GTK_WIDGET(child->data)->allocation.height))) { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_PRELIGHT); } else { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_NORMAL); } } } if (children) g_list_free(children); } } return FALSE; } /*********************************************** * gtk_menu_shell_leave - * * Leave signal to ensure menushell items * normal state on mouse leave. ***********************************************/ static gboolean glide_gtk2_engine_hack_menu_shell_leave(GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) { if (GE_IS_MENU_SHELL(widget)) { GList *children = NULL, *child = NULL; if (GE_IS_CONTAINER(widget)) { children = gtk_container_get_children(GTK_CONTAINER(widget)); for (child = g_list_first(children); child; child = g_list_next(child)) { if ((child->data) && GE_IS_MENU_ITEM(child->data) && (GTK_WIDGET_STATE(GTK_WIDGET(child->data)) != GTK_STATE_INSENSITIVE)) { if ((!GE_IS_MENU(GTK_MENU_ITEM(child->data)->submenu)) || (!(GTK_WIDGET_REALIZED(GTK_MENU_ITEM(child->data)->submenu) && GTK_WIDGET_VISIBLE(GTK_MENU_ITEM(child->data)->submenu) && GTK_WIDGET_REALIZED(GTK_MENU(GTK_MENU_ITEM(child->data)->submenu)->toplevel) && GTK_WIDGET_VISIBLE(GTK_MENU(GTK_MENU_ITEM(child->data)->submenu)->toplevel)))) { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_NORMAL); } } } if (children) g_list_free(children); } } return FALSE; } /*********************************************** * gtk_menu_shell_setup_signals - * * Setup Menu Shell with signals to ensure * prelight works on items ***********************************************/ void glide_gtk2_engine_hack_menu_shell_setup(GtkWidget *widget) { if (GE_IS_MENU_BAR(widget)) { gint id = 0; if (!g_object_get_data(G_OBJECT(widget), "GLIDE_MENU_SHELL_HACK_SET")) { id = g_signal_connect(G_OBJECT(widget), "motion-notify-event", (GCallback)glide_gtk2_engine_hack_menu_shell_motion, NULL); g_object_set_data(G_OBJECT(widget), "GLIDE_MENU_SHELL_MOTION_ID", (gpointer)id); id = g_signal_connect(G_OBJECT(widget), "leave-notify-event", (GCallback)glide_gtk2_engine_hack_menu_shell_leave, NULL); g_object_set_data(G_OBJECT(widget), "GLIDE_MENU_SHELL_LEAVE_ID", (gpointer)id); id = g_signal_connect(G_OBJECT(widget), "destroy-event", (GCallback)glide_gtk2_engine_hack_menu_shell_destroy, NULL); g_object_set_data(G_OBJECT(widget), "GLIDE_MENU_SHELL_DESTROY_ID", (gpointer)id); g_object_set_data(G_OBJECT(widget), "GLIDE_MENU_SHELL_HACK_SET", (gpointer)1); id = g_signal_connect(G_OBJECT(widget), "style-set", (GCallback)glide_gtk2_engine_hack_menu_shell_style_set, NULL); g_object_set_data(G_OBJECT(widget), "GLIDE_MENU_SHELL_STYLE_SET_ID", (gpointer)id); } } } gtk-engines-2.20.2/engines/glide/src/glide_gtk2_support.h0000644000175000017500000001013711445424675020232 00000000000000/* Glide - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include GE_INTERNAL void ge_blend_color(const CairoColor *color1, const CairoColor *color2, CairoColor *composite); typedef enum { GLIDE_BEVEL_STYLE_SMOOTH = 1, GLIDE_BEVEL_STYLE_SMOOTHER, GLIDE_BEVEL_STYLE_THINICE, GLIDE_BEVEL_STYLE_REDMOND, GLIDE_BEVEL_STYLE_FLAT, GLIDE_BEVEL_STYLE_NONE, /* Default */ GLIDE_BEVEL_STYLE_DEFAULT = GLIDE_BEVEL_STYLE_SMOOTHER } GlideBevelStyle; typedef enum { GLIDE_BORDER_TYPE_IN, GLIDE_BORDER_TYPE_OUT, GLIDE_BORDER_TYPE_ETCHED, GLIDE_BORDER_TYPE_ENGRAVED, GLIDE_BORDER_TYPE_NONE } GlideBorderType; typedef enum { GLIDE_SIDE_TOP, GLIDE_SIDE_LEFT, GLIDE_SIDE_RIGHT, GLIDE_SIDE_BOTTOM, GLIDE_SIDE_NONE } GlideSide; GE_INTERNAL void do_glide_draw_border_with_gap(cairo_t *canvas, CairoColor *base, GlideBevelStyle bevel_style, GlideBorderType border_type, gint x, gint y, gint width, gint height, GlideSide gap_side, gint gap_pos, gint gap_size); GE_INTERNAL void do_glide_draw_border(cairo_t *canvas, CairoColor *base, GlideBevelStyle bevel_style, GlideBorderType border_type, gint x, gint y, gint width, gint height); typedef enum { GLIDE_CHECK_INCONSISTENT, GLIDE_CHECK_ON, GLIDE_CHECK_OFF } GlideCheckState; GE_INTERNAL void do_glide_draw_check (cairo_t *cr, CairoColor *color, gint x, gint y, gint width, gint height); GE_INTERNAL void do_glide_draw_round_option(cairo_t *canvas, CairoColor *base, CairoColor *fill_color, CairoColor *check_color, GlideBevelStyle bevel_style, GlideBorderType border_type, GlideCheckState check_state, gint x, gint y, gint width, gint height); GE_INTERNAL void do_glide_draw_simple_circle (cairo_t *canvas, CairoColor * tl, CairoColor * br, gint center_x, gint center_y, gint radius); GE_INTERNAL void do_glide_draw_arrow (cairo_t *cr, CairoColor *color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height); GE_INTERNAL void do_glide_draw_line(cairo_t *cr, CairoColor * dark, CairoColor * light, GdkRectangle * area, gint start, gint end, gint base, gboolean horizontal); GE_INTERNAL void do_glide_draw_grip (cairo_t *canvas, CairoColor * light, CairoColor * dark, gint x, gint y, gint width, gint height, gboolean vertical); GE_INTERNAL void glide_gtk2_engine_hack_menu_shell_setup(GtkWidget *widget); gtk-engines-2.20.2/engines/glide/src/glide_gtk2_drawing.c0000644000175000017500000021234311446654310020137 00000000000000/* Glide - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include "glide_gtk2_engine.h" #include "glide_gtk2_support.h" #include "glide_gtk2_drawing.h" /*********************************************** * glide_draw_vline - * * the Function used to draw horizontal spacers. ***********************************************/ void glide_draw_hline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x1, gint x2, gint y) { GlideStyle *glide_style = GLIDE_STYLE (style); cairo_t *canvas; CHECK_ARGS canvas = ge_gdk_drawable_to_cairo (window, area); do_glide_draw_line(canvas, &glide_style->color_cube.dark[state_type], &glide_style->color_cube.light[state_type], area, x1, x2, y, TRUE); cairo_destroy(canvas); } /*********************************************** * glide_draw_vline - * * the Function used to draw vertical spacers. ***********************************************/ void glide_draw_vline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint y1, gint y2, gint x) { GlideStyle *glide_style = GLIDE_STYLE (style); cairo_t *canvas; if (ge_is_combo_box(widget, FALSE) && (!ge_is_combo_box_entry(widget))) return; CHECK_ARGS canvas = ge_gdk_drawable_to_cairo (window, area); do_glide_draw_line(canvas, &glide_style->color_cube.dark[state_type], &glide_style->color_cube.light[state_type], area, y1, y2, x, FALSE); cairo_destroy(canvas); } /*********************************************** * glide_draw_check - * * the Function used to draw all check boxes. ***********************************************/ void glide_draw_check (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { GlideStyle *glide_style = GLIDE_STYLE (style); cairo_t *canvas; gboolean inconsistent; CHECK_ARGS SANITIZE_SIZE if (GE_IS_CHECK_MENU_ITEM(widget)) { x -= 1; y -= 1; width += 2; height += 2; } else if (GE_IS_CELL_RENDERER_TOGGLE(widget) || CHECK_DETAIL(detail, "cellcheck")) { x -= 1; y -= 1; width += 2; height += 2; } canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_set_color(canvas, &glide_style->color_cube.base[state]); cairo_rectangle(canvas, x, y, width - 1, height - 1); cairo_fill(canvas); inconsistent = shadow == GTK_SHADOW_ETCHED_IN; if ((shadow == GTK_SHADOW_IN) || (inconsistent)) { if (inconsistent) { gdouble radius = (MIN(width, height)/2) - 2; gdouble line_width = (radius/2.0); cairo_set_line_cap(canvas, CAIRO_LINE_CAP_SQUARE); cairo_set_line_width (canvas, floor(line_width)); cairo_move_to(canvas, x + floor(width/2 - radius + line_width), y + floor(height/2.0)); cairo_line_to(canvas, x + ceil(width/2 + radius - line_width), y + floor(height/2.0)); if (state==GTK_STATE_INSENSITIVE) { ge_cairo_set_color(canvas, &glide_style->color_cube.dark[state]); } else { ge_cairo_set_color(canvas, &glide_style->color_cube.text[state]); } cairo_stroke (canvas); } else { if (state==GTK_STATE_INSENSITIVE) { do_glide_draw_check (canvas, &glide_style->color_cube.dark[state], x + 2, y + 2, width - 4, height - 4); } else { do_glide_draw_check (canvas, &glide_style->color_cube.text[state], x + 2, y + 2, width - 4, height - 4); } } } if (state!=GTK_STATE_PRELIGHT) state = GTK_STATE_NORMAL; do_glide_draw_border(canvas, &glide_style->color_cube.bg[state], GLIDE_BEVEL_STYLE_SMOOTHER, GLIDE_BORDER_TYPE_IN, x, y, width, height); cairo_destroy(canvas); } /*********************************************** * glide_draw_option - * * the Function used to draw all Option boxes ***********************************************/ void glide_draw_option (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { GlideCheckState check_state; GlideStyle *glide_style; CairoColor *base; CairoColor *fill_color; CairoColor *check_color; GlideBevelStyle bevel_style; GlideBorderType border_type; cairo_t *canvas; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ if (GE_IS_CELL_RENDERER_TOGGLE(widget) || CHECK_DETAIL(detail, "cellradio")) { x -= 1; y -= 1; width += 2; height += 2; } switch (shadow) { case GTK_SHADOW_ETCHED_IN: check_state = GLIDE_CHECK_INCONSISTENT; break; case GTK_SHADOW_IN: check_state = GLIDE_CHECK_ON; break; case GTK_SHADOW_OUT: check_state = GLIDE_CHECK_OFF; break; default: g_return_if_reached (); } /***********************************************/ /* Appearance */ /***********************************************/ /***********************************************/ /* Colors */ /***********************************************/ glide_style = GLIDE_STYLE (style); base = &glide_style->color_cube.bg[state]; fill_color = &glide_style->color_cube.base[state]; check_color = &glide_style->color_cube.text[state]; if (state == GTK_STATE_INSENSITIVE) { check_color = &glide_style->color_cube.dark[state]; } /***********************************************/ /* Style */ /***********************************************/ bevel_style = GLIDE_BEVEL_STYLE_SMOOTHER; border_type = GLIDE_BORDER_TYPE_IN; /***********************************************/ /* Draw Option */ /***********************************************/ canvas = ge_gdk_drawable_to_cairo (window, area); do_glide_draw_round_option(canvas, base, fill_color, check_color, bevel_style, border_type, check_state, x, y, width, height); cairo_destroy(canvas); } /*********************************************** * glide_draw_arrow - * * the Function used to draw all arrows * * Glide Arrows have 2 looks, Normal * & Insensitive ***********************************************/ void glide_draw_arrow (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { gboolean button_in; gint child_offset_x, child_offset_y; GlideStyle *glide_style; cairo_t *canvas; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Arrow Special Cases - adjust Size/Offset*/ /***********************************************/ button_in = (shadow == GTK_SHADOW_IN); child_offset_x = child_offset_y = 1; if ((ge_is_combo_box(widget, FALSE) && !ge_is_combo_box_entry(widget)) || (CHECK_DETAIL (detail, "spinbutton"))) { return; } if ((CHECK_DETAIL (detail, "vscrollbar")) || (CHECK_DETAIL (detail, "hscrollbar")) || GE_IS_SCROLLBAR(widget)) { if (arrow_type == GTK_ARROW_LEFT) { x -= 1; } if (arrow_type == GTK_ARROW_UP) { y -= 1; } width += 1; height += 1; if (button_in) { /* Arrows offset down/right on button press */ x += child_offset_x; y += child_offset_y; } } if (CHECK_DETAIL (detail, "spinbutton_arrow")) { x += 2; y += 2; width -= 4; height -= 4; if (button_in) { /* Arrows offset down/right on button press */ x += child_offset_x; y += child_offset_y; } } if (ge_is_in_combo_box (widget)) { if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) { x += 2; } /* Glide prefers to have smaller arrows relative too size * for ComboBox/ComboBoxEntry, because its cleaner, * even though it seems slightly inconsistant. */ y += 1; width -= 2; height -= 2; if (button_in) { /* Arrows offset down/right on button press */ x += child_offset_x; y += child_offset_y; } } if (CHECK_DETAIL(detail, "menuitem")) { x -= 1; } if (CHECK_DETAIL (detail, "arrow")) { x += (width%2)?0:1; } /***********************************************/ /* Draw Arrow */ /***********************************************/ glide_style = GLIDE_STYLE (style); canvas = ge_gdk_drawable_to_cairo (window, area); if (state == GTK_STATE_INSENSITIVE) { do_glide_draw_arrow (canvas, &glide_style->color_cube.light[state], arrow_type, TRUE, x+1, y+1, width, height); do_glide_draw_arrow (canvas, &glide_style->color_cube.dark[state], arrow_type, TRUE, x, y, width, height); } else { do_glide_draw_arrow (canvas, &glide_style->color_cube.fg[state], arrow_type, TRUE, x, y, width, height); } cairo_destroy(canvas); } /*********************************************** * glide_draw_shadow - * * Function used to draw the Shadow/Border * for most widgets/widget parts. * * The Glide Shadow is primarily constructed * with an outside border of light/extra_dark * and an internal border of bg/dark. ***********************************************/ void glide_draw_shadow (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { GlideBevelStyle bevel_style; GlideBorderType border_type; cairo_t *canvas; CairoColor *background; CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Special Cases - adjust Size/Type */ /***********************************************/ bevel_style = GLIDE_BEVEL_STYLE_DEFAULT; if (CHECK_DETAIL (detail, "buttondefault")) { return; } if ((CHECK_DETAIL (detail, "entry")) && (widget) && (ge_is_in_combo_box (widget))) { GObject *combo_parent = G_OBJECT(ge_find_combo_box_widget_parent(widget)); GtkWidget *button = g_object_get_data(combo_parent, "button"); if (GE_IS_WIDGET(button)) { gtk_widget_queue_draw_area(button, button->allocation.x, button->allocation.y, button->allocation.width, button->allocation.height); } g_object_set_data(combo_parent, "entry", widget); } if (shadow_type == GTK_SHADOW_IN) { if (CHECK_DETAIL (detail, "button")) { state_type = GTK_STATE_NORMAL; bevel_style = GLIDE_BEVEL_STYLE_SMOOTH; } if (((CHECK_DETAIL (detail, "entry")) || (CHECK_DETAIL (detail, "frame"))) && widget && ((GE_IS_SPIN_BUTTON (widget)) || (ge_is_in_combo_box (widget)))) { /* The Combo/ComboBoxEntry button and the SpinButton Steppers should apear * to be inset into the entry, as opposed to next to it, so we fake it * by drawing an extra 2 pixels here to ignore the right(or left) * edge, which will be drawn by the buttons. */ width += 4; if ((widget) && (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)) { x -= 4; } } } /***********************************************/ /* Convert Shadow Type To Border Type */ /***********************************************/ switch (shadow_type) { case GTK_SHADOW_ETCHED_IN: border_type = GLIDE_BORDER_TYPE_ETCHED; break; case GTK_SHADOW_ETCHED_OUT: border_type = GLIDE_BORDER_TYPE_ENGRAVED; break; case GTK_SHADOW_IN: border_type = GLIDE_BORDER_TYPE_IN; break; case GTK_SHADOW_OUT: border_type = GLIDE_BORDER_TYPE_OUT; break; default: border_type = GLIDE_BORDER_TYPE_NONE; break; } /***********************************************/ /* Draw Border */ /***********************************************/ canvas = ge_gdk_drawable_to_cairo (window, area); background = &GLIDE_STYLE (style)->color_cube.bg[state_type]; do_glide_draw_border(canvas, background, bevel_style, border_type, x, y, width, height); cairo_destroy(canvas); } /*********************************************** * glide_draw_combobox_button- * * Function used to draw the ComboBox button * "inset" into "entry. * * Slightly Evil Hack #1 ***********************************************/ static void glide_draw_combobox_button (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { GlideStyle *glide_style = GLIDE_STYLE (style); /* The Combo/ComboBoxEntry button should apear to be inset into the entry, * as opposed to next to it, so we fake it by drawing an entry fill * then an entry border - but 2 pixels bigger so it overlaps real border * and so left( or right) edge doesn't actually get drawn on screen; * and THEN draw the button, but essentially 4 pixels smaller. */ GtkStyle * parent_style = style; GtkStateType parent_state = state_type; gboolean entry_focused = FALSE; gint focus_line_width = 0, focus_padding = 0, focus = 0, thick = 2; gboolean interior_focus = TRUE; g_object_set_data(G_OBJECT(ge_find_combo_box_widget_parent(widget)), "button", widget); if (GTK_WIDGET_HAS_FOCUS(widget)) { gtk_widget_style_get (widget, "focus_line_width", &focus_line_width, NULL); gtk_widget_style_get (widget, "focus_padding", &focus_padding, NULL); gtk_widget_style_get (widget, "interior_focus", &interior_focus, NULL); if (!interior_focus) { focus = -(focus_line_width); if (focus == 0) { focus = -1; } entry_focused = TRUE; } } else { GList *child=NULL,*children = gtk_container_get_children (GTK_CONTAINER(widget->parent)); for (child = children; child; child = child->next) { if (GE_IS_ENTRY(child->data) && GTK_WIDGET_HAS_FOCUS(child->data)) { gtk_widget_style_get (widget, "focus_line_width", &focus_line_width, NULL); gtk_widget_style_get (widget, "focus_padding", &focus_padding, NULL); gtk_widget_style_get (widget, "interior_focus", &interior_focus, NULL); if (!interior_focus) { focus = focus_line_width; if (focus == 0) { focus = 1; } entry_focused = TRUE; } focus_padding = 0; } } g_list_free(children); } if ((!(widget)) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { cairo_t *canvas; if (ge_is_combo_box_entry (widget) || ge_is_combo_box (widget, TRUE)) { if (!ge_is_combo_box_entry (widget)) { if ((widget->parent)) { gtk_widget_ensure_style(widget->parent); parent_style = widget->parent->style; parent_state = widget->parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; /*#warning FIXME - gdk_draw_rectangle*/ gdk_draw_rectangle (window, parent_style->base_gc[parent_state], TRUE, x - 2, y, width + 2, height); } else glide_draw_flat_box(style, window, parent_state, GTK_SHADOW_NONE, area, widget, "entry_bg", x - 2, y, width + 2, height); if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; glide_draw_shadow (style, window, parent_state, GTK_SHADOW_IN, area, widget, "combo_box_entry", x - thick*2 - focus - focus_padding, y + focus - focus_padding, width + thick*2 + focus_padding*2, height - focus*2 + focus_padding*2); } #ifndef GTK_DISABLE_DEPRECATED else if (ge_is_combo(widget)) { GtkWidget *entry = widget; if (GE_IS_WIDGET(widget) && GE_IS_WIDGET(widget->parent) && GE_IS_ENTRY(GTK_COMBO (widget->parent)->entry)) { entry = GTK_COMBO (widget->parent)->entry; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } else if (GE_IS_WIDGET(widget->parent)) { entry = widget->parent; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, entry, "entry_bg", x - 2, y, width + 2, height); { GdkRectangle shadow, clip; shadow.x = x - 2; shadow.y = y; shadow.width = width + 2; shadow.height = height; /* #warning FIXME - gdk_rectangle_intersect*/ if (area) gdk_rectangle_intersect(area, &shadow, &clip); else clip = shadow; gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, &clip, entry, "combo_box_entry", x - thick*2 - focus - focus_padding, y + focus - focus_padding, width + thick*2 + focus_padding*2, height - focus*2 + focus_padding*2); } } #else #warning Disabling GtkCombo support because GTK_DISABLE_DEPRECATED is enabled. #endif /* GTK_DISABLE_DEPRECATED */ else { GtkWidget *parent = widget; if (widget->parent) parent = widget->parent; if ((parent)) { gtk_widget_ensure_style(parent); parent_style = parent->style; parent_state = parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, parent, "entry_bg", x - 2, y, width + 2, height); gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, area, parent, "combo_box_entry", x - thick*2 - focus - focus_padding, y + focus - focus_padding, width + thick*2 + focus_padding*2, height - focus*2 + focus_padding*2); } canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x + focus, y + thick + focus, width - thick - focus*2, height - thick*2 - focus*2); glide_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x + focus, y + thick + focus, width - thick - focus*2, height - 2*thick - focus*2); #if 0 glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "comboarrow", GTK_ARROW_DOWN, TRUE, x + focus + 6, y + thick + focus + 5, width - thick - focus*2 - 12, height - 2*thick - focus*2 - 10); #endif ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x + focus, y + thick + focus, width - thick - focus*2, height - 2*thick - focus*2); cairo_destroy(canvas); if (entry_focused) { glide_draw_focus(style, window, state_type, area, widget, "combo_entry_button", x - 2, y, width + 2, height); } } else { cairo_t *canvas; focus_padding = -focus_padding; if (ge_is_combo_box_entry (widget) || ge_is_combo_box (widget, TRUE)) { if (!ge_is_combo_box_entry (widget)) { if ((widget->parent)) { gtk_widget_ensure_style(widget->parent); parent_style = widget->parent->style; parent_state = widget->parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; /*#warning FIXME - gdk_draw_rectangle*/ gdk_draw_rectangle (window, parent_style->base_gc[parent_state], TRUE, x + focus - focus_padding, y + focus - focus_padding, width + thick*2 - focus + focus_padding*2, height - focus*2 + focus_padding*2); } else { if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; glide_draw_flat_box (style, window, parent_state, GTK_SHADOW_NONE, area, widget, "entry_bg", x + focus - focus_padding, y + focus - focus_padding, width + thick*2 - focus + focus_padding*2, height - focus*2 + focus_padding*2); } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; glide_draw_shadow (style, window, parent_state, GTK_SHADOW_IN, area, widget, "combo_box_entry", x + focus - focus_padding, y + focus - focus_padding, width + thick*2 - focus + focus_padding*2, height - focus*2 + focus_padding*2); } #ifndef GTK_DISABLE_DEPRECATED else if (ge_is_combo(widget)) { GtkWidget *entry = widget; if (GE_IS_WIDGET(widget) && GE_IS_WIDGET(widget->parent) && GE_IS_ENTRY(GTK_COMBO (widget->parent)->entry)) { entry = GTK_COMBO (widget->parent)->entry; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } else if (GE_IS_WIDGET(widget->parent)) { entry = widget->parent; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, entry, "entry_bg", x + focus - focus_padding, y + focus - focus_padding, width + thick*2 - focus + focus_padding*2, height - focus*2 + focus_padding*2); gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, area, entry, "combo_box_entry", x + focus - focus_padding, y + focus - focus_padding, width + thick*2 - focus + focus_padding*2, height - focus*2 + focus_padding*2); } #else #warning Disabling GtkCombo support because GTK_DISABLE_DEPRECATED is enabled. #endif /* GTK_DISABLE_DEPRECATED */ else { GtkWidget *parent = widget; if (widget->parent) parent = widget->parent; if ((parent)) { gtk_widget_ensure_style(parent); parent_style = parent->style; parent_state = parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, parent, "entry_bg", x + focus - focus_padding, y + focus - focus_padding, width + thick*2 - focus + focus_padding*2, height - focus*2 + focus_padding*2); gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, area, parent, "combo_box_entry", x + focus - focus_padding, y + focus - focus_padding, width + thick*2 - focus + focus_padding*2, height - focus*2 + focus_padding*2); } canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x + thick + focus, y + thick + focus, width - thick - focus*2, height - 2*thick - focus*2); glide_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x + thick + focus, y + thick + focus, width - thick - focus*2, height - 2*thick - focus*2); #if 0 glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "comboarrow", GTK_ARROW_DOWN, TRUE, x + thick + focus + 6, y + thick + focus + 5, width - thick - focus*2 - 12, height - 2*thick - focus*2 - 10); #endif ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x + thick + focus, y + thick + focus, width - thick - focus*2, height - 2*thick - focus*2); cairo_destroy(canvas); if (entry_focused) { glide_draw_focus(style, window, state_type, area, widget, "combo_entry_button", x, y, width, height); } } } /*********************************************** * glide_draw_spinbutton_stepper- * * Function used to draw the spinbutton * steppers "inset" into entry. * * Slightly Evil Hack #2 ***********************************************/ static void glide_draw_spinbutton_stepper (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { GlideStyle *glide_style = GLIDE_STYLE (style); GdkRectangle spin_area; /* The SpinButton Steppers should apear to be inset into the entry, * as opposed to next to it, so we fake it by drawing en entry fill * and then entry border - but 2 pixels bigger so it overlaps real border * and so left( or right) edge doesn't actually get drawn on screen - * and THEN draw the Stepper. Since we have two steppers this is slightly * more complicated because we can only do half for each stepper. */ GtkStateType parent_state = widget ? GTK_WIDGET_STATE(widget) : GTK_STATE_NORMAL; gboolean entry_focused = FALSE; gint focus_line_width = 0, focus_padding = 0, focus = 0, thick = 2; gboolean interior_focus = TRUE; cairo_t *canvas; spin_area.x = x; spin_area.y = y; spin_area.width = width; spin_area.height = height; if (widget && GTK_WIDGET_HAS_FOCUS(widget)) { gtk_widget_style_get (widget, "focus_line_width", &focus_line_width, NULL); gtk_widget_style_get (widget, "focus_padding", &focus_padding, NULL); gtk_widget_style_get (widget, "interior_focus", &interior_focus, NULL); if (!interior_focus) { focus = focus_line_width; if (focus == 0) { focus = 1; } entry_focused = TRUE; } } if (parent_state!= GTK_STATE_INSENSITIVE) { parent_state = GTK_STATE_NORMAL; } if ((!(widget)) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { if (CHECK_DETAIL (detail, "spinbutton_up")) { glide_draw_flat_box (style, window, parent_state, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg", x - thick, y + focus, width + thick - focus, height - focus*2); glide_draw_shadow (style, window, parent_state, GTK_SHADOW_IN, &spin_area, widget, detail, x - thick, y + focus, width + thick - focus, height + thick - focus); canvas = ge_gdk_drawable_to_cairo (window, area); if (!((width + thick) % 2) && !focus) { x += 1; width -= 1; } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x, y + thick + focus, width - thick - focus, height - thick - focus); glide_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y + thick + focus, width - thick - focus, height - thick - focus); if (!widget || (widget->requisition.height / 2) != (widget->requisition.height + 1) / 2) { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_UP, TRUE, x + thick/2, y + thick + 1, width - thick*2, height - thick*2 + 1); } else { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_UP, TRUE, x + thick/2, y + thick + 1, width - thick*2, height - thick*2); } ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x, y + thick + focus, width - thick - focus, height - thick - focus); cairo_destroy(canvas); if (entry_focused) { glide_draw_focus(style, window, parent_state, area, widget, detail, x - thick, y, width + thick, height + thick); } } else { glide_draw_flat_box (style, window, parent_state, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg", x - thick, y, width + thick - focus, height - focus); glide_draw_shadow (style, window, parent_state, GTK_SHADOW_IN, &spin_area, widget, detail, x - thick, y - thick, width + thick - focus, height + thick - focus); canvas = ge_gdk_drawable_to_cairo (window, area); if (!((width + thick) % 2) && !focus) { x += 1; width -= 1; } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x, y + thick, width - thick - focus, height - thick*2 - focus); glide_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y , width - thick - focus, height - thick - focus); if (!widget || (widget->requisition.height / 2) != (widget->requisition.height + 1) / 2) { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_DOWN, TRUE, x + thick/2, y + thick/2 + 1 - focus, width - thick*2, height - thick*2 - 2); } else { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_DOWN, TRUE, x + thick/2, y + thick/2 - focus, width - thick*2, height - thick*2); } ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x, y , width - thick - focus, height - thick - focus); cairo_destroy(canvas); if (entry_focused) { glide_draw_focus(style, window, parent_state, area, widget, detail, x - thick, y, width + thick, height); } } } else { if (CHECK_DETAIL (detail, "spinbutton_up")) { glide_draw_flat_box (style, window, parent_state, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg", x + focus, y + focus, width + thick*2 - focus, height - focus); glide_draw_shadow (style, window, parent_state, GTK_SHADOW_IN, &spin_area, widget, detail, x + focus, y + focus, width + thick*2 - focus, height + thick - focus); canvas = ge_gdk_drawable_to_cairo (window, area); if (!((width + thick) % 2) && !focus) { width -= 1; } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x + thick + focus, y + thick + focus, width - thick - focus, height - thick - focus); glide_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x + thick + focus, y + thick + focus , width - thick - focus, height - thick - focus); if ((widget->requisition.height / 2) != (widget->requisition.height + 1) / 2) { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_UP, TRUE, x + thick + focus, y + thick - 1 + focus, width - thick, height - thick + 1); } else { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_UP, TRUE, x + thick + focus, y + thick, width - thick, height - thick); } ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x + thick + focus, y + thick + focus , width - thick - focus, height - thick - focus); cairo_destroy(canvas); if (entry_focused) { glide_draw_focus(style, window, parent_state, area, widget, detail, x, y, width + thick*2, height + thick); } } else { glide_draw_flat_box (style, window, parent_state, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg",x + focus, y, width + thick*2 - focus, height - focus); glide_draw_shadow (style, window, parent_state, GTK_SHADOW_IN, &spin_area, widget, detail, x + focus , y - thick, width + thick*2 - focus, height + thick - focus); canvas = ge_gdk_drawable_to_cairo (window, area); if (!((width + thick) % 2) && !focus) { width -= 1; } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x + thick + focus, y, width - thick - focus, height - thick - focus); glide_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x + thick + focus, y, width - thick - focus, height - thick - focus); if ((widget->requisition.height / 2) != (widget->requisition.height + 1) / 2) { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_DOWN, TRUE, x + thick + focus, y + 1 - focus, width - thick, height - thick - 2); } else { glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "spinbutton_arrow", GTK_ARROW_DOWN, TRUE, x + thick + focus, y, width - thick, height - thick); } ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x + thick + focus, y, width - thick - focus, height - thick - focus); cairo_destroy(canvas); if (entry_focused) { glide_draw_focus(style, window, parent_state, area, widget, detail, x, y - thick, width + thick*2, height + thick); } } } } /*********************************************** * glide_draw_box - * * Function used to draw the box portion of * general widgets (buttons, entries). * * In general this is the same as calling * apply background and then draw shadow, * so the bulk of this routine is actually * to handle drawing the peculiarities of * specific widgets which don't follow this * in glide. ***********************************************/ void glide_draw_box (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { GlideStyle *glide_style = GLIDE_STYLE (style); GlideBorderType border_type; cairo_t *canvas; CHECK_ARGS SANITIZE_SIZE if (GE_IS_MENU_SHELL(widget)) { glide_gtk2_engine_hack_menu_shell_setup(widget); } if (CHECK_DETAIL (detail, "menuitem")) shadow_type = GTK_SHADOW_OUT; /***********************************************/ /* Convert Shadow Type To Border Type */ /***********************************************/ switch (shadow_type) { case GTK_SHADOW_ETCHED_IN: border_type = GLIDE_BORDER_TYPE_ETCHED; break; case GTK_SHADOW_ETCHED_OUT: border_type = GLIDE_BORDER_TYPE_ENGRAVED; break; case GTK_SHADOW_IN: border_type = GLIDE_BORDER_TYPE_IN; break; case GTK_SHADOW_OUT: border_type = GLIDE_BORDER_TYPE_OUT; break; default: border_type = GLIDE_BORDER_TYPE_NONE; break; } canvas = ge_gdk_drawable_to_cairo (window, area); if ((CHECK_DETAIL (detail, "vscrollbar")) || (CHECK_DETAIL (detail, "hscrollbar"))) { gboolean vertical = CHECK_DETAIL (detail, "vscrollbar"); ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[vertical][state_type]), x-1, y-1, width+1, height+1); do_glide_draw_border(canvas, &glide_style->color_cube.bg[state_type], GLIDE_BEVEL_STYLE_SMOOTHER, border_type, x, y, width, height); ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,vertical), x, y, width, height); } else if (detail && g_str_has_prefix (detail, "trough")) /* accept trough side details */ { if (GE_IS_SCALE (widget)) { gint vborder, hborder; /* calculate h/vborder, minimum width is 6 pixel */ if GE_IS_HSCALE (widget) { vborder = MIN(8, (height - 6) / 2); hborder = 1; } else { vborder = 1; hborder = MIN(8, (width - 6) / 2); } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, GTK_STATE_NORMAL, glide_style->bg_solid[GTK_STATE_NORMAL]), x, y, width, height); ge_cairo_pattern_fill(canvas, glide_style->bg_solid[GTK_STATE_ACTIVE], x+hborder, y+vborder, width-hborder*2, height-vborder*2); if (CHECK_DETAIL (detail, "trough-lower")) ge_cairo_pattern_fill(canvas, glide_style->bg_gradient[TRUE][GTK_STATE_SELECTED], x + hborder, y+vborder, width - hborder*2, height-vborder*2); ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, "menuitem",FALSE), x+hborder, y+vborder, width-hborder*2, height-vborder*2); do_glide_draw_border(canvas, &glide_style->color_cube.bg[GTK_STATE_NORMAL], GLIDE_BEVEL_STYLE_SMOOTHER, GLIDE_BORDER_TYPE_IN, x+hborder, y+vborder, width-hborder*2, height-vborder*2); } else { ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_solid[state_type]), x, y, width, height); do_glide_draw_border(canvas, &glide_style->color_cube.bg[GTK_STATE_NORMAL], GLIDE_BEVEL_STYLE_DEFAULT, GLIDE_BORDER_TYPE_IN, x, y, width, height); } } else if ((CHECK_DETAIL (detail, "toolbar")) || (CHECK_DETAIL (detail, "menubar")) || (GE_IS_BONOBO_TOOLBAR (widget)) || (CHECK_DETAIL (detail, "dockitem")) || (CHECK_DETAIL (detail, "dockitem_bin")) || (CHECK_DETAIL (detail, "handlebox_bin")) || (CHECK_DETAIL (detail, "handlebox"))) { if (((CHECK_DETAIL (detail, "dockitem_bin")) && (GE_IS_BONOBO_DOCK_ITEM(widget))) || ((widget) && (ge_is_bonobo_dock_item(widget->parent)))) { GList *children = NULL, *child = NULL; GtkWidget *dockitem = widget; gboolean has_grip = FALSE, ltr = TRUE; if ((!GE_IS_BONOBO_DOCK_ITEM(widget)) && (!GE_IS_BOX(widget))) dockitem = widget->parent; has_grip = GE_IS_CONTAINER(dockitem); ltr = (!widget) || (gtk_widget_get_direction (dockitem) == GTK_TEXT_DIR_LTR); if (has_grip) { has_grip = FALSE; children = gtk_container_get_children(GTK_CONTAINER(dockitem)); for (child = g_list_first(children); child; child = g_list_next(child)) { if (GE_IS_BONOBO_DOCK_ITEM_GRIP(child->data)) has_grip = (GTK_WIDGET_VISIBLE(child->data) && GTK_WIDGET_REALIZED(child->data) && GTK_WIDGET(child->data)->allocation.width > 1) && (GTK_WIDGET(child->data)->allocation.height > 1); } if (children) g_list_free(children); } if (has_grip) { /* bonobo dock items draw the handle bar grip different from * other toolbars - namely it draws the bin the whole size * and then the handle bar on top, which make the edge overlap * look wrong, especially relative to bonobo toolbars and * gtk handle bars etc. luckily the handle bar size * is fixed at 10, and the orientation can be grabbed * via gobject, so we just make sure the bin is drawn * NEXT to the handle bar, not beneath it */ GtkOrientation tmp = GTK_ORIENTATION_HORIZONTAL; if GE_IS_HBOX(dockitem) tmp = GTK_ORIENTATION_VERTICAL; else if (GE_IS_BONOBO_DOCK_ITEM(dockitem)) g_object_get (dockitem, "orientation", &tmp, NULL); if (tmp == GTK_ORIENTATION_HORIZONTAL) { if (dockitem == widget) { x += 8*ltr; width -= 8; } } else { if (dockitem == widget) { y += 8; height -= 8; } } } } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_solid[state_type]), x, y, width, height); /* If this is a menu embedded in the gnome-panel, we don't * draw a border since it looks cleaner without one. */ if ((shadow_type != GTK_SHADOW_NONE) && (widget) && (widget->parent) && ((!((CHECK_DETAIL (detail, "menubar")) && ge_is_panel_widget_item (widget))))) { cairo_save(canvas); cairo_rectangle(canvas, x, y, width, height); cairo_clip(canvas); do_glide_draw_border(canvas, &glide_style->color_cube.bg[state_type], GLIDE_BEVEL_STYLE_DEFAULT, GLIDE_BORDER_TYPE_OUT, x, y, width, height); cairo_restore(canvas); } } else if ((CHECK_DETAIL (detail, "menuitem"))) { ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x, y, width, height); do_glide_draw_border(canvas, &glide_style->color_cube.bg[state_type], GLIDE_BEVEL_STYLE_FLAT, GLIDE_BORDER_TYPE_IN, x, y, width, height); ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x, y, width, height); } else if ((CHECK_DETAIL (detail, "bar")) && (widget && GE_IS_PROGRESS_BAR (widget))) { gboolean vertical = TRUE; switch (GTK_PROGRESS_BAR(widget)->orientation) { case GTK_PROGRESS_LEFT_TO_RIGHT: case GTK_PROGRESS_RIGHT_TO_LEFT: vertical = FALSE; break; case GTK_PROGRESS_BOTTOM_TO_TOP: case GTK_PROGRESS_TOP_TO_BOTTOM: vertical = TRUE; break; } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, GTK_STATE_SELECTED, glide_style->bg_gradient[!vertical][GTK_STATE_SELECTED]), x+1, y+1, width-2, height-2); do_glide_draw_border(canvas, &glide_style->color_cube.bg[GTK_STATE_SELECTED], GLIDE_BEVEL_STYLE_NONE, GLIDE_BORDER_TYPE_OUT, x+1, y+1, width-2, height-2); ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,vertical), x+1, y+1, width-2, height-2); } else if ((CHECK_DETAIL (detail, "button")) && widget && ge_is_in_combo_box (widget)) { /* ComboBox Buttons are an especially complex case * so call our special function for them. */ glide_draw_combobox_button (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else if ((CHECK_DETAIL (detail, "spinbutton_up")) || (CHECK_DETAIL (detail, "spinbutton_down"))) { /* SpinButton Steppers are an especially complex case * so call our special function for them. */ glide_draw_spinbutton_stepper (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else { /* default box apearance */ ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[FALSE][state_type]), x, y, width, height); glide_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,FALSE), x, y, width, height); } /* Paint a triangle here instead of in "buttondefault" which is drawn _behind_ the current button */ if ((CHECK_DETAIL (detail, "button")) && widget && GE_WIDGET_HAS_DEFAULT (widget)) { cairo_save(canvas); ge_cairo_set_color(canvas, &glide_style->color_cube.bg[GTK_STATE_SELECTED]); cairo_move_to(canvas, x+2.5, y+2.5); cairo_line_to(canvas, x+11.5, y+2.5); cairo_line_to(canvas, x+2.5, y+11.5); cairo_line_to(canvas, x+2.5, y+2.5); cairo_fill(canvas); cairo_set_line_width (canvas, 1); ge_cairo_set_color(canvas, &glide_style->color_cube.dark[state_type]); cairo_move_to(canvas, x + 2.5, y + 12); cairo_line_to(canvas, x + 2.5, y + 2.5); cairo_line_to(canvas, x + 12, y + 2.5); cairo_stroke(canvas); ge_cairo_set_color(canvas, &glide_style->color_cube.light[state_type]); cairo_move_to(canvas, x+12, y+2.5); cairo_line_to(canvas, x+2.5, y+12); cairo_stroke(canvas); cairo_restore(canvas); } if (CHECK_DETAIL(detail, "optionmenu") || (CHECK_DETAIL(detail, "button") && (ge_is_combo_box(widget, FALSE)) && !(ge_is_combo_box_entry(widget)))) { GtkRequisition indicator_size; GtkBorder indicator_spacing; gint vline_x; if (state_type != GTK_STATE_INSENSITIVE) state_type = GTK_STATE_NORMAL; ge_option_menu_get_props (widget, &indicator_size, &indicator_spacing); if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)) vline_x = x + indicator_size.width + indicator_spacing.left + indicator_spacing.right; else vline_x = x + width - (indicator_size.width + indicator_spacing.left + indicator_spacing.right) - style->xthickness; do_glide_draw_line(canvas, &glide_style->color_cube.dark[state_type], &glide_style->color_cube.light[state_type], area, y + style->ythickness + 1, y + height - style->ythickness - 2, vline_x, FALSE); if ((widget) && (gtk_widget_get_direction (GTK_WIDGET (widget)) == GTK_TEXT_DIR_RTL)) x += indicator_spacing.right + style->xthickness; else x += width - indicator_size.width - indicator_spacing.right - style->xthickness; y += ((height - indicator_size.height) / 2) + 1; width = indicator_size.width; height = indicator_size.height; glide_draw_arrow (style, window, state_type, shadow_type, area, NULL, "optionmenu", GTK_ARROW_DOWN, TRUE, x, y, width, height); } cairo_destroy(canvas); } /* Draw Function For Boxes Traditionally Either Without Borders, or With A Single Pixel Line */ void glide_draw_flat_box (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { /*#warning FIXME - FINISH draw_flat_box*/ if (CHECK_DETAIL(detail, "tooltip")) { GlideStyle *glide_style = GLIDE_STYLE (style); cairo_t *canvas; CHECK_ARGS SANITIZE_SIZE canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_solid[state_type]), x, y, width, height); do_glide_draw_border(canvas, &glide_style->color_cube.bg[state_type], GLIDE_BEVEL_STYLE_FLAT, GLIDE_BORDER_TYPE_IN, x, y, width, height); cairo_destroy(canvas); } else { GtkStyleClass *glide_parent_class; glide_parent_class = GTK_STYLE_CLASS (g_type_class_peek_parent (G_OBJECT_GET_CLASS(style))); glide_parent_class->draw_flat_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } } /*********************************************** * glide_draw_tab - * * Function pretty much only called to draw * the arrow "tab" in the option menu ***********************************************/ void glide_draw_tab (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { } /*********************************************** * glide_draw_slider - * * Function which draws scale/scrollbar slider ***********************************************/ void glide_draw_slider (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { GlideStyle *glide_style = GLIDE_STYLE (style); cairo_t *canvas; CHECK_ARGS SANITIZE_SIZE canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill(canvas,DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_gradient[orientation == GTK_ORIENTATION_VERTICAL][state_type]), x, y, width, height); do_glide_draw_border(canvas, &glide_style->color_cube.bg[state_type], (GE_IS_SCROLLBAR(widget))?GLIDE_BEVEL_STYLE_SMOOTHER:GLIDE_BEVEL_STYLE_DEFAULT, GLIDE_BORDER_TYPE_OUT, x, y, width, height); if (!GE_IS_SCALE(widget)) { do_glide_draw_grip (canvas, &glide_style->color_cube.light[state_type], &glide_style->color_cube.dark[state_type], x, y, width, height, orientation == GTK_ORIENTATION_VERTICAL); ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,orientation == GTK_ORIENTATION_VERTICAL), x, y, width, height); } else { ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,orientation != GTK_ORIENTATION_VERTICAL), x, y, width, height); } cairo_destroy(canvas); } void glide_draw_box_gap (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size) { GlideStyle *glide_style = GLIDE_STYLE (style); cairo_t *canvas; CHECK_ARGS SANITIZE_SIZE canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, glide_style->bg_solid[state_type]), x, y, width, height); glide_draw_shadow_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_pos, gap_size); cairo_destroy(canvas); } void glide_draw_shadow_gap (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size) { GlideSide side; GlideBorderType border_type; GlideBevelStyle bevel_style; cairo_t *canvas; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE if (shadow_type == GTK_SHADOW_NONE) return; /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ side = GLIDE_SIDE_NONE; if (gap_size > 0) { switch (gap_side) { case GTK_POS_BOTTOM: side = GLIDE_SIDE_BOTTOM; break; case GTK_POS_TOP: side = GLIDE_SIDE_TOP; break; case GTK_POS_RIGHT: side = GLIDE_SIDE_RIGHT; break; case GTK_POS_LEFT: side = GLIDE_SIDE_LEFT; break; default: break; } switch (side) { case GLIDE_SIDE_BOTTOM: if (((gap_pos + gap_size) != width) && ((gap_pos) != 0)) { gap_pos -= 1; gap_size += 1; } case GLIDE_SIDE_TOP: if ((gap_pos + gap_size) == width) { gap_pos -= 1; } gap_size += 1; break; case GLIDE_SIDE_RIGHT: if (((gap_pos + gap_size) != height) && ((gap_pos) != 0)) { gap_pos -= 1; gap_size += 1; } case GLIDE_SIDE_LEFT: if ((gap_pos + gap_size) == height) { gap_pos -= 1; } gap_size += 1; break; default: break; } gap_pos += 1; gap_size -= 2; } /***********************************************/ /* Convert Shadow Type To Border Type */ /***********************************************/ switch (shadow_type) { case GTK_SHADOW_ETCHED_IN: border_type = GLIDE_BORDER_TYPE_ETCHED; break; case GTK_SHADOW_ETCHED_OUT: border_type = GLIDE_BORDER_TYPE_ENGRAVED; break; case GTK_SHADOW_IN: border_type = GLIDE_BORDER_TYPE_IN; break; case GTK_SHADOW_OUT: border_type = GLIDE_BORDER_TYPE_OUT; break; default: border_type = GLIDE_BORDER_TYPE_NONE; break; } /***********************************************/ /* Draw Border */ /***********************************************/ bevel_style = GLIDE_BEVEL_STYLE_DEFAULT; canvas = ge_gdk_drawable_to_cairo (window, area); do_glide_draw_border_with_gap(canvas, &GLIDE_STYLE(style)->color_cube.bg[state_type], bevel_style, border_type, x, y, width, height, side, gap_pos, gap_size); cairo_destroy(canvas); } /*********************************************** * glide_draw_extension - * * Function which draws notebook extensions - * aka, tabs. * * This routine is so complex mostly because * it tries to draw a faked 1-2 pixel rounded * corner. ***********************************************/ void glide_draw_extension (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side) { GlideStyle *glide_style = GLIDE_STYLE (style); gint widget_x = 0, widget_y = 0, widget_width = 0, widget_height = 0; GdkRectangle clip, shadow; CairoPattern *pattern; gint gap_pos = 0, gap_shrink = 0; GlideSide side; GlideBorderType border_type; GlideBevelStyle bevel_style; cairo_t *canvas; CHECK_ARGS SANITIZE_SIZE shadow.x = x; shadow.y = y; shadow.width = width; shadow.height = height; clip = shadow; /* GTK doesn't overlap Extensions and Notebooks, but rather a tab is drawn with a "gap" side. Instead of long draw cases per gap side, call standard draw, but clipped to size, and overdraw edge thickness + one on gap side. To fake the apearance of overlap on edge aligned tabs increase clip by one on gap side. */ if (widget && (GE_IS_NOTEBOOK (widget))) { widget_x = (widget->allocation.x + GTK_CONTAINER (widget)->border_width); widget_y = (widget->allocation.y + GTK_CONTAINER (widget)->border_width); widget_width = (widget->allocation.width - 2*GTK_CONTAINER (widget)->border_width); widget_height = (widget->allocation.height - 2*GTK_CONTAINER (widget)->border_width); } pattern = glide_style->bg_solid[state_type]; if ((widget && GE_IS_NOTEBOOK (widget)) && (state_type==GTK_STATE_NORMAL)) { pattern = glide_style->active_tab_gradient[gap_side][state_type]; gap_pos = 1; gap_shrink = 2; } switch (gap_side) { case GTK_POS_TOP: if (GTK_CHECK_VERSION(2,10,0) || ((widget && GE_IS_NOTEBOOK (widget)) && ((x==widget_x) || ((x + width) == (widget_x + widget_width))))) { clip.y -= 1; clip.height += 2; if (!GTK_CHECK_VERSION(2,10,0)) { height -= 1; } } y -= 3; height += 3; break; case GTK_POS_LEFT: if (GTK_CHECK_VERSION(2,10,0) || ((widget && GE_IS_NOTEBOOK (widget)) && ((y==widget_y) || ((y + height) == (widget_y + widget_height))))) { clip.x -= 1; clip.width += 2; if (!GTK_CHECK_VERSION(2,10,0)) { x -= 1; } } x -= 3; width += 3; break; default: case GTK_POS_BOTTOM: if (GTK_CHECK_VERSION(2,10,0) || ((widget && GE_IS_NOTEBOOK (widget)) && ((x==widget_x) || ((x + width) == (widget_x + widget_width))))) { clip.height += 1; gap_shrink-=2; } height += 3; break; case GTK_POS_RIGHT: if (GTK_CHECK_VERSION(2,10,0) || ((widget && GE_IS_NOTEBOOK (widget)) && ((y==widget_y) || ((y + height) == (widget_y + widget_height))))) { clip.width += 1; gap_shrink-=2; } width += 3; break; } /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ side = GLIDE_SIDE_NONE; switch (gap_side) { case GTK_POS_BOTTOM: side = GLIDE_SIDE_BOTTOM; break; case GTK_POS_TOP: side = GLIDE_SIDE_TOP; break; case GTK_POS_RIGHT: side = GLIDE_SIDE_RIGHT; break; case GTK_POS_LEFT: side = GLIDE_SIDE_LEFT; break; default: break; } /***********************************************/ /* Convert Shadow Type To Border Type */ /***********************************************/ switch (shadow_type) { case GTK_SHADOW_ETCHED_IN: border_type = GLIDE_BORDER_TYPE_ETCHED; break; case GTK_SHADOW_ETCHED_OUT: border_type = GLIDE_BORDER_TYPE_ENGRAVED; break; case GTK_SHADOW_IN: border_type = GLIDE_BORDER_TYPE_IN; break; case GTK_SHADOW_OUT: border_type = GLIDE_BORDER_TYPE_OUT; break; default: border_type = GLIDE_BORDER_TYPE_NONE; break; } /***********************************************/ /* Draw Border */ /***********************************************/ bevel_style = GLIDE_BEVEL_STYLE_DEFAULT; canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, pattern), shadow.x, shadow.y, shadow.width, shadow.height); cairo_rectangle(canvas, clip.x, clip.y, clip.width, clip.height); cairo_clip(canvas); do_glide_draw_border_with_gap(canvas, &GLIDE_STYLE(style)->color_cube.bg[state_type], bevel_style, border_type, x, y, width, height, side, gap_pos, (((side==GLIDE_SIDE_TOP) || (side==GLIDE_SIDE_BOTTOM))?width:height)-gap_shrink); cairo_destroy(canvas); } /*********************************************** * glide_draw_handle - * * Function which draws Handle box- * aka toolbar drag grip/paned drag grip ***********************************************/ void glide_draw_handle (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { GlideStyle *glide_style = GLIDE_STYLE (style); cairo_t *canvas; CHECK_ARGS SANITIZE_SIZE if (GE_IS_BONOBO_DOCK_ITEM_GRIP(widget) && (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) && orientation == (GTK_ORIENTATION_HORIZONTAL)) { x = widget->parent->allocation.width - widget->allocation.width; y = widget->parent->allocation.height - widget->allocation.height; width = widget->allocation.width; height = widget->allocation.height; area = NULL; } canvas = ge_gdk_drawable_to_cairo (window, area); if (GE_IS_HANDLE_BOX (widget)) { /* handle box apears to be broken in that * it doesn't pass the orientation properly, * but always passes as vertical, so we look * it up ourselves. */ switch (gtk_handle_box_get_handle_position (GTK_HANDLE_BOX (widget))) { case GTK_POS_LEFT: case GTK_POS_RIGHT: orientation = GTK_ORIENTATION_VERTICAL; break; case GTK_POS_TOP: case GTK_POS_BOTTOM: orientation = GTK_ORIENTATION_HORIZONTAL; break; } } else { if ((CHECK_DETAIL (detail, "handlebox") && (!GE_IS_HANDLE_BOX_ITEM (widget)))) { /* panel_applet_frame used by the panel is broken, * always passes orientation == horizontal * since we don't know anything about the panel * here, we just determine orientation by size. * * If this is on a PanelWidget, we also offset the * actual drag bar by 2 pixels, since we draw * a line next to it instead of drawing a border * around it. */ if (width < height) { orientation = GTK_ORIENTATION_HORIZONTAL; if (ge_is_panel_widget_item (widget)) x += 2; } else { orientation = GTK_ORIENTATION_VERTICAL; if (ge_is_panel_widget_item (widget)) y += 2; } } } ge_cairo_pattern_fill(canvas, DEFAULT_BACKGROUND_PATTERN(glide_style, state_type, (GE_IS_PANED(widget))?glide_style->bg_solid[state_type]: glide_style->bg_gradient[orientation == (GTK_ORIENTATION_VERTICAL)][state_type]), x, y, width, height); if (ge_is_panel_widget_item (widget) && (CHECK_DETAIL (detail, "handlebox") && (!GE_IS_HANDLE_BOX_ITEM (widget))) && (!(GE_IS_HANDLE_BOX (widget)))) { /* draw the drag bar */ if (orientation == GTK_ORIENTATION_VERTICAL) { ge_cairo_simple_border (canvas, &glide_style->color_cube.light[state_type], &glide_style->color_cube.dark[state_type], x + style->xthickness + 1, y + height / 2 - 1, width - style->xthickness - 3, 3, FALSE); } else { ge_cairo_simple_border (canvas, &glide_style->color_cube.light[state_type], &glide_style->color_cube.dark[state_type], x + width / 2 - 1, y + style->ythickness + 1, 3, height - style->ythickness - 3, FALSE); } /* If this is on a PanelWidget, we draw a line * next to it instead of drawing a border around it. */ if (orientation == GTK_ORIENTATION_VERTICAL) { ge_cairo_line (canvas, &glide_style->color_cube.dark[state_type], x + 1, y + 0, x + width - 2, y + 0); ge_cairo_line (canvas, &glide_style->color_cube.light[state_type], x + 1, y + 1, x + width - 2, y + 1); } else { ge_cairo_line (canvas, &glide_style->color_cube.dark[state_type], x + 0, y + 1, x + 0, y + height - 2); ge_cairo_line (canvas, &glide_style->color_cube.light[state_type], x + 1, y + 1, x + 1, y + height - 2); } } else { gboolean skip_shadow = FALSE; do_glide_draw_grip (canvas, &glide_style->color_cube.light[GTK_STATE_NORMAL], &glide_style->color_cube.dark[GTK_STATE_NORMAL], x, y, width, height, orientation == GTK_ORIENTATION_VERTICAL); if (GE_IS_BONOBO_DOCK_ITEM_GRIP(widget)) { if GE_IS_BOX(widget->parent) { GList *children = NULL, *child = NULL; children = gtk_container_get_children(GTK_CONTAINER(widget->parent)); for (child = g_list_first(children); child; child = g_list_next(child)) { if (GE_IS_BOX(child->data)) { skip_shadow = TRUE; child = NULL; } } if (children) g_list_free(children); } } else skip_shadow = GE_IS_PANED(widget); if (!skip_shadow) { do_glide_draw_border(canvas, &glide_style->color_cube.bg[state_type], GLIDE_BEVEL_STYLE_DEFAULT, GLIDE_BORDER_TYPE_OUT, x, y, width, height); } ge_cairo_pattern_fill(canvas, DEFAULT_OVERLAY_PATTERN(glide_style, detail,orientation == GTK_ORIENTATION_VERTICAL), x, y, width, height); } cairo_destroy(canvas); } void glide_draw_focus(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { GlideStyle *glide_style = GLIDE_STYLE (style); gboolean interior_focus = FALSE; gint line_width = 1; CHECK_ARGS /* Fallback on GTK's Line Pattern */ if (widget) { gtk_widget_style_get (widget, "focus-line-width", &line_width, NULL); gtk_widget_style_get (widget, "interior_focus", &interior_focus, NULL); } if (interior_focus) { GtkStyleClass *glide_parent_class; glide_parent_class = GTK_STYLE_CLASS (g_type_class_peek_parent (G_OBJECT_GET_CLASS(style))); glide_parent_class->draw_focus(style, window, state_type, area, widget, detail, x, y, width, height); } else { cairo_t *canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_set_color(canvas, &glide_style->color_cube.bg[GTK_STATE_SELECTED]); cairo_set_line_width(canvas, line_width); if (CHECK_DETAIL(detail, "button") && (ge_is_in_combo_box (widget))) { gint thick = 2; GtkWidget *entry; if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { ge_cairo_stroke_rectangle(canvas, x - thick + line_width*2, y + thick, width - line_width*2, height - thick*2); } else { ge_cairo_stroke_rectangle(canvas, x + thick, y + thick, width - line_width*2, height - thick*2); } entry = g_object_get_data(G_OBJECT(ge_find_combo_box_widget_parent (widget)), "entry"); } else if (CHECK_DETAIL(detail, "entry") && (GE_IS_SPIN_BUTTON(widget)) ) { if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { ge_cairo_stroke_rectangle(canvas, x + 0.5, y + 0.5, width + line_width - 1, height - 1); } else { ge_cairo_stroke_rectangle(canvas, x - line_width + 0.5, y + 0.5, width + line_width - 1, height - 1); } } else if (CHECK_DETAIL(detail, "entry") && (ge_is_in_combo_box (widget))) { GtkWidget *button = g_object_get_data(G_OBJECT(ge_find_combo_box_widget_parent (widget)), "button"); if (GE_IS_WIDGET(button)) { gtk_widget_queue_draw_area(button, button->allocation.x, button->allocation.y, button->allocation.width, button->allocation.height); } if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { ge_cairo_stroke_rectangle(canvas, x + 0.5, y + 0.5, width + line_width - 1, height - 1); } else { ge_cairo_stroke_rectangle(canvas, x - line_width + 0.5, y + 0.5, width + line_width - 1, height - 1); } } else if (CHECK_DETAIL(detail, "spinbutton_up")) { if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { cairo_rectangle(canvas, x + line_width, y, width - line_width, height); } else { cairo_rectangle(canvas, x, y, width - line_width, height); } cairo_clip(canvas); ge_cairo_stroke_rectangle(canvas, x + 0.5, y + 0.5, width - 1, height + line_width - 1); } else if (CHECK_DETAIL(detail, "spinbutton_down")) { if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { cairo_rectangle(canvas, x + line_width, y, width - line_width, height); } else { cairo_rectangle(canvas, x, y, width - line_width, height); } cairo_clip(canvas); ge_cairo_stroke_rectangle(canvas, x + 0.5, y - line_width + 0.5, width - 1, height + line_width - 1); } else if (CHECK_DETAIL(detail, "combo_entry_button")) { if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { cairo_rectangle(canvas, x + line_width, y, width - line_width, height + 1); cairo_clip(canvas); ge_cairo_stroke_rectangle(canvas, x + 0.5, y + 0.5, width - 1, height - 1); } else { cairo_rectangle(canvas, x, y, width, height + 1); cairo_clip(canvas); ge_cairo_stroke_rectangle(canvas, x+0.5, y+0.5, width + line_width - 1, height - 1); } } else { ge_cairo_stroke_rectangle(canvas, x+0.5, y+0.5, width-1, height-1); } cairo_destroy(canvas); } } void glide_draw_layout (GtkStyle *style, GdkWindow *window, GtkStateType state_type, gboolean use_text, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, PangoLayout *layout) { GdkGC *gc; CHECK_ARGS use_text &= !ge_is_combo_box(widget, FALSE); /* #warning FIXME - gdk gdk gdk*/ gc = use_text ? style->text_gc[state_type] : style->fg_gc[state_type]; if (area) { gdk_gc_set_clip_rectangle (gc, area); } if ((state_type==GTK_STATE_INSENSITIVE) && !use_text) { gdk_draw_layout_with_colors(window, gc, x+1, y+1, layout, &style->light[state_type], NULL); gdk_draw_layout_with_colors(window, gc, x, y, layout, &style->dark[state_type], NULL); } else { gdk_draw_layout (window, gc, x, y, layout); } if (area) { gdk_gc_set_clip_rectangle (gc, NULL); } } gtk-engines-2.20.2/engines/glide/src/glide_gtk2_drawing.h0000644000175000017500000001352311445424675020153 00000000000000/* Glide - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ GE_INTERNAL void glide_draw_shadow_gap (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size); GE_INTERNAL void glide_draw_box_gap (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size); GE_INTERNAL void glide_draw_hline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x1, gint x2, gint y); GE_INTERNAL void glide_draw_vline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint y1, gint y2, gint x); GE_INTERNAL void glide_draw_check (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_option (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_arrow (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_shadow (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_box (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_flat_box (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_tab (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_slider (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); GE_INTERNAL void glide_draw_extension (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side); GE_INTERNAL void glide_draw_handle (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); GE_INTERNAL void glide_draw_focus(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); GE_INTERNAL void glide_draw_layout (GtkStyle *style, GdkWindow *window, GtkStateType state_type, gboolean use_text, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, PangoLayout *layout); gtk-engines-2.20.2/engines/glide/src/glide_gtk2_engine.c0000644000175000017500000002002011445424675017746 00000000000000/* Glide - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "glide_gtk2_engine.h" #include "glide_gtk2_support.h" #include "glide_gtk2_drawing.h" #if 0 enum { TOKEN_PROFILE = G_TOKEN_LAST + 1, }; static struct { gchar *name; guint token; } theme_symbols[] = { { "profile", TOKEN_PROFILE } }; #endif /**********************************/ /* Register & Initialize RC Style */ /**********************************/ /* Create an empty style suitable to this RC style */ static GtkStyle * glide_rc_style_create_style (GtkRcStyle * rc_style) { return GTK_STYLE (g_object_new (GLIDE_TYPE_STYLE, NULL)); } static void glide_rc_style_class_init (GlideRcStyleClass * klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->create_style = glide_rc_style_create_style; } G_DEFINE_DYNAMIC_TYPE (GlideRcStyle, glide_rc_style, GTK_TYPE_RC_STYLE) static void glide_rc_style_class_finalize (GlideRcStyleClass *klass) { } static void glide_rc_style_init (GlideRcStyle *self) { } /***************************************/ /* Register & Initialize Drawing Style */ /***************************************/ G_DEFINE_DYNAMIC_TYPE (GlideStyle, glide_style, GTK_TYPE_STYLE) static void glide_linear_overlay_pattern(gboolean vertical, gboolean EVIL_OVERLAY, CairoPattern *pattern) { #if ((CAIRO_VERSION_MAJOR < 1) || ((CAIRO_VERSION_MAJOR == 1) && (CAIRO_VERSION_MINOR < 2))) pattern->type = CAIRO_PATTERN_TYPE_LINEAR; #endif if (vertical) { pattern->scale = GE_DIRECTION_VERTICAL; pattern->handle = cairo_pattern_create_linear(0, 0, 1, 0); } else { pattern->scale = GE_DIRECTION_HORIZONTAL; pattern->handle = cairo_pattern_create_linear(0, 0, 0, 1); } pattern->translate = GE_DIRECTION_BOTH; if (EVIL_OVERLAY) { pattern->operator = CAIRO_OPERATOR_OVER; cairo_pattern_add_color_stop_rgba(pattern->handle, 0.000, 1, 1, 1, 0.5); cairo_pattern_add_color_stop_rgba(pattern->handle, 0.500, 1, 1, 1, 0.25); cairo_pattern_add_color_stop_rgba(pattern->handle, 1.000, 1, 1, 1, 0.5); /* Super Evil Overlay */ /* cairo_pattern_add_color_stop_rgba(pattern->handle, 0.000, 1, 1, 1, 0.000); cairo_pattern_add_color_stop_rgba(pattern->handle, 0.085, 1, 1, 1, 0.030); cairo_pattern_add_color_stop_rgba(pattern->handle, 0.330, 1, 1, 1, 0.050); cairo_pattern_add_color_stop_rgba(pattern->handle, 0.500, 1, 1, 1, 0.250); cairo_pattern_add_color_stop_rgba(pattern->handle, 0.770, 1, 1, 1, 0.150); cairo_pattern_add_color_stop_rgba(pattern->handle, 1.000, 1, 1, 1, 0.050);*/ } else { pattern->operator = CAIRO_OPERATOR_OVER; cairo_pattern_add_color_stop_rgba(pattern->handle, 0.000, 1, 1, 1, 0.18); cairo_pattern_add_color_stop_rgba(pattern->handle, 0.500, 1, 1, 1, 0.09); cairo_pattern_add_color_stop_rgba(pattern->handle, 1.000, 1, 1, 1, 0.18); } } static void glide_style_realize (GtkStyle * style) { GlideStyle *glide_style = GLIDE_STYLE (style); int i; GTK_STYLE_CLASS (glide_style_parent_class)->realize (style); ge_gtk_style_to_cairo_color_cube (style, &glide_style->color_cube); glide_linear_overlay_pattern(FALSE, FALSE, &glide_style->overlay[FALSE][FALSE]); glide_linear_overlay_pattern(TRUE, FALSE, &glide_style->overlay[FALSE][TRUE]); glide_linear_overlay_pattern(FALSE, TRUE, &glide_style->overlay[TRUE][FALSE]); glide_linear_overlay_pattern(TRUE, TRUE, &glide_style->overlay[TRUE][TRUE]); for (i = 0; i < 5; i++) { CairoColor base = glide_style->color_cube.bg[i]; /* Use Smooth's alternate shades for Light/Dark/Mid */ ge_shade_color(&base, 0.666667, &glide_style->color_cube.dark[i]); ge_shade_color(&base, 1.2, &glide_style->color_cube.light[i]); ge_blend_color(&glide_style->color_cube.dark[i], &glide_style->color_cube.light[i], &glide_style->color_cube.mid[i]); glide_style->bg_solid[i] = ge_cairo_color_pattern(&base); glide_style->bg_image[i] = NULL; if ((style->bg_pixmap[i]) && (style->bg_pixmap[i] != (GdkPixmap*) GDK_PARENT_RELATIVE)) { glide_style->bg_image[i] = ge_cairo_pixmap_pattern(style->bg_pixmap[i]); } glide_style->bg_gradient[0][i] = ge_cairo_linear_shade_gradient_pattern(&base, 1.05, 0.95, FALSE); glide_style->bg_gradient[1][i] = ge_cairo_linear_shade_gradient_pattern(&base, 1.05, 0.95, TRUE); glide_style->active_tab_gradient[GTK_POS_LEFT][i] = ge_cairo_linear_shade_gradient_pattern(&base, 1.0, 0.95, TRUE); glide_style->active_tab_gradient[GTK_POS_RIGHT][i] = ge_cairo_linear_shade_gradient_pattern(&base, 1.05, 1.0, TRUE); glide_style->active_tab_gradient[GTK_POS_TOP][i] = ge_cairo_linear_shade_gradient_pattern(&base, 1.0, 0.95, FALSE); glide_style->active_tab_gradient[GTK_POS_BOTTOM][i] = ge_cairo_linear_shade_gradient_pattern(&base, 1.05, 1.0, FALSE); } } static void glide_style_unrealize (GtkStyle * style) { GlideStyle *glide_style = GLIDE_STYLE (style); int i; cairo_pattern_destroy(glide_style->overlay[TRUE][FALSE].handle); cairo_pattern_destroy(glide_style->overlay[TRUE][TRUE].handle); cairo_pattern_destroy(glide_style->overlay[FALSE][FALSE].handle); cairo_pattern_destroy(glide_style->overlay[FALSE][TRUE].handle); for (i = 0; i < 5; i++) { ge_cairo_pattern_destroy(glide_style->bg_solid[i]); ge_cairo_pattern_destroy(glide_style->bg_image[i]); ge_cairo_pattern_destroy(glide_style->bg_gradient[FALSE][i]); ge_cairo_pattern_destroy(glide_style->bg_gradient[TRUE][i]); ge_cairo_pattern_destroy(glide_style->active_tab_gradient[GTK_POS_LEFT][i]); ge_cairo_pattern_destroy(glide_style->active_tab_gradient[GTK_POS_RIGHT][i]); ge_cairo_pattern_destroy(glide_style->active_tab_gradient[GTK_POS_TOP][i]); ge_cairo_pattern_destroy(glide_style->active_tab_gradient[GTK_POS_BOTTOM][i]); } GTK_STYLE_CLASS (glide_style_parent_class)->unrealize (style); } static void glide_style_class_init (GlideStyleClass * klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->realize = glide_style_realize; style_class->unrealize = glide_style_unrealize; style_class->draw_hline = glide_draw_hline; style_class->draw_vline = glide_draw_vline; style_class->draw_arrow = glide_draw_arrow; style_class->draw_box = glide_draw_box; style_class->draw_flat_box = glide_draw_flat_box; style_class->draw_check = glide_draw_check; style_class->draw_option = glide_draw_option; style_class->draw_tab = glide_draw_tab; style_class->draw_slider = glide_draw_slider; style_class->draw_shadow = glide_draw_shadow; style_class->draw_shadow_gap = glide_draw_shadow_gap; style_class->draw_box_gap = glide_draw_box_gap; style_class->draw_extension = glide_draw_extension; style_class->draw_handle = glide_draw_handle; style_class->draw_focus = glide_draw_focus; style_class->draw_layout = glide_draw_layout; } static void glide_style_class_finalize (GlideStyleClass *klass) { } static void glide_style_init (GlideStyle *self) { } /****************/ /* Engine Hooks */ /****************/ GE_EXPORT void theme_init (GTypeModule * module) { glide_rc_style_register_type (module); glide_style_register_type (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { void *ptr; ptr = GTK_RC_STYLE (g_object_new (GLIDE_TYPE_RC_STYLE, NULL)); return (GtkRcStyle *)ptr; } gtk-engines-2.20.2/engines/glide/src/glide_gtk2_engine.h0000644000175000017500000000633711445424675017772 00000000000000/* Glide - a cairo based GTK+ engine * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include "ge-support.h" /*#warning NO MORE MACROS! - Replace with pattern precedence in configuration parsing*/ #define DEFAULT_BACKGROUND_PATTERN(glide_style, state, alternate) ((glide_style->bg_image[state])?glide_style->bg_image[state]:alternate) #define DEFAULT_OVERLAY_PATTERN(glide_style, detail, vertical) &glide_style->overlay[CHECK_DETAIL(detail, "menuitem")][vertical] /*****************************/ /* RC Style Declaration */ /*****************************/ #define GLIDE_TYPE_RC_STYLE (glide_rc_style_get_type ()) #define GLIDE_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GLIDE_TYPE_RC_STYLE, GlideRcStyle)) #define GLIDE_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIDE_TYPE_RC_STYLE, GlideRcStyleClass)) #define GLIDE_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GLIDE_TYPE_RC_STYLE)) #define GLIDE_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIDE_TYPE_RC_STYLE)) #define GLIDE_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLIDE_TYPE_RC_STYLE, GlideRcStyleClass)) typedef struct { GtkRcStyle parent_instance; } GlideRcStyle; typedef struct { GtkRcStyleClass parent_class; } GlideRcStyleClass; GE_INTERNAL GType glide_rc_style_get_type (void); /*****************************/ /* Drawing Style Declaration */ /*****************************/ #define GLIDE_TYPE_STYLE (glide_style_get_type ()) #define GLIDE_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GLIDE_TYPE_STYLE, GlideStyle)) #define GLIDE_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIDE_TYPE_STYLE, GlideStyleClass)) #define GLIDE_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GLIDE_TYPE_STYLE)) #define GLIDE_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIDE_TYPE_STYLE)) #define GLIDE_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLIDE_TYPE_STYLE, GlideStyleClass)) typedef struct { GtkStyle parent_instance; CairoColorCube color_cube; CairoPattern *bg_solid[5]; CairoPattern *bg_image[5]; CairoPattern *bg_gradient[2][5]; CairoPattern *active_tab_gradient[4][5]; CairoPattern overlay[2][2]; } GlideStyle; typedef struct { GtkStyleClass parent_class; } GlideStyleClass; GE_INTERNAL GType glide_style_get_type (void); gtk-engines-2.20.2/engines/glide/Makefile.am0000644000175000017500000000272711446654310015515 00000000000000# Glide - a cairo based GTK+ engine # Copyright (C) 2006 Andrew Johnson # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libglide.la libglide_la_SOURCES = \ ./src/glide_gtk2_support.c \ ./src/glide_gtk2_support.h \ ./src/glide_gtk2_drawing.c \ ./src/glide_gtk2_drawing.h \ ./src/glide_gtk2_engine.c \ ./src/glide_gtk2_engine.h libglide_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libglide_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/glide/Makefile.in0000644000175000017500000005554011451355760015532 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Glide - a cairo based GTK+ engine # Copyright (C) 2006 Andrew Johnson # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/glide DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libglide_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libglide_la_OBJECTS = glide_gtk2_support.lo glide_gtk2_drawing.lo \ glide_gtk2_engine.lo libglide_la_OBJECTS = $(am_libglide_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libglide_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libglide_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libglide_la_SOURCES) DIST_SOURCES = $(libglide_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libglide.la libglide_la_SOURCES = \ ./src/glide_gtk2_support.c \ ./src/glide_gtk2_support.h \ ./src/glide_gtk2_drawing.c \ ./src/glide_gtk2_drawing.h \ ./src/glide_gtk2_engine.c \ ./src/glide_gtk2_engine.h libglide_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libglide_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/glide/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/glide/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libglide.la: $(libglide_la_OBJECTS) $(libglide_la_DEPENDENCIES) $(AM_V_CCLD)$(libglide_la_LINK) -rpath $(enginedir) $(libglide_la_OBJECTS) $(libglide_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glide_gtk2_drawing.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glide_gtk2_engine.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glide_gtk2_support.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< glide_gtk2_support.lo: ./src/glide_gtk2_support.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT glide_gtk2_support.lo -MD -MP -MF $(DEPDIR)/glide_gtk2_support.Tpo -c -o glide_gtk2_support.lo `test -f './src/glide_gtk2_support.c' || echo '$(srcdir)/'`./src/glide_gtk2_support.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/glide_gtk2_support.Tpo $(DEPDIR)/glide_gtk2_support.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/glide_gtk2_support.c' object='glide_gtk2_support.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o glide_gtk2_support.lo `test -f './src/glide_gtk2_support.c' || echo '$(srcdir)/'`./src/glide_gtk2_support.c glide_gtk2_drawing.lo: ./src/glide_gtk2_drawing.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT glide_gtk2_drawing.lo -MD -MP -MF $(DEPDIR)/glide_gtk2_drawing.Tpo -c -o glide_gtk2_drawing.lo `test -f './src/glide_gtk2_drawing.c' || echo '$(srcdir)/'`./src/glide_gtk2_drawing.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/glide_gtk2_drawing.Tpo $(DEPDIR)/glide_gtk2_drawing.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/glide_gtk2_drawing.c' object='glide_gtk2_drawing.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o glide_gtk2_drawing.lo `test -f './src/glide_gtk2_drawing.c' || echo '$(srcdir)/'`./src/glide_gtk2_drawing.c glide_gtk2_engine.lo: ./src/glide_gtk2_engine.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT glide_gtk2_engine.lo -MD -MP -MF $(DEPDIR)/glide_gtk2_engine.Tpo -c -o glide_gtk2_engine.lo `test -f './src/glide_gtk2_engine.c' || echo '$(srcdir)/'`./src/glide_gtk2_engine.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/glide_gtk2_engine.Tpo $(DEPDIR)/glide_gtk2_engine.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/glide_gtk2_engine.c' object='glide_gtk2_engine.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o glide_gtk2_engine.lo `test -f './src/glide_gtk2_engine.c' || echo '$(srcdir)/'`./src/glide_gtk2_engine.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/glide/AUTHORS0000644000175000017500000000210611445424675014530 00000000000000Andrew Johnson ... and those who wrote all the theme engines I ruthlessly stole from : EnGradient Andrew Cattau IceGradient Tim Gerla Tomas Ögren JM Perez ThinIce Tim Gerla Tomas Ögren Richard Hult CleanIce Bastien Nocera Rodney Dawes XFCE Xfce engine by Olivier Fourdan Port to GTK+-2.0 based on Thinice port by Tim Gerla Tomas Ögren and Richard Hult Xenophilia Johan Hanson LighthouseBlue Jan Rosczak Design mockup, ideas, feedback: Eugenia Loli-Queru Wonderland(Bluecurve) Garrett LeSage Alexander Larsson Owen Taylor Notif2 Roberto Machorro Notif/Motif The Rasterman Metal Randy Gordon Owen Taylor gtk-engines-2.20.2/engines/hc/0000755000175000017500000000000011451420647013037 500000000000000gtk-engines-2.20.2/engines/hc/src/0000755000175000017500000000000011451420647013626 500000000000000gtk-engines-2.20.2/engines/hc/src/hc_gtk2_engine.c0000644000175000017500000003150611446654310016565 00000000000000/* High Contrast - a cairo based GTK+ engine * Copyright (C) 2003 Sun Microsystems Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "hc_gtk2_engine.h" #include "hc_gtk2_support.h" #include "hc_gtk2_drawing.h" /**********************************/ /* Parse RC Style */ /**********************************/ enum { TOKEN_EDGE_THICKNESS = G_TOKEN_LAST + 1, TOKEN_CELL_INDICATOR_SIZE }; static struct { const gchar *name; guint token; } hc_rc_symbols[] = { { "edge_thickness", TOKEN_EDGE_THICKNESS }, { "cell_indicator_size", TOKEN_CELL_INDICATOR_SIZE } }; static guint hc_rc_parse_int (GScanner *scanner, GTokenType wanted_token, guint return_default, gint *retval, gint lower_limit, gint upper_limit) { guint token; gboolean negate=FALSE; token = g_scanner_cur_token (scanner); if (token != wanted_token) { token = g_scanner_get_next_token (scanner); if (token != wanted_token) { return wanted_token; } } if (token != G_TOKEN_EQUAL_SIGN) { token = g_scanner_get_next_token (scanner); if (token != G_TOKEN_EQUAL_SIGN) { return G_TOKEN_EQUAL_SIGN; } } if (g_scanner_peek_next_token (scanner) == '-') { g_scanner_get_next_token (scanner); /* eat sign */ negate = TRUE; } token = g_scanner_get_next_token (scanner); if (token != G_TOKEN_INT) *retval = return_default; else *retval = (guint) scanner->value.v_int; if (negate) *retval = -(*retval); if (*retval < lower_limit) *retval = lower_limit; if ((*retval > upper_limit) && (upper_limit > lower_limit)) *retval = upper_limit; return G_TOKEN_NONE; } static guint hc_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner) { HcRcStyle *hc_rc_style = HC_RC_STYLE (rc_style); static GQuark scope_id = 0; guint old_scope; guint token; guint i; /* Set up a new scope in this scanner. */ if (!scope_id) scope_id = g_quark_from_string ("hc_theme_engine"); /* If we bail out due to errors, we *don't* reset the scope, so the * error messaging code can make sense of our tokens. */ old_scope = g_scanner_set_scope (scanner, scope_id); if (!g_scanner_lookup_symbol (scanner, hc_rc_symbols[0].name)) { for (i = 0; i < G_N_ELEMENTS (hc_rc_symbols); i++) g_scanner_scope_add_symbol (scanner, scope_id, hc_rc_symbols[i].name, GINT_TO_POINTER (hc_rc_symbols[i].token)); } token = g_scanner_peek_next_token (scanner); while (token != G_TOKEN_RIGHT_CURLY) { switch (token) { case TOKEN_EDGE_THICKNESS: token = hc_rc_parse_int (scanner, TOKEN_EDGE_THICKNESS, 2, &hc_rc_style->edge_thickness, 1, 25); hc_rc_style->flags |= HC_RC_FLAG_EDGE_THICKNESS; break; case TOKEN_CELL_INDICATOR_SIZE: token = hc_rc_parse_int (scanner, TOKEN_CELL_INDICATOR_SIZE, 12, &hc_rc_style->cell_indicator_size, 1, 100); hc_rc_style->flags |= HC_RC_FLAG_CELL_INDICATOR_SIZE; break; default: g_scanner_get_next_token (scanner); token = G_TOKEN_RIGHT_CURLY; break; } if (token != G_TOKEN_NONE) return token; token = g_scanner_peek_next_token (scanner); } g_scanner_get_next_token (scanner); g_scanner_set_scope (scanner, old_scope); return G_TOKEN_NONE; } /**********************************/ /* Register & Initialize RC Style */ /**********************************/ G_DEFINE_DYNAMIC_TYPE (HcRcStyle, hc_rc_style, GTK_TYPE_RC_STYLE) /* Create an empty style suitable to this RC style */ static GtkStyle * hc_rc_style_create_style (GtkRcStyle *rc_style) { return GTK_STYLE (g_object_new (HC_TYPE_STYLE, NULL));; } static void hc_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src) { HcRcFlags flags; HcRcStyle *dest_w, *src_w; GTK_RC_STYLE_CLASS (hc_rc_style_parent_class)->merge (dest, src); if (!HC_IS_RC_STYLE (src)) return; src_w = HC_RC_STYLE (src); dest_w = HC_RC_STYLE (dest); flags = (~dest_w->flags) & src_w->flags; if (flags & HC_RC_FLAG_EDGE_THICKNESS) dest_w->edge_thickness = src_w->edge_thickness; if (flags & HC_RC_FLAG_CELL_INDICATOR_SIZE) dest_w->cell_indicator_size = src_w->cell_indicator_size; dest_w->flags = dest_w->flags | src_w->flags; } static void hc_rc_style_class_init (HcRcStyleClass *klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->create_style = hc_rc_style_create_style; rc_style_class->parse = hc_rc_style_parse; rc_style_class->merge = hc_rc_style_merge; } static void hc_rc_style_init (HcRcStyle *hc_rc_style) { hc_rc_style->flags = 0; hc_rc_style->edge_thickness = -1; hc_rc_style->cell_indicator_size = -1; } static void hc_rc_style_class_finalize (HcRcStyleClass *klass) { } /***************************************/ /* Register & Initialize Drawing Style */ /***************************************/ G_DEFINE_DYNAMIC_TYPE (HcStyle, hc_style, GTK_TYPE_STYLE) static void hc_style_realize (GtkStyle *style) { HcStyle *hc_style = HC_STYLE (style); GdkGCValues gc_values; GdkGCValuesMask gc_values_mask; gint i; for (i = 0; i < 5; i++) { style->light[i].red = MIN (65535, style->bg[i].red + 0.5 * 65535); style->light[i].green = MIN (65535, style->bg[i].green + 0.5 * 65535); style->light[i].blue = MIN (65535, style->bg[i].blue + 0.5 * 65535); style->dark[i].red = MAX (0, style->bg[i].red - 0.5 * 65535); style->dark[i].green = MAX (0, style->bg[i].green - 0.5 * 65535); style->dark[i].blue = MAX (0, style->bg[i].blue - 0.5 * 65535); style->mid[i].red = (style->light[i].red + style->dark[i].red) / 2; style->mid[i].green = (style->light[i].green + style->dark[i].green) / 2; style->mid[i].blue = (style->light[i].blue + style->dark[i].blue) / 2; style->text_aa[i].red = (style->text[i].red + style->base[i].red) / 2; style->text_aa[i].green = (style->text[i].green + style->base[i].green) / 2; style->text_aa[i].blue = (style->text[i].blue + style->base[i].blue) / 2; } style->black.red = 0x0000; style->black.green = 0x0000; style->black.blue = 0x0000; gdk_colormap_alloc_color (style->colormap, &style->black, FALSE, TRUE); style->white.red = 0xffff; style->white.green = 0xffff; style->white.blue = 0xffff; gdk_colormap_alloc_color (style->colormap, &style->white, FALSE, TRUE); gc_values_mask = GDK_GC_FOREGROUND; gc_values.foreground = style->black; style->black_gc = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->white; style->white_gc = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); for (i = 0; i < 5; i++) { if (!gdk_colormap_alloc_color (style->colormap, &style->fg[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->fg[i].red, style->fg[i].green, style->fg[i].blue); if (!gdk_colormap_alloc_color (style->colormap, &style->bg[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->bg[i].red, style->bg[i].green, style->bg[i].blue); if (!gdk_colormap_alloc_color (style->colormap, &style->light[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->light[i].red, style->light[i].green, style->light[i].blue); if (!gdk_colormap_alloc_color (style->colormap, &style->dark[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->dark[i].red, style->dark[i].green, style->dark[i].blue); if (!gdk_colormap_alloc_color (style->colormap, &style->mid[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->mid[i].red, style->mid[i].green, style->mid[i].blue); if (!gdk_colormap_alloc_color (style->colormap, &style->text[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->text[i].red, style->text[i].green, style->text[i].blue); if (!gdk_colormap_alloc_color (style->colormap, &style->base[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->base[i].red, style->base[i].green, style->base[i].blue); if (!gdk_colormap_alloc_color (style->colormap, &style->text_aa[i], FALSE, TRUE)) g_warning ("unable to allocate color: ( %d %d %d )", style->text_aa[i].red, style->text_aa[i].green, style->text_aa[i].blue); gc_values.foreground = style->fg[i]; style->fg_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->bg[i]; style->bg_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->light[i]; style->light_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->dark[i]; style->dark_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->mid[i]; style->mid_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->text[i]; style->text_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->base[i]; style->base_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); gc_values.foreground = style->text_aa[i]; style->text_aa_gc[i] = gtk_gc_get (style->depth, style->colormap, &gc_values, gc_values_mask); } ge_gtk_style_to_cairo_color_cube (style, &hc_style->color_cube); } static void hc_style_copy (GtkStyle * style, GtkStyle * src) { HcStyle *hc_style = HC_STYLE (style); HcStyle *hc_src = HC_STYLE (src); hc_style->edge_thickness = hc_src->edge_thickness; hc_style->cell_indicator_size = hc_src->cell_indicator_size; GTK_STYLE_CLASS (hc_style_parent_class)->copy (style, src); } static void hc_style_init_from_rc (GtkStyle * style, GtkRcStyle * rc_style) { HcStyle *hc_style = HC_STYLE (style); GTK_STYLE_CLASS (hc_style_parent_class)->init_from_rc (style, rc_style); if (HC_RC_STYLE (rc_style)->edge_thickness > 0) { hc_style->edge_thickness = HC_RC_STYLE (rc_style)->edge_thickness; } if (HC_RC_STYLE (rc_style)->cell_indicator_size > 0) { hc_style->cell_indicator_size = HC_RC_STYLE (rc_style)->cell_indicator_size; } } static void hc_style_class_init (HcStyleClass *klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->realize = hc_style_realize; style_class->copy = hc_style_copy; style_class->init_from_rc = hc_style_init_from_rc; style_class->draw_shadow = hc_draw_shadow; style_class->realize = hc_style_realize; style_class->draw_check = hc_draw_check; style_class->draw_option = hc_draw_option; style_class->draw_layout = hc_draw_layout; style_class->draw_extension = hc_draw_extension; style_class->draw_tab = hc_draw_tab; style_class->draw_shadow_gap = hc_draw_shadow_gap; style_class->draw_arrow = hc_draw_arrow; style_class->draw_flat_box = hc_draw_flat_box; style_class->draw_box = hc_draw_box; style_class->draw_box_gap = hc_draw_box_gap; style_class->draw_handle = hc_draw_handle; style_class->draw_slider = hc_draw_slider; style_class->draw_hline = hc_draw_hline; style_class->draw_vline = hc_draw_vline; style_class->draw_expander = hc_draw_expander; style_class->draw_diamond = hc_draw_diamond; style_class->draw_polygon = hc_draw_polygon; } static void hc_style_init (HcStyle * style) { style->edge_thickness = floor(MIN(GTK_STYLE(style)->xthickness,GTK_STYLE(style)->ythickness)); style->cell_indicator_size = 12; } static void hc_style_class_finalize (HcStyleClass *klass) { } /****************/ /* Engine Hooks */ /****************/ GE_EXPORT void theme_init (GTypeModule * module) { hc_rc_style_register_type (module); hc_style_register_type (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { return GTK_RC_STYLE (g_object_new (HC_TYPE_RC_STYLE, NULL)); } gtk-engines-2.20.2/engines/hc/src/hc_gtk2_engine.h0000644000175000017500000000561411445424675016603 00000000000000/* High Contrast - a cairo based GTK+ engine * Copyright (C) 2003 Sun Microsystems Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include "ge-support.h" /*****************************/ /* RC Style Declaration */ /*****************************/ #define HC_TYPE_RC_STYLE (hc_rc_style_get_type ()) #define HC_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), HC_TYPE_RC_STYLE, HcRcStyle)) #define HC_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), HC_TYPE_RC_STYLE, HcRcStyleClass)) #define HC_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), HC_TYPE_RC_STYLE)) #define HC_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), HC_TYPE_RC_STYLE)) #define HC_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), HC_TYPE_RC_STYLE, HcRcStyleClass)) typedef enum { HC_RC_FLAG_EDGE_THICKNESS = 1 << 0, HC_RC_FLAG_CELL_INDICATOR_SIZE = 1 << 1 } HcRcFlags; typedef struct { GtkRcStyle parent_instance; HcRcFlags flags; gint edge_thickness; gint cell_indicator_size; } HcRcStyle; typedef struct { GtkRcStyleClass parent_class; } HcRcStyleClass; GE_INTERNAL GType hc_rc_style_get_type (void); /*****************************/ /* Drawing Style Declaration */ /*****************************/ #define HC_TYPE_STYLE (hc_style_get_type ()) #define HC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), HC_TYPE_STYLE, HcStyle)) #define HC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), HC_TYPE_STYLE, HcStyleClass)) #define HC_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), HC_TYPE_STYLE)) #define HC_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), HC_TYPE_STYLE)) #define HC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), HC_TYPE_STYLE, HcStyleClass)) typedef struct { GtkStyle parent_instance; CairoColorCube color_cube; gint edge_thickness; gint cell_indicator_size; } HcStyle; typedef struct { GtkStyleClass parent_class; } HcStyleClass; GE_INTERNAL GType hc_style_get_type (void); gtk-engines-2.20.2/engines/hc/src/hc_gtk2_support.c0000644000175000017500000003375511446654310017044 00000000000000/* High Contrast - a cairo based GTK+ engine * Copyright (C) 2003 Sun Microsystems Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "hc_gtk2_engine.h" #include "hc_gtk2_support.h" #include "hc_gtk2_drawing.h" void hc_simple_border_gap_clip(cairo_t *canvas, gint border_thickness, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size) { switch (gap_side) { default: case GTK_POS_TOP: cairo_move_to(canvas, x, y); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x + width, y + height); cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x + gap_pos + gap_size, y); cairo_line_to(canvas, x + gap_pos + gap_size, y + border_thickness + 1); cairo_line_to(canvas, x + gap_pos, y + border_thickness + 1); cairo_line_to(canvas, x + gap_pos, y); cairo_close_path(canvas); break; case GTK_POS_LEFT: cairo_move_to(canvas, x, y); cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x + width, y + height); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x, y + gap_pos + gap_size); cairo_line_to(canvas, x + border_thickness + 1, y + gap_pos + gap_size); cairo_line_to(canvas, x + border_thickness + 1, y + gap_pos); cairo_line_to(canvas, x, y + gap_pos); cairo_close_path(canvas); break; case GTK_POS_BOTTOM: cairo_move_to(canvas, x + width, y + height); cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x, y); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x + gap_pos, y + height); cairo_line_to(canvas, x + gap_pos, y + height - border_thickness - 1); cairo_line_to(canvas, x + gap_pos + gap_size, y + height - border_thickness - 1); cairo_line_to(canvas, x + gap_pos + gap_size, y + height); cairo_close_path(canvas); break; case GTK_POS_RIGHT: cairo_line_to(canvas, x + width, y); cairo_line_to(canvas, x, y); cairo_line_to(canvas, x, y + height); cairo_line_to(canvas, x + width, y + height); cairo_line_to(canvas, x + width, y + gap_pos + gap_size); cairo_line_to(canvas, x + width - border_thickness - 1, y + gap_pos + gap_size); cairo_line_to(canvas, x + width - border_thickness - 1, y + gap_pos); cairo_line_to(canvas, x + width, y + gap_pos); cairo_close_path(canvas); break; } cairo_clip(canvas); } /*********************************************** * do_hc_draw_arrow - * * A simple routine to draw a hc style * arrow using the passed Color. * * Taken in part from smooth, it was based on * XFCE's & CleanIce draw arrow routines, * both which were based on ThinIce's. ***********************************************/ void do_hc_draw_arrow (cairo_t *canvas, CairoColor * color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { gint aw = width, ah = height; GdkPoint points[3]; switch (arrow_type) { case GTK_ARROW_UP: case GTK_ARROW_DOWN: { gdouble tmp=((aw+1)/2) - ((height%2)?1:0); if (tmp > ah) { aw = 2*ah - 1 - ((height%2)?1:0); ah = (aw+1)/2; } else { ah = (gint) tmp; aw = 2*ah - 1; } if ((aw < 5) || (ah < 3)) { aw = 5; ah = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; width += width % 2 - 1; points[0].x = x; points[1].x = x + width - 1; points[2].x = x + ((height - 1) - (height - (1 + width / 2))); points[0].y = points[1].y = y; points[2].y = y + height - 1; if (arrow_type == GTK_ARROW_UP) { gint flip = points[1].y; points[0].y = points[1].y = points[2].y; points[2].y = flip; } } break; case GTK_ARROW_LEFT: case GTK_ARROW_RIGHT: { gdouble tmp=((ah+1)/2) - ((width%2)?1:0); if (tmp > aw) { ah = 2*aw - 1 - ((width%2)?1:0); aw = (ah+1)/2; } else { aw = (gint) tmp; ah = 2*aw - 1; } if ((ah < 5) || (aw < 3)) { ah = 5; aw = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; height += height % 2 - 1; points[0].y = y; points[1].y = y + height - 1; points[2].y = y + ((width - 1) - (width - (1 + height / 2))); points[0].x = points[1].x = x; points[2].x = x + width - 1; if (arrow_type == GTK_ARROW_LEFT) { gint flip = points[0].x; points[0].x = points[1].x = points[2].x; points[2].x = flip; } } break; default: { return; } } cairo_save(canvas); ge_cairo_set_color(canvas, color); cairo_set_line_width (canvas, 0.5); cairo_move_to(canvas, points[0].x + 0.5, points[0].y + 0.5); cairo_line_to(canvas, points[1].x + 0.5, points[1].y + 0.5); cairo_line_to(canvas, points[2].x + 0.5, points[2].y + 0.5); cairo_close_path(canvas); if (fill) { cairo_stroke_preserve(canvas); cairo_fill(canvas); } else { cairo_stroke(canvas); } cairo_restore(canvas); } void do_hc_draw_line (cairo_t *cr, CairoColor *color, gdouble thickness, gdouble x1, gdouble y1, gdouble x2, gdouble y2) { cairo_save(cr); ge_cairo_set_color(cr, color); cairo_set_line_width (cr, thickness); cairo_set_line_cap(cr, CAIRO_LINE_CAP_BUTT); cairo_move_to(cr, x1, y1); cairo_line_to(cr, x2, y2); cairo_stroke(cr); cairo_restore(cr); } void do_hc_draw_dot (cairo_t *canvas, CairoColor * light, CairoColor * dark, gint x, gint y) { ge_cairo_set_color (canvas, dark); cairo_rectangle (canvas, x - 1, y - 1, 1, 1); cairo_rectangle (canvas, x - 1, y, 1, 1); cairo_rectangle (canvas, x, y - 1, 1, 1); cairo_fill (canvas); ge_cairo_set_color (canvas, light); cairo_rectangle (canvas, x + 1, y + 1, 1, 1); cairo_rectangle (canvas, x + 1, y, 1, 1); cairo_rectangle (canvas, x, y + 1, 1, 1); cairo_fill (canvas); } /***********************************************/ /* MenuShell/MenuBar Item Prelight Workaround */ /***********************************************/ /*********************************************** * hc_gtk2_engine_hack_menu_shell_style_set - * * Style set signal to ensure menushell signals * get cleaned up if the theme changes ***********************************************/ static gboolean hc_gtk2_engine_hack_menu_shell_style_set(GtkWidget *widget, GtkStyle *previous_style, gpointer user_data) { hc_gtk2_engine_hack_menu_shell_cleanup_signals(widget); return FALSE; } /*********************************************** * hc_gtk2_engine_hack_menu_shell_destroy - * * Destroy signal to ensure menushell signals * get cleaned if it is destroyed ***********************************************/ static gboolean hc_gtk2_engine_hack_menu_shell_destroy(GtkWidget *widget, GdkEvent *event, gpointer user_data) { hc_gtk2_engine_hack_menu_shell_cleanup_signals(widget); return FALSE; } /*********************************************** * hc_gtk2_engine_hack_menu_shell_motion - * * Motion signal to ensure menushell items * prelight state changes on mouse move. ***********************************************/ static gboolean hc_gtk2_engine_hack_menu_shell_motion(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { if (GE_IS_MENU_SHELL(widget)) { gint pointer_x, pointer_y; GdkModifierType pointer_mask; GList *children = NULL, *child = NULL; gdk_window_get_pointer(widget->window, &pointer_x, &pointer_y, &pointer_mask); if (GE_IS_CONTAINER(widget)) { children = gtk_container_get_children(GTK_CONTAINER(widget)); for (child = g_list_first(children); child; child = g_list_next(child)) { if ((child->data) && GE_IS_WIDGET(child->data) && (GTK_WIDGET_STATE(GTK_WIDGET(child->data)) != GTK_STATE_INSENSITIVE)) { if ((pointer_x >= GTK_WIDGET(child->data)->allocation.x) && (pointer_y >= GTK_WIDGET(child->data)->allocation.y) && (pointer_x < (GTK_WIDGET(child->data)->allocation.x + GTK_WIDGET(child->data)->allocation.width)) && (pointer_y < (GTK_WIDGET(child->data)->allocation.y + GTK_WIDGET(child->data)->allocation.height))) { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_PRELIGHT); } else { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_NORMAL); } } } if (children) g_list_free(children); } } return FALSE; } /*********************************************** * hc_gtk2_engine_hack_menu_shell_leave - * * Leave signal to ensure menushell items * normal state on mouse leave. ***********************************************/ static gboolean hc_gtk2_engine_hack_menu_shell_leave(GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) { if (GE_IS_MENU_SHELL(widget)) { GList *children = NULL, *child = NULL; if (GE_IS_CONTAINER(widget)) { children = gtk_container_get_children(GTK_CONTAINER(widget)); for (child = g_list_first(children); child; child = g_list_next(child)) { if ((child->data) && GE_IS_MENU_ITEM(child->data) && (GTK_WIDGET_STATE(GTK_WIDGET(child->data)) != GTK_STATE_INSENSITIVE)) { if ((!GE_IS_MENU(GTK_MENU_ITEM(child->data)->submenu)) || (!(GTK_WIDGET_REALIZED(GTK_MENU_ITEM(child->data)->submenu) && GTK_WIDGET_VISIBLE(GTK_MENU_ITEM(child->data)->submenu) && GTK_WIDGET_REALIZED(GTK_MENU(GTK_MENU_ITEM(child->data)->submenu)->toplevel) && GTK_WIDGET_VISIBLE(GTK_MENU(GTK_MENU_ITEM(child->data)->submenu)->toplevel)))) { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_NORMAL); } } } if (children) g_list_free(children); } } return FALSE; } /*********************************************** * hc_gtk2_engine_menu_shell_setup_signals - * * Setup Menu Shell with signals to ensure * prelight works on items ***********************************************/ void hc_gtk2_engine_hack_menu_shell_setup_signals(GtkWidget *widget) { if (GE_IS_MENU_BAR(widget)) { gint id = 0; if (!g_object_get_data(G_OBJECT(widget), "HC_MENU_SHELL_HACK_SET")) { id = g_signal_connect(G_OBJECT(widget), "motion-notify-event", (GCallback)hc_gtk2_engine_hack_menu_shell_motion, NULL); g_object_set_data(G_OBJECT(widget), "HC_MENU_SHELL_MOTION_ID", (gpointer)id); id = g_signal_connect(G_OBJECT(widget), "leave-notify-event", (GCallback)hc_gtk2_engine_hack_menu_shell_leave, NULL); g_object_set_data(G_OBJECT(widget), "HC_MENU_SHELL_LEAVE_ID", (gpointer)id); id = g_signal_connect(G_OBJECT(widget), "destroy-event", (GCallback)hc_gtk2_engine_hack_menu_shell_destroy, NULL); g_object_set_data(G_OBJECT(widget), "HC_MENU_SHELL_DESTROY_ID", (gpointer)id); g_object_set_data(G_OBJECT(widget), "HC_MENU_SHELL_HACK_SET", (gpointer)1); id = g_signal_connect(G_OBJECT(widget), "style-set", (GCallback)hc_gtk2_engine_hack_menu_shell_style_set, NULL); g_object_set_data(G_OBJECT(widget), "HC_MENU_SHELL_STYLE_SET_ID", (gpointer)id); } } } /*********************************************** * hc_gtk2_engine_hack_menu_shell_cleanuo_signals - * * Cleanup/remove Menu Shell signals ***********************************************/ void hc_gtk2_engine_hack_menu_shell_cleanup_signals(GtkWidget *widget) { if (GE_IS_MENU_BAR(widget)) { gint id = 0; id = (gint)g_object_steal_data (G_OBJECT(widget), "HC_MENU_SHELL_MOTION_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "HC_MENU_SHELL_LEAVE_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "HC_MENU_SHELL_DESTROY_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "HC_MENU_SHELL_STYLE_SET_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); g_object_steal_data (G_OBJECT(widget), "HC_MENU_SHELL_HACK_SET"); } } gtk-engines-2.20.2/engines/hc/src/hc_gtk2_support.h0000644000175000017500000000373611445424675017055 00000000000000/* High Contrast - a cairo based GTK+ engine * Copyright (C) 2003 Sun Microsystems Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include GE_INTERNAL void hc_simple_border_gap_clip(cairo_t *canvas, gint border_thickness, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size); GE_INTERNAL void do_hc_draw_arrow (cairo_t *cr, CairoColor *color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height); GE_INTERNAL void do_hc_draw_line (cairo_t *cr, CairoColor *color, gdouble thickness, gdouble x1, gdouble y1, gdouble x2, gdouble y2); GE_INTERNAL void do_hc_draw_dot (cairo_t *canvas, CairoColor * light, CairoColor * dark, gint x, gint y); GE_INTERNAL void hc_gtk2_engine_hack_menu_shell_setup_signals(GtkWidget *widget); GE_INTERNAL void hc_gtk2_engine_hack_menu_shell_cleanup_signals(GtkWidget *widget); gtk-engines-2.20.2/engines/hc/src/hc_gtk2_drawing.h0000644000175000017500000001570011446654310016756 00000000000000/* High Contrast - a cairo based GTK+ engine * Copyright (C) 2003 Sun Microsystems Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ GE_INTERNAL void hc_draw_shadow_gap (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size); GE_INTERNAL void hc_draw_box_gap (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size); GE_INTERNAL void hc_draw_hline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x1, gint x2, gint y); GE_INTERNAL void hc_draw_vline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint y1, gint y2, gint x); GE_INTERNAL void hc_draw_check (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_option (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_arrow (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_shadow (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_box (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_flat_box (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_tab (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_slider (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); GE_INTERNAL void hc_draw_extension (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side); GE_INTERNAL void hc_draw_handle (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); GE_INTERNAL void hc_draw_focus(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_layout (GtkStyle *style, GdkWindow *window, GtkStateType state_type, gboolean use_text, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, PangoLayout *layout); GE_INTERNAL void hc_draw_expander (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, GtkExpanderStyle expander_style); GE_INTERNAL void hc_draw_diamond (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height); GE_INTERNAL void hc_draw_polygon (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GdkPoint *points, gint npoints, gboolean fill); gtk-engines-2.20.2/engines/hc/src/hc-style.c0000644000175000017500000011115111446654310015442 00000000000000/* High Contrast - a cairo based GTK+ engine * Copyright (C) 2003 Sun Microsystems Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * This file contains code from GTK+, * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball, and Josh MacDonald, * which is also available under the GNU LGPL 2.1 and later versions * */ #include "hc_gtk2_engine.h" #include "hc_gtk2_support.h" #include "hc_gtk2_drawing.h" #include #include #include /* Standard Border Function */ void hc_draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { /* Border Uses Foreground Color */ CairoColor foreground = HC_STYLE(style)->color_cube.fg[state_type]; gint line_width; gint clip_x = x, clip_y = y, clip_width = width, clip_height = height; cairo_t *canvas; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ line_width = HC_STYLE(style)->edge_thickness; if (CHECK_DETAIL (detail, "menubar") && ge_is_panel_widget_item(widget)) { return; } /* Spin Button */ if ((CHECK_DETAIL(detail, "spinbutton_up")) || (CHECK_DETAIL(detail, "spinbutton_down"))) { /* Overdraw Height By Half The Line Width - Prevents Double line Between buttons */ height += floor(line_width / 2); /* If Down Button Offset By Half Line Width */ if (CHECK_DETAIL(detail, "spinbutton_down")) { y -= floor(line_width / 2); } /* Overdraw Width By Line Width - Prevents Double line Between Entry And Buttons */ width += line_width; /* If LTR Offset X By Line Width */ if (ge_widget_is_ltr (widget)) { x -= line_width; } /* Force Border To Use Foreground Widget State */ if (widget) { foreground = HC_STYLE(style)->color_cube.fg[widget->state]; } } /* Entry - Force Border To Use Foreground Matching Widget State */ if (CHECK_DETAIL(detail, "entry") && !ge_is_combo(widget)) { foreground = HC_STYLE(style)->color_cube.fg[widget ? widget->state : GTK_STATE_NORMAL]; } /* Combo Box Button's */ if (CHECK_DETAIL(detail, "button") && ge_is_in_combo_box(widget)) { /* Overdraw Width By Line Width - Prevents Double Line Between Entry and Button. */ width += line_width; /* If LTR Offset X By Line Width */ if (ge_widget_is_ltr (widget)) { x -= line_width; } /* Force Border To Use Foreground Matching Parent State */ if ((widget) && (widget->parent)) { gtk_widget_ensure_style(widget->parent); ge_gdk_color_to_cairo(&widget->parent->style->fg[GTK_WIDGET_STATE(widget)], &foreground); } } /***********************************************/ /* Draw Border */ /***********************************************/ canvas = ge_gdk_drawable_to_cairo (window, area); /* Clip Border Too Passed Size */ cairo_rectangle(canvas, clip_x, clip_y, clip_width, clip_height); cairo_clip(canvas); /* Set Line Style */ ge_cairo_set_color(canvas, &foreground); cairo_set_line_cap(canvas, CAIRO_LINE_CAP_BUTT); cairo_set_line_width (canvas, line_width); ge_cairo_inner_rectangle (canvas, x, y, width, height); cairo_stroke(canvas); cairo_destroy(canvas); } /* Border Function For Frame && Notebook, With Gap For Text and/or Tabs */ void hc_draw_shadow_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size) { /* Border Uses Foreground Color */ CairoColor *foreground = &HC_STYLE(style)->color_cube.fg[state_type]; gint line_width; cairo_t *canvas; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE if (shadow_type == GTK_SHADOW_NONE) return; /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ line_width = HC_STYLE(style)->edge_thickness; if (CHECK_DETAIL (detail, "notebook")) { gap_pos += line_width; gap_size -= 2*line_width; } /***********************************************/ /* Draw Border */ /***********************************************/ canvas = ge_gdk_drawable_to_cairo (window, area); /* Create And Clip Too Path To Ignore Gap */ hc_simple_border_gap_clip(canvas, line_width, x, y, width, height, gap_side, gap_pos, gap_size); /* Set Line Style */ ge_cairo_set_color(canvas, foreground); cairo_set_line_cap(canvas, CAIRO_LINE_CAP_BUTT); cairo_set_line_width (canvas, line_width); ge_cairo_inner_rectangle (canvas, x, y, width, height); cairo_stroke(canvas); cairo_destroy(canvas); } /* Border Function For Notebooks Tabs */ void hc_draw_extension (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side) { /* Fill Uses Background Color */ CairoColor *background = &HC_STYLE(style)->color_cube.bg[state_type]; /* Border Uses Foreground Color */ CairoColor *foreground = &HC_STYLE(style)->color_cube.fg[state_type]; gint line_width; gint widget_x = 0, widget_y = 0, widget_width = 0, widget_height = 0; gint clip_x = x, clip_y = y, clip_width = width, clip_height = height; cairo_t *canvas; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ line_width = HC_STYLE(style)->edge_thickness; /* What all this is for - GTK doesn't overlap Extensions and Notebooks, but rather a tab is drawn with a "gap" side. Instead of long draw cases per gap side, perform a standard draw, but clipped to size, and overdraw edge thickness + one on gap side. To fake the apearance of overlap on edge aligned tabs increase clip by edge thickness on gap side. */ if (widget && (GE_IS_NOTEBOOK (widget))) { widget_x = (widget->allocation.x + GTK_CONTAINER (widget)->border_width); widget_y = (widget->allocation.y + GTK_CONTAINER (widget)->border_width); widget_width = (widget->allocation.width - 2*GTK_CONTAINER (widget)->border_width); widget_height = (widget->allocation.height - 2*GTK_CONTAINER (widget)->border_width); } switch (gap_side) { case GTK_POS_TOP: if (GTK_CHECK_VERSION(2,10,0) || ((widget && GE_IS_NOTEBOOK (widget)) && ((x==widget_x) || ((x + width) == (widget_x + widget_width))))) { clip_height += line_width; if (!GTK_CHECK_VERSION(2,10,0)) { height -= floor(line_width/2.0); } } y -= (line_width + 1); height += (line_width + 1); break; case GTK_POS_LEFT: if (GTK_CHECK_VERSION(2,10,0) || ((widget && GE_IS_NOTEBOOK (widget)) && ((y==widget_y) || ((y + height) == (widget_y + widget_height))))) { clip_width += line_width; if (!GTK_CHECK_VERSION(2,10,0)) { x -= floor(line_width/2.0); } } x -= (line_width + 1); width += (line_width + 1); break; default: case GTK_POS_BOTTOM: height += (line_width + 1); break; case GTK_POS_RIGHT: width += (line_width + 1); break; } /***********************************************/ /* Draw Border */ /***********************************************/ canvas = ge_gdk_drawable_to_cairo (window, area); /* Clip Too Size */ cairo_rectangle(canvas, clip_x, clip_y, clip_width, clip_height); cairo_clip(canvas); /* Set Fill Style */ ge_cairo_set_color(canvas, background); /* Fill Rectangle */ cairo_rectangle (canvas, x, y, width, height); cairo_fill(canvas); /* Set Line Style */ ge_cairo_set_color(canvas, foreground); cairo_set_line_cap(canvas, CAIRO_LINE_CAP_BUTT); cairo_set_line_width (canvas, line_width); ge_cairo_inner_rectangle (canvas, x, y, width, height); cairo_stroke(canvas); cairo_destroy(canvas); } /* Draw Function For Boxes Traditionally Either Without Borders, or With A Single Pixel Line */ void hc_draw_flat_box (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { if (detail && !strcmp ("tooltip", detail)) { hc_draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else { GtkStyleClass *hc_parent_class; hc_parent_class = GTK_STYLE_CLASS (g_type_class_peek_parent (G_OBJECT_GET_CLASS(style))); hc_parent_class->draw_flat_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } } /* Draw Function For Standard Boxes (Most Widgets) Ensures Fill And Border */ void hc_draw_box (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ /* Add Menu Shell Hack For Menu Bar Item Prelight */ if (GE_IS_MENU_SHELL(widget)) { hc_gtk2_engine_hack_menu_shell_setup_signals(widget); } /***********************************************/ /* Draw Fill */ /***********************************************/ gtk_style_apply_default_background (style, window, widget && !GTK_WIDGET_NO_WINDOW (widget), state_type, area, x, y, width, height); /***********************************************/ /* Draw Border */ /***********************************************/ hc_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } /* Draw Function For Boxes With Gap Primarily For Frames With Text And Notebooks With Tabs. */ void hc_draw_box_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_pos, gint gap_size) { /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* Draw Fill */ /***********************************************/ gtk_style_apply_default_background (style, window, widget && !GTK_WIDGET_NO_WINDOW (widget), state_type, area, x, y, width, height); /***********************************************/ /* Draw Border */ /***********************************************/ hc_draw_shadow_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_pos, gap_size); } /* Draw Function For Boxes Commonly Needing Grips Primarily For - Paned Handles Toolbar Handles */ void hc_draw_handle (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { gint clip_x = x, clip_y = y, clip_width = width, clip_height = height; gint xthick, ythick; HcStyle *hc_style; gdouble xx, yy; CairoColor *light, *dark; cairo_t *canvas; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ xthick = style->xthickness; ythick = style->ythickness; if (CHECK_DETAIL(detail, "paned")) { /* we want to ignore the shadow border in paned widgets */ xthick = 0; ythick = 0; } clip_x = x + xthick; clip_y = y + ythick; clip_width = width - (xthick * 2); clip_height = height - (ythick * 2); /***********************************************/ /* Draw Box */ /***********************************************/ hc_draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); /***********************************************/ /* Draw Grip */ /***********************************************/ hc_style = HC_STYLE (style); light = &hc_style->color_cube.light[state_type]; dark = &hc_style->color_cube.dark[state_type]; canvas = ge_gdk_drawable_to_cairo (window, area); /* Clip Too Size */ cairo_rectangle(canvas, clip_x, clip_y, clip_width, clip_height); cairo_clip(canvas); if (CHECK_DETAIL (detail, "paned")) { if (orientation == GTK_ORIENTATION_HORIZONTAL) { for (xx = x + width/2.0 - 15; xx <= x + width/2.0 + 15; xx += 5) do_hc_draw_dot (canvas, light, dark, xx, y + height/2.0); } else { for (yy = y + height/2 - 15; yy <= y + height/2.0 + 15; yy += 5) { do_hc_draw_dot (canvas, light, dark, x + width/2.0, yy); } } } else { if (orientation == GTK_ORIENTATION_HORIZONTAL) { for (xx = x + xthick + (width/2 - xthick) % 5; xx <= x + width - xthick*2; xx += 5) do_hc_draw_dot (canvas, light, dark, xx + 2, y + height/2); } else { for (yy = y + ythick + (height/2 - ythick) % 5; yy <= y + height - ythick*2; yy += 5) do_hc_draw_dot (canvas, light, dark, x + width/2, yy + 2); } } cairo_destroy(canvas); } void hc_draw_slider (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { cairo_t *canvas; gint line_width; CHECK_ARGS SANITIZE_SIZE canvas = ge_gdk_drawable_to_cairo (window, area); /***********************************************/ /* Draw Box */ /***********************************************/ line_width = HC_STYLE(style)->edge_thickness; hc_draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); if (GE_IS_SCALE(widget)) { if (orientation == GTK_ORIENTATION_HORIZONTAL) { do_hc_draw_line (canvas, &HC_STYLE(style)->color_cube.fg[state_type], line_width /2, x + ceil(width/2.0) + 0.5, y + line_width, x + ceil(width/2.0) + 0.5, y + height - line_width); } else { do_hc_draw_line (canvas, &HC_STYLE(style)->color_cube.fg[state_type], line_width /2, x + line_width, y + ceil(height/2.0) + 0.5, x + width - line_width, y + ceil(height/2.0) + 0.5); } } cairo_destroy(canvas); } /* Draw Check Buttons Check & Border */ void hc_draw_check (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { HcStyle *hc_style = HC_STYLE (style); gboolean inconsistent; gint line_width; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE /* Bug #351764 */ if ((!GTK_CHECK_VERSION(2,12,0)) && CHECK_DETAIL(detail, "cellcheck")) { x += (width - HC_STYLE(style)->cell_indicator_size)/2; y += (height - HC_STYLE(style)->cell_indicator_size)/2; width = HC_STYLE(style)->cell_indicator_size; height = HC_STYLE(style)->cell_indicator_size; } inconsistent = (shadow_type == GTK_SHADOW_ETCHED_IN); line_width = ceil(HC_STYLE(style)->edge_thickness/2.0); cr = ge_gdk_drawable_to_cairo (window, area); cairo_save(cr); ge_cairo_set_color(cr, &hc_style->color_cube.base[state_type]); cairo_rectangle (cr, x, y, width, height); cairo_fill(cr); /* Set Line Style */ ge_cairo_set_color(cr, &hc_style->color_cube.fg[state_type]); cairo_set_line_cap(cr, CAIRO_LINE_CAP_BUTT); cairo_set_line_width (cr, line_width); /* Stroke Rectangle */ ge_cairo_stroke_rectangle (cr, x + line_width/2.0, y + line_width/2.0, width - line_width, height - line_width); cairo_restore(cr); if ((shadow_type == GTK_SHADOW_IN) || inconsistent) { cairo_save (cr); /* Clip to the inner area. */ cairo_rectangle (cr, x + line_width, y + line_width, width - 2*line_width, height - 2*line_width); cairo_clip (cr); ge_cairo_set_color(cr, &hc_style->color_cube.fg[state_type]); line_width = ceil(MIN(width,height)/5.0); if (inconsistent) { cairo_set_line_width (cr, line_width); cairo_move_to(cr, x, y + floor(height/2.0) + (line_width%2)/2.0); cairo_line_to(cr, x + width, y + floor(height/2.0) + (line_width%2)/2.0); } else { cairo_set_line_width (cr, line_width); /* Backward Diagonal */ cairo_move_to(cr, x, y); cairo_line_to(cr, x + width, y + height); /* Forward Diagonal */ cairo_move_to(cr, x, y + height); cairo_line_to(cr, x + width, y); } cairo_stroke (cr); cairo_restore (cr); } cairo_destroy(cr); } /* Draw Radio Button AKA Option Button Check & Border */ void hc_draw_option (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { HcStyle *hc_style = HC_STYLE (style); cairo_t *cr; gint centerX; gint centerY; gint radius; gboolean inconsistent; CHECK_ARGS SANITIZE_SIZE /* Bug #351764 */ if ((!GTK_CHECK_VERSION(2,12,0)) && CHECK_DETAIL(detail, "cellradio")) { x += (width - HC_STYLE(style)->cell_indicator_size)/2; y += (height - HC_STYLE(style)->cell_indicator_size)/2; width = HC_STYLE(style)->cell_indicator_size; height = HC_STYLE(style)->cell_indicator_size; } cr = ge_gdk_drawable_to_cairo (window, area); centerX = x + floor(width/2); centerY = y + floor(height/2); radius = floor(MIN(width,height)/2.0); cairo_set_line_width (cr, radius*0.30); cairo_set_line_cap(cr, CAIRO_LINE_CAP_BUTT); cairo_arc(cr, centerX, centerY, radius, 0 , 2 * G_PI); ge_cairo_set_color(cr, &hc_style->color_cube.bg[state_type]); cairo_fill (cr); cairo_arc(cr, centerX, centerY, radius, 0 , 2 * G_PI); ge_cairo_set_color(cr, &hc_style->color_cube.fg[state_type]); cairo_stroke (cr); inconsistent = (shadow_type == GTK_SHADOW_ETCHED_IN); ge_cairo_set_color(cr, &hc_style->color_cube.text[state_type]); if (shadow_type == GTK_SHADOW_IN) { cairo_arc(cr, centerX, centerY, radius*0.38, 0, 2 * G_PI); cairo_fill(cr); cairo_arc(cr, centerX, centerY, radius*0.38, 0, 2 * G_PI); cairo_stroke(cr); } else if (inconsistent) { int line_width = ceil(radius*0.68); /* Force Thickness Even */ line_width -= (line_width % 2); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_width (cr, line_width); cairo_move_to(cr, centerX - radius*0.38, centerY); cairo_line_to(cr, centerX + radius*0.38, centerY); cairo_stroke (cr); } cairo_destroy(cr); } void hc_draw_tab (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { GtkRequisition indicator_size; GtkBorder indicator_spacing; HcStyle *hc_style = HC_STYLE (style); cairo_t *cr; ge_option_menu_get_props (widget, &indicator_size, &indicator_spacing); indicator_size.width += 2; indicator_size.height += 2; if (ge_widget_is_ltr (widget)) { x += width - indicator_size.width; } y += ((height - indicator_size.height) / 2) + 1; width = indicator_size.width; height = indicator_size.height; cr = ge_gdk_drawable_to_cairo(window, area); do_hc_draw_arrow (cr, &hc_style->color_cube.fg[state_type], GTK_ARROW_DOWN,TRUE, x, y, width, height); cairo_destroy(cr); } void hc_draw_layout (GtkStyle *style, GdkWindow *window, GtkStateType state_type, gboolean use_text, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, PangoLayout *layout) { GdkGC *gc; CHECK_ARGS gc = use_text ? style->text_gc[state_type] : style->fg_gc[state_type]; if (area) gdk_gc_set_clip_rectangle (gc, area); gdk_draw_layout (window, gc, x, y, layout); if (area) gdk_gc_set_clip_rectangle (gc, NULL); } void hc_draw_arrow (GtkStyle *style, GdkWindow *window, GtkStateType state, GtkShadowType shadow, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { gint line_width; HcStyle *hc_style; cairo_t *cr; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Arrow Special Cases - adjust Size/Offset*/ /***********************************************/ line_width = HC_STYLE(style)->edge_thickness; if (ge_is_combo_box_entry (widget)) { x -= 1; if (ge_widget_is_ltr (widget)) { x -= (line_width/2); } else { x += (line_width/2); } } else if (ge_is_combo_box(widget, FALSE)) { if (ge_widget_is_ltr (widget)) { x -= 2; } } if (ge_is_combo(widget)) { y += 1; width -= 2; height -= 2; if (ge_widget_is_ltr (widget)) { x -= ((width%2)?0:1); } else { x += floor(line_width/2) + ((width%2)?1:0); } } if (CHECK_DETAIL(detail, "menuitem")) { x -= 1; } if (CHECK_DETAIL (detail, "arrow")) { x += (width%2)?0:1; } /***********************************************/ /* Draw Arrow */ /***********************************************/ hc_style = HC_STYLE (style); cr = ge_gdk_drawable_to_cairo(window, area); do_hc_draw_arrow (cr, &hc_style->color_cube.fg[state], arrow_type, TRUE, x, y, width+1, height+1); cairo_destroy(cr); } void hc_draw_hline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x1, gint x2, gint y) { HcStyle *hc_style = HC_STYLE (style); cairo_t *cr; gint line_width; CHECK_ARGS cr = ge_gdk_drawable_to_cairo (window, area); line_width = style->ythickness/2; do_hc_draw_line (cr, &hc_style->color_cube.fg[state_type], (CHECK_DETAIL(detail, "label"))?1:2*line_width - 1, x1 + line_width + 2, y + style->ythickness/2 + 0.5, x2 - line_width - 1, y + style->ythickness/2 + 0.5); cairo_destroy(cr); } void hc_draw_vline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint y1, gint y2, gint x) { HcStyle *hc_style = HC_STYLE (style); cairo_t *cr; gint line_width; CHECK_ARGS cr = ge_gdk_drawable_to_cairo (window, area); line_width = style->xthickness/2; do_hc_draw_line (cr, &hc_style->color_cube.fg[state_type], (CHECK_DETAIL(detail, "label"))?1:2*line_width - 1, x + style->xthickness/2 + 0.5, y1, x + style->xthickness/2 + 0.5, y2); cairo_destroy(cr); } void hc_draw_expander (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, GtkExpanderStyle expander_style) { #define DEFAULT_EXPANDER_SIZE 12 HcStyle *hc_style = HC_STYLE (style); gint expander_size; gint line_width; double vertical_overshoot; int diameter; double radius; double interp; /* interpolation factor for center position */ double x_double_horz, y_double_horz; double x_double_vert, y_double_vert; double x_double, y_double; gint degrees = 0; cairo_t *cr; CHECK_ARGS cr = ge_gdk_drawable_to_cairo (window, area); if (widget && gtk_widget_class_find_style_property (GTK_WIDGET_GET_CLASS (widget), "expander-size")) { gtk_widget_style_get (widget, "expander-size", &expander_size, NULL); } else expander_size = DEFAULT_EXPANDER_SIZE; line_width = MAX (1, expander_size/9); switch (expander_style) { case GTK_EXPANDER_COLLAPSED: degrees = (ge_widget_is_ltr(widget)) ? 0 : 180; interp = 0.0; break; case GTK_EXPANDER_SEMI_COLLAPSED: degrees = (ge_widget_is_ltr(widget)) ? 30 : 150; interp = 0.25; break; case GTK_EXPANDER_SEMI_EXPANDED: degrees = (ge_widget_is_ltr(widget)) ? 60 : 120; interp = 0.75; break; case GTK_EXPANDER_EXPANDED: degrees = 90; interp = 1.0; break; default: g_assert_not_reached (); } /* Compute distance that the stroke extends beyonds the end * of the triangle we draw. */ vertical_overshoot = line_width / 2.0 * (1. / tan (G_PI / 8)); /* For odd line widths, we end the vertical line of the triangle * at a half pixel, so we round differently. */ if (line_width % 2 == 1) vertical_overshoot = ceil (0.5 + vertical_overshoot) - 0.5; else vertical_overshoot = ceil (vertical_overshoot); /* Adjust the size of the triangle we draw so that the entire stroke fits */ diameter = MAX (3, expander_size - 2 * vertical_overshoot); /* If the line width is odd, we want the diameter to be even, * and vice versa, so force the sum to be odd. This relationship * makes the point of the triangle look right. */ diameter -= (1 - (diameter + line_width) % 2); radius = diameter / 2.; /* Adjust the center so that the stroke is properly aligned with * the pixel grid. The center adjustment is different for the * horizontal and vertical orientations. For intermediate positions * we interpolate between the two. */ x_double_vert = floor (x - (radius + line_width) / 2.) + (radius + line_width) / 2.; y_double_vert = y - 0.5; x_double_horz = x - 0.5; y_double_horz = floor (y - (radius + line_width) / 2.) + (radius + line_width) / 2.; x_double = x_double_vert * (1 - interp) + x_double_horz * interp; y_double = y_double_vert * (1 - interp) + y_double_horz * interp; cairo_translate (cr, x_double, y_double); cairo_rotate (cr, degrees * G_PI / 180); cairo_move_to (cr, - radius / 2., - radius); cairo_line_to (cr, radius / 2., 0); cairo_line_to (cr, - radius / 2., radius); cairo_close_path (cr); cairo_set_line_width (cr, line_width); ge_cairo_set_color (cr, &hc_style->color_cube.base[state_type]); cairo_fill_preserve (cr); ge_cairo_set_color (cr, &hc_style->color_cube.text[state_type]); cairo_stroke (cr); cairo_destroy (cr); } void hc_draw_diamond (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { HcStyle *hc_style = HC_STYLE (style); int half_width; int half_height; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE half_width = width / 2; half_height = height / 2; cr = ge_gdk_drawable_to_cairo (window, area); switch (shadow_type) { case GTK_SHADOW_IN: ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + 2, y + half_height, x + half_width, y + height - 2); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + half_width, y + height - 2, x + width - 2, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + 1, y + half_height, x + half_width, y + height - 1); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + half_width, y + height - 1, x + width - 1, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x, y + half_height, x + half_width, y + height); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + half_width, y + height, x + width, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + 2, y + half_height, x + half_width, y + 2); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + half_width, y + 2, x + width - 2, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + 1, y + half_height, x + half_width, y + 1); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + half_width, y + 1, x + width - 1, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x, y + half_height, x + half_width, y); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + half_width, y, x + width, y + half_height); break; case GTK_SHADOW_OUT: ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + 2, y + half_height, x + half_width, y + height - 2); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + half_width, y + height - 2, x + width - 2, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + 1, y + half_height, x + half_width, y + height - 1); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + half_width, y + height - 1, x + width - 1, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x, y + half_height, x + half_width, y + height); ge_cairo_line(cr, &hc_style->color_cube.dark[state_type], x + half_width, y + height, x + width, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + 2, y + half_height, x + half_width, y + 2); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + half_width, y + 2, x + width - 2, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + 1, y + half_height, x + half_width, y + 1); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + half_width, y + 1, x + width - 1, y + half_height); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x, y + half_height, x + half_width, y); ge_cairo_line(cr, &hc_style->color_cube.light[state_type], x + half_width, y, x + width, y + half_height); break; default: break; } cairo_destroy(cr); } void hc_draw_polygon (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GdkPoint *points, gint npoints, gboolean fill) { HcStyle *hc_style = HC_STYLE (style); static const gdouble pi_over_4 = G_PI_4; static const gdouble pi_3_over_4 = G_PI_4 * 3; CairoColor *color1; CairoColor *color2; CairoColor *color3; CairoColor *color4; gdouble angle; int xadjust; int yadjust; int i; cairo_t *cr; g_return_if_fail(style != NULL); g_return_if_fail(window != NULL); g_return_if_fail(points != NULL); switch (shadow_type) { case GTK_SHADOW_IN: color1 = &hc_style->color_cube.light[state_type]; color2 = &hc_style->color_cube.dark[state_type]; color3 = &hc_style->color_cube.light[state_type]; color4 = &hc_style->color_cube.dark[state_type]; break; case GTK_SHADOW_ETCHED_IN: color1 = &hc_style->color_cube.light[state_type]; color2 = &hc_style->color_cube.dark[state_type]; color3 = &hc_style->color_cube.dark[state_type]; color4 = &hc_style->color_cube.light[state_type]; break; case GTK_SHADOW_OUT: color1 = &hc_style->color_cube.dark[state_type]; color2 = &hc_style->color_cube.light[state_type]; color3 = &hc_style->color_cube.dark[state_type]; color4 = &hc_style->color_cube.light[state_type]; break; case GTK_SHADOW_ETCHED_OUT: color1 = &hc_style->color_cube.dark[state_type]; color2 = &hc_style->color_cube.light[state_type]; color3 = &hc_style->color_cube.light[state_type]; color4 = &hc_style->color_cube.dark[state_type]; break; default: return; } cr = ge_gdk_drawable_to_cairo (window, area); if (fill) ge_cairo_polygon(cr, &hc_style->color_cube.bg[state_type], points, npoints); npoints--; for (i = 0; i < npoints; i++) { if ((points[i].x == points[i + 1].x) && (points[i].y == points[i + 1].y)) { angle = 0; } else { angle = atan2(points[i + 1].y - points[i].y, points[i + 1].x - points[i].x); } if ((angle > -pi_3_over_4) && (angle < pi_over_4)) { if (angle > -pi_over_4) { xadjust = 0; yadjust = 1; } else { xadjust = 1; yadjust = 0; } ge_cairo_line(cr, color1, points[i].x - xadjust, points[i].y - yadjust, points[i + 1].x - xadjust, points[i + 1].y - yadjust); ge_cairo_line(cr, color3, points[i].x, points[i].y, points[i + 1].x, points[i + 1].y); } else { if ((angle < -pi_3_over_4) || (angle > pi_3_over_4)) { xadjust = 0; yadjust = 1; } else { xadjust = 1; yadjust = 0; } ge_cairo_line(cr, color4, points[i].x + xadjust, points[i].y + yadjust, points[i + 1].x + xadjust, points[i + 1].y + yadjust); ge_cairo_line(cr, color2, points[i].x, points[i].y, points[i + 1].x, points[i + 1].y); } } cairo_destroy(cr); } gtk-engines-2.20.2/engines/hc/Makefile.am0000644000175000017500000000305511446654310015016 00000000000000# High Contrast - a cairo based GTK+ engine # Copyright (C) 2003 Sun Microsystems Inc. # Copyright (C) 2005-2006 Andrew Johnson # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libhcengine.la EXTRA_DIST = \ ./AUTHORS libhcengine_la_SOURCES = \ ./src/hc_gtk2_engine.c \ ./src/hc_gtk2_engine.h \ ./src/hc_gtk2_support.c \ ./src/hc_gtk2_support.h \ ./src/hc_gtk2_drawing.h \ ./src/hc-style.c libhcengine_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libhcengine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/hc/Makefile.in0000644000175000017500000005533311451355760015040 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # High Contrast - a cairo based GTK+ engine # Copyright (C) 2003 Sun Microsystems Inc. # Copyright (C) 2005-2006 Andrew Johnson # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/hc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libhcengine_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libhcengine_la_OBJECTS = hc_gtk2_engine.lo hc_gtk2_support.lo \ hc-style.lo libhcengine_la_OBJECTS = $(am_libhcengine_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libhcengine_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libhcengine_la_LDFLAGS) $(LDFLAGS) -o \ $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libhcengine_la_SOURCES) DIST_SOURCES = $(libhcengine_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libhcengine.la EXTRA_DIST = \ ./AUTHORS libhcengine_la_SOURCES = \ ./src/hc_gtk2_engine.c \ ./src/hc_gtk2_engine.h \ ./src/hc_gtk2_support.c \ ./src/hc_gtk2_support.h \ ./src/hc_gtk2_drawing.h \ ./src/hc-style.c libhcengine_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libhcengine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/hc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/hc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libhcengine.la: $(libhcengine_la_OBJECTS) $(libhcengine_la_DEPENDENCIES) $(AM_V_CCLD)$(libhcengine_la_LINK) -rpath $(enginedir) $(libhcengine_la_OBJECTS) $(libhcengine_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hc-style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hc_gtk2_engine.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hc_gtk2_support.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< hc_gtk2_engine.lo: ./src/hc_gtk2_engine.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hc_gtk2_engine.lo -MD -MP -MF $(DEPDIR)/hc_gtk2_engine.Tpo -c -o hc_gtk2_engine.lo `test -f './src/hc_gtk2_engine.c' || echo '$(srcdir)/'`./src/hc_gtk2_engine.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hc_gtk2_engine.Tpo $(DEPDIR)/hc_gtk2_engine.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/hc_gtk2_engine.c' object='hc_gtk2_engine.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hc_gtk2_engine.lo `test -f './src/hc_gtk2_engine.c' || echo '$(srcdir)/'`./src/hc_gtk2_engine.c hc_gtk2_support.lo: ./src/hc_gtk2_support.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hc_gtk2_support.lo -MD -MP -MF $(DEPDIR)/hc_gtk2_support.Tpo -c -o hc_gtk2_support.lo `test -f './src/hc_gtk2_support.c' || echo '$(srcdir)/'`./src/hc_gtk2_support.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hc_gtk2_support.Tpo $(DEPDIR)/hc_gtk2_support.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/hc_gtk2_support.c' object='hc_gtk2_support.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hc_gtk2_support.lo `test -f './src/hc_gtk2_support.c' || echo '$(srcdir)/'`./src/hc_gtk2_support.c hc-style.lo: ./src/hc-style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hc-style.lo -MD -MP -MF $(DEPDIR)/hc-style.Tpo -c -o hc-style.lo `test -f './src/hc-style.c' || echo '$(srcdir)/'`./src/hc-style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hc-style.Tpo $(DEPDIR)/hc-style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/hc-style.c' object='hc-style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hc-style.lo `test -f './src/hc-style.c' || echo '$(srcdir)/'`./src/hc-style.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/hc/AUTHORS0000644000175000017500000000004411445424675014035 00000000000000Bill Haneman gtk-engines-2.20.2/engines/industrial/0000755000175000017500000000000011451420647014623 500000000000000gtk-engines-2.20.2/engines/industrial/src/0000755000175000017500000000000011451420647015412 500000000000000gtk-engines-2.20.2/engines/industrial/src/industrial_rc_style.c0000644000175000017500000000624011445424675021572 00000000000000/* Industrial - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2002 Ximian, Inc. * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Alexander Larsson * modified by Christopher James Lahey * modified by Benjamin Berg * */ #include "industrial_style.h" #include "industrial_rc_style.h" G_DEFINE_DYNAMIC_TYPE (IndustrialRcStyle, industrial_rc_style, GTK_TYPE_RC_STYLE) void industrial_rc_style_register_types (GTypeModule *module) { industrial_rc_style_register_type (module); } static void industrial_rc_style_init (IndustrialRcStyle *industrial_rc) { industrial_rc->contrast = 1.0; industrial_rc->rounded_buttons = TRUE; industrial_rc->hint = 0; industrial_rc->fields = 0; } /* Create an empty style suitable to this RC style */ static GtkStyle* industrial_rc_style_create_style (GtkRcStyle *rc_style) { return GTK_STYLE (g_object_new (INDUSTRIAL_TYPE_STYLE, NULL)); } #include "parse_rc_style.h" static guint industrial_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner) { IndustrialRcStyle *industrial_rc = INDUSTRIAL_RC_STYLE (rc_style); return parse_rc_style (scanner, industrial_rc); } static void industrial_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src) { IndustrialRcStyle *dest_w, *src_w; IndustrialFields fields; GTK_RC_STYLE_CLASS (industrial_rc_style_parent_class)->merge (dest, src); if (!INDUSTRIAL_IS_RC_STYLE (src)) return; src_w = INDUSTRIAL_RC_STYLE (src); dest_w = INDUSTRIAL_RC_STYLE (dest); fields = (~dest_w->fields) & src_w->fields; if (fields & INDUSTRIAL_FIELDS_CONTRAST) dest_w->contrast = src_w->contrast; if (fields & INDUSTRIAL_FIELDS_ROUNDED_BUTTONS) dest_w->rounded_buttons = src_w->rounded_buttons; if (fields & INDUSTRIAL_FIELDS_HINT) dest_w->hint = src_w->hint; dest_w->fields = dest_w->fields | src_w->fields; } static void industrial_rc_style_class_init (IndustrialRcStyleClass * klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->create_style = industrial_rc_style_create_style; rc_style_class->parse = industrial_rc_style_parse; rc_style_class->merge = industrial_rc_style_merge; } static void industrial_rc_style_class_finalize (IndustrialRcStyleClass *klass) { } gtk-engines-2.20.2/engines/industrial/src/industrial_rc_style.h0000644000175000017500000000501311445424675021574 00000000000000/* Industrial - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2002 Ximian, Inc. * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Alexander Larsson * modified by Christopher James Lahey * modified by Benjamin Berg * */ #include typedef struct _IndustrialRcStyle IndustrialRcStyle; typedef struct _IndustrialRcStyleClass IndustrialRcStyleClass; #define INDUSTRIAL_TYPE_RC_STYLE (industrial_rc_style_get_type ()) #define INDUSTRIAL_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), INDUSTRIAL_TYPE_RC_STYLE, IndustrialRcStyle)) #define INDUSTRIAL_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDUSTRIAL_TYPE_RC_STYLE, IndustrialRcStyleClass)) #define INDUSTRIAL_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), INDUSTRIAL_TYPE_RC_STYLE)) #define INDUSTRIAL_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDUSTRIAL_TYPE_RC_STYLE)) #define INDUSTRIAL_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDUSTRIAL_TYPE_RC_STYLE, IndustrialRcStyleClass)) typedef enum { INDUSTRIAL_FIELDS_CONTRAST = 1 << 0, INDUSTRIAL_FIELDS_ROUNDED_BUTTONS = 1 << 1, INDUSTRIAL_FIELDS_HINT = 1 << 2 } IndustrialFields; struct _IndustrialRcStyle { GtkRcStyle parent_instance; double contrast; gboolean rounded_buttons; GQuark hint; IndustrialFields fields; }; struct _IndustrialRcStyleClass { GtkRcStyleClass parent_class; }; GE_INTERNAL void industrial_rc_style_register_types (GTypeModule * module); GE_INTERNAL GType industrial_rc_style_get_type (void); gtk-engines-2.20.2/engines/industrial/src/industrial_style.c0000644000175000017500000014412411446654310021102 00000000000000/* Industrial - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2002 Ximian, Inc. * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Alexander Larsson * modified by Christopher James Lahey * modified by Benjamin Berg * */ #include "industrial_style.h" #include "industrial_rc_style.h" #include #include #include #include #include #include #include #define LINE_OPACITY 0.4 #define HANDLE_OPACITY 0.38 #define BUTTON_DEPRESSED_SHADOW_OPACITY_1 0.14 #define BUTTON_DEPRESSED_SHADOW_OPACITY_2 0.07 #define DEFAULT_SHADOW_OPACITY 0.26 #define MENUITEM_BORDER_OPACITY 0.38 #define STANDARD_BORDER_OPACITY 0.38 #define BUTTON_BORDER_OPACITY 0.38 #define TROUGH_BG_OPACITY 0.15 #define TROUGH_BORDER_OPACITY 0.21 #define MENUBAR_BORDER_OPACITY 0.07 #define GET_ROUNDED_BUTTONS(style) (INDUSTRIAL_STYLE (style)->rounded_buttons) #define GET_REAL_OPACITY(style, orig_opacity) (CLAMP ((orig_opacity) * INDUSTRIAL_STYLE (style)->contrast, 0.0, 1.0)) #define GET_HINT(style) (INDUSTRIAL_STYLE (style)->hint) #define IF_ROUNDED(style, rounded, otherwise) (GET_ROUNDED_BUTTONS (style) ? rounded : otherwise) G_DEFINE_DYNAMIC_TYPE (IndustrialStyle, industrial_style, GTK_TYPE_STYLE) static void draw_rounded_gradient (cairo_t *cr, gint x, gint y, gint width, gint height, gfloat gradient_width, gfloat inner_radius, gfloat outer_radius, CairoColor *inner_color, CairoColor *outer_color) { cairo_pattern_t *pattern; cairo_matrix_t matrix; cairo_save (cr); cairo_translate (cr, x, y); /* either we need an inner_radius of 0px, or gradient_width must be * exactly outer_radius - inner_radius. I have no idea how I could * handle the other cases. (and I don't need them) */ if (gradient_width == -1) { gradient_width = outer_radius - inner_radius; } else { /* we can't handle a specific gradient width and inner_radius */ if (gradient_width != outer_radius - inner_radius) { inner_radius = 0; } } if (inner_radius != 0.0 || outer_radius != 0.0) { /* setup a clip region for the gradient area, this is important for the edges. */ cairo_save (cr); cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); ge_cairo_rounded_rectangle (cr, 0, 0, width, height, outer_radius, CR_CORNER_ALL); ge_cairo_rounded_rectangle (cr, gradient_width, gradient_width, width - 2 * gradient_width, height - 2 * gradient_width, inner_radius, CR_CORNER_ALL); cairo_clip (cr); cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING); /* create radial gradient */ pattern = cairo_pattern_create_radial (0, 0, 0, 0, 0, outer_radius); /* XXX: Shouldn't it work to set the first radius in create_radial * to inner_radius instead of this hack? */ ge_cairo_pattern_add_color_stop_color (pattern, 0, inner_color); ge_cairo_pattern_add_color_stop_color (pattern, inner_radius / outer_radius, inner_color); ge_cairo_pattern_add_color_stop_color (pattern, 1, outer_color); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); /* move to each corner, and draw it. (as everything is clipped, this is OK to do) */ cairo_save (cr); cairo_rectangle (cr, 0, 0, outer_radius, outer_radius); cairo_matrix_init_translate (&matrix, -outer_radius, -outer_radius); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_save (cr); cairo_rectangle (cr, width - outer_radius, 0, outer_radius, outer_radius); cairo_matrix_init_translate (&matrix, outer_radius - width, -outer_radius); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_save (cr); cairo_rectangle (cr, width - outer_radius, height - outer_radius, outer_radius, outer_radius); cairo_matrix_init_translate (&matrix, outer_radius - width, outer_radius - height); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_save (cr); cairo_rectangle (cr, 0, height - outer_radius, outer_radius, outer_radius); cairo_matrix_init_translate (&matrix, -outer_radius, outer_radius - height); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_restore (cr); } /* The _rounded_ part of the corners are drawn at this point ... */ /* create linear gradient */ pattern = cairo_pattern_create_linear (0, 0, 0, gradient_width); ge_cairo_pattern_add_color_stop_color (pattern, 0, inner_color); ge_cairo_pattern_add_color_stop_color (pattern, 1, outer_color); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); /* draw those gradients */ cairo_save (cr); /* This is not perfect, as drawing twice with 0.5 opacity is not the same * as drawing once with full opacity ... */ /* TOP */ cairo_move_to (cr, outer_radius, 0); cairo_line_to (cr, outer_radius, outer_radius); cairo_line_to (cr, gradient_width, gradient_width); cairo_line_to (cr, width - gradient_width, gradient_width); cairo_line_to (cr, width - outer_radius, outer_radius); cairo_line_to (cr, width - outer_radius, 0); cairo_close_path (cr); /* cairo_rectangle (cr, outer_radius, 0, width - 2 * outer_radius, gradient_width); */ cairo_matrix_init_rotate (&matrix, G_PI); cairo_matrix_translate (&matrix, 0, -gradient_width); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_save (cr); /* RIGHT */ cairo_move_to (cr, width, outer_radius); cairo_line_to (cr, width - outer_radius, outer_radius); cairo_line_to (cr, width - gradient_width, gradient_width); cairo_line_to (cr, width - gradient_width, height - gradient_width); cairo_line_to (cr, width - outer_radius, height - outer_radius); cairo_line_to (cr, width, height - outer_radius); cairo_close_path (cr); /* cairo_rectangle (cr, width - outer_radius, outer_radius, outer_radius, height - 2 * outer_radius); */ cairo_matrix_init_rotate (&matrix, G_PI_2); cairo_matrix_translate (&matrix, -width + gradient_width, -gradient_width); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_save (cr); /* BOTTOM */ cairo_move_to (cr, outer_radius, height); cairo_line_to (cr, outer_radius, height - outer_radius); cairo_line_to (cr, gradient_width, height - gradient_width); cairo_line_to (cr, width - gradient_width, height - gradient_width); cairo_line_to (cr, width - outer_radius, height - outer_radius); cairo_line_to (cr, width - outer_radius, height); cairo_close_path (cr); /* cairo_rectangle (cr, outer_radius, height - gradient_width, width - 2 * outer_radius, gradient_width); */ cairo_matrix_init_rotate (&matrix, 0); cairo_matrix_translate (&matrix, 0, -height + gradient_width); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_save (cr); /* LEFT */ cairo_move_to (cr, 0, height - outer_radius); cairo_line_to (cr, outer_radius, height - outer_radius); cairo_line_to (cr, gradient_width, height - gradient_width); cairo_line_to (cr, gradient_width, gradient_width); cairo_line_to (cr, outer_radius, outer_radius); cairo_line_to (cr, 0, outer_radius); cairo_close_path (cr); /* cairo_rectangle (cr, 0, outer_radius, gradient_width, height - 2 * outer_radius); */ cairo_matrix_init_rotate (&matrix, -G_PI_2); cairo_matrix_translate (&matrix, -gradient_width, 0); cairo_pattern_set_matrix (pattern, &matrix); cairo_fill (cr); cairo_restore (cr); cairo_restore (cr); } /* The fill will only be drawn if fill != NULL. * radius should be 1.5/2.5 for 1px/2px corners. */ static void draw_rounded_rect (cairo_t *cr, gint x, gint y, gint width, gint height, gdouble radius, CairoColor *bevel, CairoColor *fill, CairoCorners corners) { CairoColor real_bevel = *bevel; if (fill) { /* This fill is a little optimized in most cases, to only draw a pixel aligned rect. * To prevent errors, we need to adjust the bevel color ... */ if (radius <= 2.5 && fill->a == 1.0) { real_bevel.a = 1; real_bevel.r = fill->r * (1.0 - bevel->a) + bevel->r * bevel->a; real_bevel.g = fill->g * (1.0 - bevel->a) + bevel->g * bevel->a; real_bevel.b = fill->b * (1.0 - bevel->a) + bevel->b * bevel->a; /* At least with a radius like this, the corner pixel will still be * painted by the stroke ... using a rect here should be fine. */ cairo_rectangle (cr, x + 1, y + 1, width -2, height - 2); } else { ge_cairo_rounded_rectangle (cr, x, y, width, height, radius, corners); } ge_cairo_set_color (cr, fill); cairo_fill (cr); } ge_cairo_set_color (cr, &real_bevel); ge_cairo_rounded_rectangle (cr, x + 0.5, y + 0.5, width - 1, height - 1, radius, corners); cairo_stroke (cr); } /* #define names assume vertical */ #define HANDLE_HEIGHT (4 * 4 + 1 + 2) #define HANDLE_WIDTH (4 + 1 + 2) static void draw_grid_cairo (cairo_t *cr, CairoColor *color, gint x, gint y, gint width, gint height) { gint xpos, ypos; gboolean indented = FALSE; CairoColor c = *color; gfloat alpha1 = color->a; gfloat alpha2 = color->a * 0.5; cairo_save (cr); /* walk trough the rows */ /* for speed reasons, replaced with code to paint the 5 pixel manually. * First paint the center ones, then the others */ for (ypos = y + 1; ypos < y + height; ypos += 2) { xpos = x; if (!indented) xpos += 1; else xpos += 3; for (; xpos < x + width; xpos += 4) { cairo_rectangle (cr, xpos, ypos, 1, 1); } indented = !indented; } c.a = alpha1; ge_cairo_set_color (cr, &c); cairo_fill (cr); indented = FALSE; for (ypos = y + 1; ypos < y + height; ypos += 2) { xpos = x; if (!indented) xpos += 1; else xpos += 3; for (; xpos < x + width; xpos += 4) { cairo_rectangle (cr, xpos - 1, ypos, 1, 1); cairo_rectangle (cr, xpos, ypos - 1, 1, 1); cairo_rectangle (cr, xpos + 1, ypos, 1, 1); cairo_rectangle (cr, xpos, ypos + 1, 1, 1); } indented = !indented; } c.a = alpha2; ge_cairo_set_color (cr, &c); cairo_fill (cr); cairo_restore (cr); } /**************************************************************************/ static void draw_hline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x1, gint x2, gint y) { CairoColor color; cairo_t *cr; #ifdef DEBUG printf ("draw_hline: %p %p %s %i %i %i\n", widget, window, detail, x1, x2, y); #endif CHECK_ARGS /* Move the seperator line in menus down by 1 pixel. */ if (CHECK_DETAIL (detail, "menuitem")) y++; ge_gdk_color_to_cairo (&style->fg[state_type], &color); color.a = GET_REAL_OPACITY(style, LINE_OPACITY); cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_set_color (cr, &color); cairo_move_to (cr, x1 + 0.5, y + 0.5); cairo_line_to (cr, x2 + 0.5, y + 0.5); cairo_stroke (cr); cairo_destroy (cr); } /**************************************************************************/ static void draw_handle (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { int handle_width, handle_height, maxwidth, maxheight; CairoColor color; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE #ifdef DEBUG printf ("%s: %p %p %s %i %i %i %i %i\n", __FUNCTION__, widget, window, detail, x, y, width, height, orientation); #endif gtk_paint_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); if (!CHECK_DETAIL (detail, "paned")) { x += 2; y += 2; width -= 4; height -= 4; } if (shadow_type == GTK_SHADOW_NONE) { maxwidth = width; maxheight = height; } else { maxwidth = width - 2; maxheight = height - 2; } if (orientation == GTK_ORIENTATION_HORIZONTAL) { handle_width = MIN (maxwidth, HANDLE_HEIGHT); handle_height = MIN (maxheight, HANDLE_WIDTH); } else { handle_width = MIN (maxwidth, HANDLE_WIDTH); handle_height = MIN (maxheight, HANDLE_HEIGHT); } if (handle_width <= 0 || handle_height <= 0) return; x += (width - handle_width) / 2; y += (height - handle_height) / 2; ge_gdk_color_to_cairo (&style->fg[state_type], &color); color.a = GET_REAL_OPACITY (style, HANDLE_OPACITY); cr = ge_gdk_drawable_to_cairo (window, area); draw_grid_cairo (cr, &color, x, y, handle_width, handle_height); cairo_destroy (cr); } /**************************************************************************/ static void draw_vline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint y1, gint y2, gint x) { CairoColor color; cairo_t *cr; #ifdef DEBUG printf ("%s: %p %p %s %i %i %i\n", __FUNCTION__, widget, window, detail, y1, y2, x); #endif CHECK_ARGS ge_gdk_color_to_cairo (&style->fg[state_type], &color); color.a = GET_REAL_OPACITY (style, LINE_OPACITY); cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_set_color (cr, &color); cairo_move_to (cr, x + 0.5, y1 + 0.5); cairo_line_to (cr, x + 0.5, y2 + 0.5); cairo_stroke (cr); cairo_destroy (cr); } /**************************************************************************/ static void draw_slider (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { int handle_width, handle_height; CairoColor color; cairo_t *cr; #ifdef DEBUG printf ("%s: %p %p %s %i %i %i %i %i\n", __FUNCTION__, widget, window, detail, x, y, width, height, orientation); #endif CHECK_ARGS SANITIZE_SIZE /* This makes the slider overlay the stepper buttons at the sides. XXX */ if (widget && GE_IS_SCROLLBAR (widget)) { GtkAdjustment *adjustment = GTK_RANGE (widget)->adjustment; /* If all of these values are 0, don't do anything. This fixes mozilla/galeon scrollbars. */ if (adjustment->value || adjustment->lower || adjustment->upper || adjustment->step_increment || adjustment->page_increment || adjustment->page_size) { if ((adjustment->value <= adjustment->lower) && (GTK_RANGE (widget)->has_stepper_a || GTK_RANGE (widget)->has_stepper_b)) { if (orientation == GTK_ORIENTATION_VERTICAL) { if (!gtk_range_get_inverted (GTK_RANGE (widget))) y--; height++; } else { if (!gtk_range_get_inverted (GTK_RANGE (widget))) x--; width++; } } if ((adjustment->value >= adjustment->upper - adjustment->page_size) && (GTK_RANGE (widget)->has_stepper_a || GTK_RANGE (widget)->has_stepper_b)) { if (orientation == GTK_ORIENTATION_VERTICAL) { if (gtk_range_get_inverted (GTK_RANGE (widget))) y--; height++; } else { if (gtk_range_get_inverted (GTK_RANGE (widget))) x--; width++; } } } } gtk_paint_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); if (orientation == GTK_ORIENTATION_HORIZONTAL) { handle_width = MIN (width - 2, HANDLE_HEIGHT); handle_height = MIN (height - 2, HANDLE_WIDTH); } else { handle_width = MIN (width - 2, HANDLE_WIDTH); handle_height = MIN (height - 2, HANDLE_HEIGHT); } x += (width - handle_width) / 2; y += (height - handle_height) / 2; ge_gdk_color_to_cairo (&style->fg[state_type], &color); color.a = GET_REAL_OPACITY (style, HANDLE_OPACITY); cr = ge_gdk_drawable_to_cairo (window, area); draw_grid_cairo (cr, &color, x, y, handle_width, handle_height); cairo_destroy (cr); } static void real_draw_box (GtkStyle *style, cairo_t *cr, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, gboolean fill) { /* For the shadow_type == GTK_SHADOW_NONE case we try to do some magic ... * Buttons are drawn normally, but without any shadow effects, and most * important, for unkown stuff we fall back to flat_box. */ cairo_save (cr); if (CHECK_DETAIL (detail, "button") && ge_check_hint (GE_HINT_TREEVIEW_HEADER, GET_HINT (style), widget)) { CairoColor bg; CairoColor fg; ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &fg); cairo_rectangle (cr, x, y, width, height); ge_cairo_set_color (cr, &bg); cairo_fill (cr); if (shadow_type == GTK_SHADOW_OUT) { CairoColor inner, outer; cairo_pattern_t *pattern; ge_gdk_color_to_cairo (&style->fg[state_type], &inner); ge_gdk_color_to_cairo (&style->fg[state_type], &outer); inner.a = 0; outer.a = 0.1; /* XXX: Same as for buttons! */ pattern = cairo_pattern_create_linear (x, height - 5, x, height - 1); ge_cairo_pattern_add_color_stop_color (pattern, 0.0, &inner); ge_cairo_pattern_add_color_stop_color (pattern, 1.0, &outer); cairo_set_source (cr, pattern); cairo_rectangle (cr, x, height - 5, width, 4.0); cairo_fill (cr); cairo_pattern_destroy (pattern); cairo_move_to (cr, x + 0.5, y + 0.5); cairo_line_to (cr, x + width - 0.5, y + 0.5); fg.a = BUTTON_BORDER_OPACITY * 0.05; ge_cairo_set_color (cr, &fg); cairo_stroke (cr); } cairo_move_to (cr, x + 0.5, height - 0.5); cairo_line_to (cr, x + width - 0.5, height - 0.5); fg.a = BUTTON_BORDER_OPACITY; ge_cairo_set_color (cr, &fg); cairo_stroke (cr); /* XXX: do not draw the line for the last column, if the headers are not resizeable. */ if (ge_widget_is_ltr (widget)) { cairo_move_to (cr, x + width - 1.5, y + 5.5); /* 1.5 or 0.5? */ cairo_line_to (cr, x + width - 1.5, y + height - 5.5); } else { cairo_move_to (cr, x + 1.5, y + 5.5); cairo_line_to (cr, x + 1.5, y + height - 5.5); } cairo_stroke (cr); } else if (CHECK_DETAIL (detail, "button") || CHECK_DETAIL (detail, "togglebutton") || CHECK_DETAIL (detail, "optionmenu")) { CairoColor bg; CairoColor fg; CairoCorners corners = CR_CORNER_ALL; ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &fg); /* So we don't need to use transparency in the border, * hack this here. If it doesn't work correctly, it won't * look too bad. */ if (widget && GE_WIDGET_HAS_DEFAULT (widget)) fg.a = GET_REAL_OPACITY (style, 1.0); else fg.a = GET_REAL_OPACITY (style, BUTTON_BORDER_OPACITY); if (ge_check_hint (GE_HINT_COMBOBOX_ENTRY, GET_HINT (style), widget)) { if (ge_widget_is_ltr (widget)) corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; else corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; } if (!GET_ROUNDED_BUTTONS (style)) corners = CR_CORNER_NONE; draw_rounded_rect (cr, x, y, width, height, 2.5, &fg, &bg, corners); if (shadow_type == GTK_SHADOW_IN) { gint slope = MIN (width / 2, height / 2); CairoColor inner; CairoColor outer; ge_gdk_color_to_cairo (&style->fg[state_type], &inner); ge_gdk_color_to_cairo (&style->fg[state_type], &outer); /* XXX: some way to calculate these would be nice. */ inner.a = 0.0; outer.a = GET_REAL_OPACITY (style, BUTTON_BORDER_OPACITY * 0.7); /* XXX */ cairo_save (cr); cairo_move_to (cr, x, y + height); cairo_line_to (cr, x + slope, y + height - slope); cairo_line_to (cr, x + width - slope, y + slope); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x, y); cairo_close_path (cr); cairo_clip (cr); draw_rounded_gradient (cr, x + 1, y + 1, width - 2, height - 2, 3.0, 0.5, IF_ROUNDED (style, 2.5, 0), &inner, &outer); cairo_restore (cr); } /* Only draw shadow if button is large enough to fit it. */ if (width > 18 && height > 18 && shadow_type != GTK_SHADOW_NONE) { gint slope = MIN (width / 2, height / 2); CairoColor inner; CairoColor outer; /* Offset shadow if depressed. */ if (shadow_type == GTK_SHADOW_IN) { x++; y++; } ge_gdk_color_to_cairo (&style->fg[state_type], &inner); ge_gdk_color_to_cairo (&style->fg[state_type], &outer); inner.a = 0; outer.a = GET_REAL_OPACITY (style, 0.1); /* XXX: #define this? */ cairo_save (cr); cairo_move_to (cr, x, y + height); cairo_line_to (cr, x + slope, y + height - slope); cairo_line_to (cr, x + width - slope, y + slope); cairo_line_to (cr, x + width, y); cairo_line_to (cr, x + width, y + height); cairo_close_path (cr); cairo_clip (cr); draw_rounded_gradient (cr, x + 1, y + 1, width - 2, height - 2, 4, 0, IF_ROUNDED (style, 2.5, 0), &inner, &outer); cairo_restore (cr); } /* fake a line inside the optionmenu */ if (CHECK_DETAIL (detail, "optionmenu")) { gint vline_x; gint spacing; GtkRequisition indicator_size; GtkBorder indicator_spacing; ge_option_menu_get_props (widget, &indicator_size, &indicator_spacing); spacing = indicator_size.width; spacing += indicator_spacing.left + indicator_spacing.right; spacing += style->xthickness; /* seems to be 2px ... where do those come from? */ spacing -= 2; if (ge_widget_is_ltr (widget)) vline_x = x + width - spacing; else vline_x = x + spacing; gtk_paint_vline (style, window, state_type, area, widget, detail, y + style->ythickness + 4, y + height - style->ythickness - 4, vline_x); } } else if (CHECK_DETAIL (detail, "buttondefault") || CHECK_DETAIL (detail, "togglebuttondefault")) { CairoColor shadow_inner; CairoColor shadow_outer; CairoColor fg; gfloat inner_radius; gint shadow_size; GtkBorder default_border; ge_button_get_default_border (widget, &default_border); shadow_size = MIN (MIN (default_border.left, default_border.right), MIN (default_border.top, default_border.bottom)); inner_radius = GET_ROUNDED_BUTTONS (style) ? 2.5 : 0; ge_gdk_color_to_cairo (&style->fg[state_type], &fg); /* draw the shadow around this. */ shadow_outer = fg; shadow_inner = fg; shadow_outer.a = 0; shadow_inner.a = GET_REAL_OPACITY (style, DEFAULT_SHADOW_OPACITY); draw_rounded_gradient (cr, x, y, width, height, -1, inner_radius, shadow_size + inner_radius, &shadow_inner, &shadow_outer); } else if (CHECK_DETAIL (detail, "menuitem")) { CairoCorners corners; CairoColor bevel; CairoColor bg; ge_gdk_color_to_cairo (&style->bg[state_type], &bg); /* for some reason, industrial always uses GTK_STATE_NORMAL here, can't change that * without breaking compatibility. */ ge_gdk_color_to_cairo (&style->fg[GTK_STATE_NORMAL], &bevel); bevel.a = GET_REAL_OPACITY (style, MENUITEM_BORDER_OPACITY); corners = GET_ROUNDED_BUTTONS (style) ? CR_CORNER_ALL : CR_CORNER_NONE; if (fill) draw_rounded_rect (cr, x, y, width, height, 1.5, &bevel, &bg, corners); else draw_rounded_rect (cr, x, y, width, height, 1.5, &bevel, NULL, corners); } else if (CHECK_DETAIL (detail, "trough") || CHECK_DETAIL (detail, "trough-lower") || CHECK_DETAIL (detail, "trough-upper") || CHECK_DETAIL (detail, "trough-fill-level") || CHECK_DETAIL (detail, "trough-fill-level-full") || CHECK_DETAIL (detail, "menu") || CHECK_DETAIL (detail, "dockitem_bin") || CHECK_DETAIL (detail, "handlebox_bin") || CHECK_DETAIL (detail, "toolbar") || CHECK_DETAIL (detail, "dockitem") || ge_object_is_a (G_OBJECT (widget), "PanelAppletFrame")) { CairoColor bevel; CairoColor bg; if (fill) { if (CHECK_DETAIL (detail, "trough") || CHECK_DETAIL (detail, "trough-lower") || CHECK_DETAIL (detail, "trough-upper") || CHECK_DETAIL (detail, "trough-fill-level") || CHECK_DETAIL (detail, "trough-fill-level-full")) { CairoColor bg_color; /* Troughs cannot be transparent! * This is a hack to fix this by filling with a solid color first. */ ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &bg_color); ge_cairo_set_color (cr, &bg_color); cairo_rectangle (cr, x, y, width, height); cairo_fill (cr); /* Troughs always draw with state ACTIVE or INSENSITIVE, * so this sets the state to NORMAL to get the correct colors. */ if (state_type == GTK_STATE_ACTIVE) { state_type = GTK_STATE_NORMAL; } /* XXX: This might need improvement, at least now it is "implemented" */ if (CHECK_DETAIL (detail, "trough-lower") || CHECK_DETAIL (detail, "trough-fill-level") || CHECK_DETAIL (detail, "trough-fill-level-full")) { ge_gdk_color_to_cairo (&style->bg[GTK_STATE_SELECTED], &bg); } else { ge_gdk_color_to_cairo (&style->fg[state_type], &bg); bg.a = GET_REAL_OPACITY (style, TROUGH_BG_OPACITY); /* Compose the color here instead leaving the work to * cairo/xserver which doesn't know that this is a solid * color. */ bg.r = bg.r * bg.a + bg_color.r * (1 - bg.a); bg.g = bg.g * bg.a + bg_color.g * (1 - bg.a); bg.b = bg.b * bg.a + bg_color.b * (1 - bg.a); bg.a = 1.0; } ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, TROUGH_BORDER_OPACITY); } else { ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, TROUGH_BORDER_OPACITY); } draw_rounded_rect (cr, x, y, width, height, 1.5, &bevel, &bg, IF_ROUNDED (style, CR_CORNER_ALL, CR_CORNER_NONE)); } } else if (CHECK_DETAIL (detail, "menubar")) { CairoColor bg; CairoColor bevel; ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, MENUBAR_BORDER_OPACITY); /* ignore the menubar if the shadow is NONE. This is the case for the * mainmenu applet and the task selector. */ if (shadow_type == GTK_SHADOW_NONE) return; if (fill) draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, &bg, CR_CORNER_ALL); else draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, NULL, CR_CORNER_ALL); } else if (CHECK_DETAIL (detail, "spinbutton_up") || CHECK_DETAIL (detail, "spinbutton_down")) { /* XXX: This results in basically drawing nothing, right? */ if (CHECK_DETAIL (detail, "spinbutton_up")) { x += 1; y += 1; width -= 2; height -= 1; } else { x += 1; width -= 2; height -= 1; } GTK_STYLE_CLASS (industrial_style_parent_class)->draw_flat_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else if (CHECK_DETAIL (detail, "slider") || CHECK_DETAIL (detail, "stepper") || CHECK_DETAIL (detail, "vscrollbar") || CHECK_DETAIL (detail, "hscrollbar")) { CairoColor bevel, bg; /* The original had some weird stuff here, which would draw the bottom/right * lines different then the top/left ones. I just dropped this. */ ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, 0.5); /* XXX: #define this? */ /* XXX: fill can never be FALSE, right? */ if (fill) draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, &bg, CR_CORNER_ALL); else draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, NULL, CR_CORNER_ALL); } else if (CHECK_DETAIL (detail, "entry")) { CairoCorners corners = CR_CORNER_ALL; CairoColor bevel, bg, base; ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &bg); ge_gdk_color_to_cairo (&style->base[state_type], &base); /* Fill the background as it is initilized to base[NORMAL]. * Relevant GTK+ bug: http://bugzilla.gnome.org/show_bug.cgi?id=513471 * The fill only happens if no hint has been added by some application * that is faking GTK+ widgets. */ if (!widget || !g_object_get_data(G_OBJECT (widget), "transparent-bg-hint")) { cairo_rectangle (cr, x, y, width, height); ge_cairo_set_color (cr, &bg); cairo_fill (cr); } if (ge_check_hint (GE_HINT_SPINBUTTON, GET_HINT (style), widget) || ge_check_hint (GE_HINT_COMBOBOX_ENTRY, GET_HINT (style), widget)) { /* effectively cut one side off. */ width += 2; if (!ge_widget_is_ltr (widget)) x -= 2; } ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, STANDARD_BORDER_OPACITY); draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, &base, corners); } else { CairoColor bevel, bg; CairoCorners corners = CR_CORNER_ALL; if (CHECK_DETAIL (detail, "spinbutton")) { if (ge_widget_is_ltr (widget)) corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; else corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; } ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, STANDARD_BORDER_OPACITY); if (fill) { if (shadow_type != GTK_SHADOW_NONE) { draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, &bg, corners); } else { GTK_STYLE_CLASS (industrial_style_parent_class)->draw_flat_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } } else if (shadow_type != GTK_SHADOW_NONE) { draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, NULL, corners); } } cairo_restore (cr); } static void draw_box (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { cairo_t *cr; #ifdef DEBUG printf ("draw_box: %p %p %s %i %i %i %i\n", widget, window, detail, x, y, width, height); #endif CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); real_draw_box (style, cr, window, state_type, shadow_type, area, widget, detail, x, y, width, height, TRUE); cairo_destroy (cr); } static void draw_focus (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { /* we draw a custom focus for entries ... */ if (CHECK_DETAIL (detail, "entry")) { cairo_t *cr; CairoColor border; CairoCorners corners = CR_CORNER_ALL; SANITIZE_SIZE CHECK_ARGS if (ge_check_hint (GE_HINT_COMBOBOX_ENTRY, GET_HINT (style), widget) || ge_check_hint (GE_HINT_SPINBUTTON, GET_HINT (style), widget)) { if (ge_widget_is_ltr (widget)) corners = CR_CORNER_TOPLEFT | CR_CORNER_BOTTOMLEFT; else corners = CR_CORNER_TOPRIGHT | CR_CORNER_BOTTOMRIGHT; } cr = ge_gdk_drawable_to_cairo (window, area); ge_gdk_color_to_cairo (&style->bg[GTK_STATE_SELECTED], &border); ge_cairo_rounded_rectangle (cr, x + 1, y + 1, width - 2, height - 2, IF_ROUNDED (style, 1.5, 0), corners); ge_cairo_set_color (cr, &border); cairo_set_line_width (cr, 2.0); cairo_stroke (cr); cairo_destroy (cr); return; } GTK_STYLE_CLASS (industrial_style_parent_class)->draw_focus (style, window, state_type, area, widget, detail, x, y, width, height); } static void draw_shadow (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { cairo_t *cr; #ifdef DEBUG printf ("draw_shadow: %p %p %s %i %i %i %i\n", widget, window, detail, x, y, width, height); #endif CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); real_draw_box (style, cr, window, state_type, shadow_type, area, widget, detail, x, y, width, height, FALSE); cairo_destroy (cr); } /**************************************************************************/ static void real_draw_box_gap (GtkStyle *style, cairo_t *cr, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width, gboolean fill) { CairoColor bevel, bg; gint gap_maxwidth = 0; cairo_save (cr); switch (gap_side) { case GTK_POS_TOP: case GTK_POS_BOTTOM: gap_maxwidth = width; break; case GTK_POS_LEFT: case GTK_POS_RIGHT: gap_maxwidth = height; break; default: g_assert_not_reached(); } gap_x -= 1; gap_width += 2; if (gap_x < 0) { gap_width += gap_x; gap_x = 0; } if (gap_x + gap_width > gap_maxwidth) { gap_width = gap_maxwidth - gap_x; } ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, STANDARD_BORDER_OPACITY); /* clip the gap area */ cairo_save (cr); cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); switch (gap_side) { case GTK_POS_TOP: cairo_rectangle (cr, x + gap_x, y, gap_width, 1); break; case GTK_POS_BOTTOM: cairo_rectangle (cr, x + gap_x, y + height - 1, gap_width, 1); break; case GTK_POS_LEFT: cairo_rectangle (cr, x, y + gap_x, 1, gap_width); break; case GTK_POS_RIGHT: cairo_rectangle (cr, x + width - 1, y + gap_x, 1, gap_width); break; } ge_cairo_set_color (cr, &bg); if (fill) cairo_fill_preserve (cr); cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); /* reset fill rule */ cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING); if (fill) draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, &bg, CR_CORNER_ALL); else draw_rounded_rect (cr, x, y, width, height, IF_ROUNDED (style, 1.5, 0), &bevel, NULL, CR_CORNER_ALL); cairo_restore (cr); /* and draw two dots on both sides of the gap. */ switch (gap_side) { case GTK_POS_TOP: cairo_rectangle (cr, x + gap_x, y, 1, 1); cairo_rectangle (cr, x + gap_x + gap_width - 1, y, 1, 1); break; case GTK_POS_BOTTOM: cairo_rectangle (cr, x + gap_x, y + height - 1, 1, 1); cairo_rectangle (cr, x + gap_x + gap_width - 1, y + height - 1, 1, 1); break; case GTK_POS_LEFT: cairo_rectangle (cr, x, y + gap_x, 1, 1); cairo_rectangle (cr, x, y + gap_x + gap_width - 1, 1, 1); break; case GTK_POS_RIGHT: cairo_rectangle (cr, x + width - 1, y + gap_x, 1, 1); cairo_rectangle (cr, x + width - 1, y + gap_x + gap_width - 1, 1, 1); break; } ge_cairo_set_color (cr, &bevel); cairo_fill (cr); cairo_restore (cr); } static void draw_box_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width) { cairo_t *cr; #ifdef DEBUG printf ("%s: %p %p %s %i %i %i %i %i\n", __FUNCTION__, widget, window, detail, x, y, width, height, gap_side); #endif if (shadow_type == GTK_SHADOW_NONE) return; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); real_draw_box_gap (style, cr, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width, TRUE); cairo_destroy (cr); } static void draw_shadow_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width) { cairo_t *cr; #ifdef DEBUG printf ("%s: %p %p %s %i %i %i %i %i\n", __FUNCTION__, widget, window, detail, x, y, width, height, gap_side); #endif if (shadow_type == GTK_SHADOW_NONE) return; cr = ge_gdk_drawable_to_cairo (window, area); real_draw_box_gap (style, cr, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width, FALSE); cairo_destroy (cr); } static void draw_extension (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side) { CairoCorners corners = CR_CORNER_ALL; cairo_t *cr; cairo_pattern_t *pattern = NULL; CairoColor bevel; CairoColor bg; #ifdef DEBUG printf ("%s: %p %p %s %i %i %i %i %i\n", __FUNCTION__, widget, window, detail, x, y, width, height, gap_side); #endif if (shadow_type == GTK_SHADOW_NONE) return; corners = GET_ROUNDED_BUTTONS (style) ? CR_CORNER_ALL : CR_CORNER_NONE; cr = ge_gdk_drawable_to_cairo (window, area); cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &bevel); bevel.a = GET_REAL_OPACITY (style, STANDARD_BORDER_OPACITY); switch (gap_side) { case GTK_POS_TOP: draw_rounded_rect (cr, x, y - 3, width, height + 3, 1.5, &bevel, &bg, corners); pattern = cairo_pattern_create_linear (x, y, x, y + 4); cairo_rectangle (cr, x, y, width, 4); break; case GTK_POS_BOTTOM: draw_rounded_rect (cr, x, y, width, height + 3, 1.5, &bevel, &bg, corners); pattern = cairo_pattern_create_linear (x, y + height, x, y + height - 4); cairo_rectangle (cr, x, y + height - 4, width, 4); break; case GTK_POS_LEFT: draw_rounded_rect (cr, x - 3, y, width + 3, height, 1.5, &bevel, &bg, corners); pattern = cairo_pattern_create_linear (x, y, x + 4, y); cairo_rectangle (cr, x, y, 4, height); break; case GTK_POS_RIGHT: draw_rounded_rect (cr, x, y, width + 3, height, 1.5, &bevel, &bg, corners); pattern = cairo_pattern_create_linear (x + width, y, x + width - 4, y); cairo_rectangle (cr, x + width - 4, y, 4, height); break; } if (state_type != GTK_STATE_NORMAL) { bevel.a *= 0.3; ge_cairo_pattern_add_color_stop_color (pattern, 0, &bevel); bevel.a = 0; ge_cairo_pattern_add_color_stop_color (pattern, 1, &bevel); cairo_set_source (cr, pattern); cairo_fill (cr); } cairo_pattern_destroy (pattern); cairo_destroy (cr); } static void draw_check (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { gint check_size; cairo_t *cr; CairoColor fg, bg; #ifdef DEBUG printf ("%s: %p %p %s %i %i %i %i\n", __FUNCTION__, widget, window, detail, x, y, width, height); #endif cr = ge_gdk_drawable_to_cairo (window, area); if (state_type == GTK_STATE_NORMAL) { ge_gdk_color_to_cairo (&style->text[state_type], &fg); ge_gdk_color_to_cairo (&style->base[state_type], &bg); } else { ge_gdk_color_to_cairo (&style->fg[state_type], &fg); ge_gdk_color_to_cairo (&style->bg[state_type], &bg); } check_size = width > height ? height : width; /* center the check */ x += (width - check_size) / 2; y += (height - check_size) / 2; width = check_size; height = check_size; fg.a = GET_REAL_OPACITY (style, DEFAULT_SHADOW_OPACITY); draw_rounded_rect (cr, x, y, width, height, 1.5, &fg, &bg, GET_ROUNDED_BUTTONS (style) ? CR_CORNER_ALL : CR_CORNER_NONE); cairo_save (cr); fg.a = fg.a * 0.3; cairo_move_to (cr, x, y + check_size); cairo_line_to (cr, x + check_size, y); cairo_line_to (cr, x, y); cairo_close_path (cr); cairo_clip (cr); draw_rounded_rect (cr, x + 1, y + 1, width - 2, height - 2, 1.5, &fg, NULL, GET_ROUNDED_BUTTONS (style) ? CR_CORNER_ALL : CR_CORNER_NONE); cairo_restore (cr); cairo_translate (cr, x + 2.0, y + 2.0); cairo_scale (cr, (check_size - 4) / 7., (check_size - 4) / 7.); fg.a = GET_REAL_OPACITY (style, 1.0); ge_cairo_set_color (cr, &fg); /* draw the interior */ if (shadow_type == GTK_SHADOW_IN) { cairo_move_to (cr, 0.0, 4.1); cairo_line_to (cr, 2.8, 6.65); cairo_curve_to (cr, 3.7, 5.2, 5.0, 2.65, 6.9, 1.4); cairo_line_to (cr, 6.4, 0.6); cairo_curve_to (cr, 4.5, 1.9, 3.55, 3.4, 2.6, 4.7); cairo_line_to (cr, 0.8, 3); cairo_close_path (cr); cairo_fill (cr); } else if (shadow_type == GTK_SHADOW_ETCHED_IN) { cairo_set_line_width (cr, 2.0); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); cairo_move_to (cr, 0.0, 3.5); cairo_line_to (cr, 7.0, 3.5); cairo_stroke (cr); } cairo_destroy (cr); } static void draw_option (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { cairo_t *cr; CairoColor fg, bg; gfloat radius; gfloat xc, yc; #ifdef DEBUG printf ("%s: %p %p %s %i %i %i %i\n", __FUNCTION__, widget, window, detail, x, y, width, height); #endif cr = ge_gdk_drawable_to_cairo (window, area); if (state_type == GTK_STATE_NORMAL) { ge_gdk_color_to_cairo (&style->base[state_type], &bg); ge_gdk_color_to_cairo (&style->text[state_type], &fg); } else { ge_gdk_color_to_cairo (&style->bg[state_type], &bg); ge_gdk_color_to_cairo (&style->fg[state_type], &fg); } radius = MIN (width, height) / 2.0; xc = x + width / 2.0; yc = y + height / 2.0; cairo_arc (cr, xc, yc, radius - 0.5, 0, 2 * G_PI); ge_cairo_set_color (cr, &bg); cairo_fill (cr); fg.a = GET_REAL_OPACITY (style, 0.5); /* XXX: #define this? */ ge_cairo_set_color (cr, &fg); /* XXX: There should be another shadow ... */ cairo_save (cr); cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); cairo_arc (cr, xc, yc, radius, 0, 2 * G_PI); cairo_arc (cr, xc + 0.2, yc + 0.2, radius - 1.2, 0, 2 * G_PI); cairo_fill (cr); cairo_restore (cr); if (shadow_type == GTK_SHADOW_IN) { cairo_pattern_t *pattern; fg.a = GET_REAL_OPACITY (style, 1.0); ge_cairo_set_color (cr, &fg); cairo_arc (cr, xc, yc, radius - 3, 0, 2 * G_PI); cairo_fill (cr); pattern = cairo_pattern_create_radial (xc, yc, 0, xc, yc, radius - 4); bg.a = 0; ge_cairo_pattern_add_color_stop_color (pattern, 0, &bg); bg.a = GET_REAL_OPACITY (style, 0.7); /* XXX: #define this? */ ge_cairo_pattern_add_color_stop_color (pattern, 1, &bg); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_move_to (cr, xc, yc); cairo_arc (cr, xc, yc, radius - 4, G_PI - G_PI_4, 3 * G_PI_2 + G_PI_4); cairo_close_path (cr); cairo_fill (cr); } else if (shadow_type == GTK_SHADOW_ETCHED_IN) { /* XXX: inconsistent state needs sanity check */ cairo_set_line_width (cr, 2.0); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); cairo_move_to (cr, xc - radius + 2, yc); cairo_line_to (cr, xc + radius - 2, yc); cairo_stroke (cr); } cairo_destroy (cr); } static GdkPixbuf* set_transparency (const GdkPixbuf *pixbuf, gdouble alpha_percent) { GdkPixbuf *target; guchar *data, *current; guint x, y, rowstride, height, width; g_return_val_if_fail (pixbuf != NULL, NULL); g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); /* Returns a copy of pixbuf with it's non-completely-transparent pixels to have an alpha level "alpha_percent" of their original value. */ target = gdk_pixbuf_add_alpha (pixbuf, FALSE, 0, 0, 0); if (alpha_percent == 1.0) return target; width = gdk_pixbuf_get_width (target); height = gdk_pixbuf_get_height (target); rowstride = gdk_pixbuf_get_rowstride (target); data = gdk_pixbuf_get_pixels (target); for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { /* The "4" is the number of chars per pixel, in this case, RGBA, the 3 means "skip to the alpha" */ current = data + (y * rowstride) + (x * 4) + 3; *(current) = (guchar) (*(current) * alpha_percent); } } return target; } static GdkPixbuf* scale_or_ref (GdkPixbuf *src, gint width, gint height) { if (width == gdk_pixbuf_get_width (src) && height == gdk_pixbuf_get_height (src)) { return g_object_ref (src); } else { return gdk_pixbuf_scale_simple (src, width, height, GDK_INTERP_BILINEAR); } } static GdkPixbuf* render_icon (GtkStyle *style, const GtkIconSource *source, GtkTextDirection direction, GtkStateType state, GtkIconSize size, GtkWidget *widget, const char *detail) { int width = 1; int height = 1; GdkPixbuf *scaled; GdkPixbuf *stated; GdkPixbuf *base_pixbuf; GdkScreen *screen; GtkSettings *settings; /* Oddly, style can be NULL in this function, because * GtkIconSet can be used without a style and if so * it uses this function. */ base_pixbuf = gtk_icon_source_get_pixbuf (source); g_return_val_if_fail (base_pixbuf != NULL, NULL); if (widget && gtk_widget_has_screen (widget)) { screen = gtk_widget_get_screen (widget); settings = gtk_settings_get_for_screen (screen); } else if (style->colormap) { screen = gdk_colormap_get_screen (style->colormap); settings = gtk_settings_get_for_screen (screen); } else { settings = gtk_settings_get_default (); GTK_NOTE (MULTIHEAD, g_warning ("Using the default screen for gtk_default_render_icon()")); } if (size != (GtkIconSize) - 1 && !gtk_icon_size_lookup_for_settings (settings, size, &width, &height)) { g_warning (G_STRLOC ": invalid icon size '%d'", size); return NULL; } /* If the size was wildcarded, and we're allowed to scale, then scale; otherwise, * leave it alone. */ if (size != (GtkIconSize) - 1 && gtk_icon_source_get_size_wildcarded (source)) scaled = scale_or_ref (base_pixbuf, width, height); else scaled = g_object_ref (base_pixbuf); /* If the state was wildcarded, then generate a state. */ if (gtk_icon_source_get_state_wildcarded (source)) { if (state == GTK_STATE_INSENSITIVE) { stated = set_transparency (scaled, 0.3); gdk_pixbuf_saturate_and_pixelate (stated, stated, 0.1, FALSE); g_object_unref (scaled); } else if (state == GTK_STATE_PRELIGHT) { stated = gdk_pixbuf_copy (scaled); gdk_pixbuf_saturate_and_pixelate (scaled, stated, 1.2, FALSE); g_object_unref (scaled); } else { stated = scaled; } } else stated = scaled; return stated; } /* Non-drawing stuff */ void industrial_style_register_types (GTypeModule *module) { industrial_style_register_type (module); } static void industrial_style_copy (GtkStyle * style, GtkStyle * src) { IndustrialStyle *industrial_style = INDUSTRIAL_STYLE (style); IndustrialStyle *industrial_src = INDUSTRIAL_STYLE (src); industrial_style->contrast = industrial_src->contrast; industrial_style->rounded_buttons = industrial_src->rounded_buttons; GTK_STYLE_CLASS (industrial_style_parent_class)->copy (style, src); } static void industrial_style_init_from_rc (GtkStyle * style, GtkRcStyle * rc_style) { IndustrialStyle *industrial_style = INDUSTRIAL_STYLE (style); GTK_STYLE_CLASS (industrial_style_parent_class)->init_from_rc (style, rc_style); industrial_style->contrast = INDUSTRIAL_RC_STYLE (rc_style)->contrast; industrial_style->rounded_buttons = INDUSTRIAL_RC_STYLE (rc_style)->rounded_buttons; industrial_style->hint = INDUSTRIAL_RC_STYLE (rc_style)->hint; } static void industrial_style_init (IndustrialStyle * style) { style->contrast = 1.0; style->rounded_buttons = TRUE; style->hint = 0; } static void industrial_style_class_init (IndustrialStyleClass * klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->copy = industrial_style_copy; style_class->init_from_rc = industrial_style_init_from_rc; style_class->draw_focus = draw_focus; style_class->draw_handle = draw_handle; style_class->draw_vline = draw_vline; style_class->draw_hline = draw_hline; style_class->draw_slider = draw_slider; style_class->draw_check = draw_check; style_class->draw_box = draw_box; style_class->draw_shadow = draw_shadow; style_class->draw_box_gap = draw_box_gap; style_class->draw_shadow_gap = draw_shadow_gap; style_class->draw_extension = draw_extension; style_class->draw_option = draw_option; style_class->render_icon = render_icon; } static void industrial_style_class_finalize (IndustrialStyleClass *klass) { } gtk-engines-2.20.2/engines/industrial/src/industrial_style.h0000644000175000017500000000411211445424675021107 00000000000000/* Industrial - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2002 Ximian, Inc. * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include "ge-support.h" typedef struct _IndustrialStyle IndustrialStyle; typedef struct _IndustrialStyleClass IndustrialStyleClass; #define INDUSTRIAL_TYPE_STYLE (industrial_style_get_type ()) #define INDUSTRIAL_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), INDUSTRIAL_TYPE_STYLE, IndustrialStyle)) #define INDUSTRIAL_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDUSTRIAL_TYPE_STYLE, IndustrialStyleClass)) #define INDUSTRIAL_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), INDUSTRIAL_TYPE_STYLE)) #define INDUSTRIAL_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDUSTRIAL_TYPE_STYLE)) #define INDUSTRIAL_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDUSTRIAL_TYPE_STYLE, IndustrialStyleClass)) struct _IndustrialStyle { GtkStyle parent_instance; double contrast; gboolean rounded_buttons; GQuark hint; }; struct _IndustrialStyleClass { GtkStyleClass parent_class; }; GE_INTERNAL void industrial_style_register_types (GTypeModule * module); GE_INTERNAL GType industrial_style_get_type (void); gtk-engines-2.20.2/engines/industrial/src/industrial_theme_main.c0000644000175000017500000000312411445424675022052 00000000000000/* Industrial - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2002 Ximian, Inc. * Copyright (C) 2006 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Alexander Larsson * modified by Christopher James Lahey * modified by Benjamin Berg * */ #include #include #include "industrial_style.h" #include "industrial_rc_style.h" GE_EXPORT void theme_init (GTypeModule * module) { industrial_rc_style_register_types (module); industrial_style_register_types (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle* theme_create_rc_style (void) { return GTK_RC_STYLE (g_object_new (INDUSTRIAL_TYPE_RC_STYLE, NULL)); } gtk-engines-2.20.2/engines/industrial/src/parse_rc_style.h0000644000175000017500000001040611445424675020532 00000000000000/* Industrial - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2002 Ximian, Inc. * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Alexander Larsson * modified by Christopher James Lahey * modified by Benjamin Berg * */ enum { TOKEN_CONTRAST = G_TOKEN_LAST + 1, TOKEN_CONTRAST_CENTER, TOKEN_ROUNDED_BUTTONS, TOKEN_HINT, TOKEN_TRUE, TOKEN_FALSE }; static struct { const gchar *name; guint token; } theme_symbols[] = { { "contrast", TOKEN_CONTRAST }, { "rounded_buttons", TOKEN_ROUNDED_BUTTONS }, { "hint", TOKEN_HINT }, { "TRUE", TOKEN_TRUE }, { "FALSE", TOKEN_FALSE } }; static guint theme_parse_named_double (GScanner * scanner, double *value) { guint token; /* Skip name */ token = g_scanner_get_next_token (scanner); token = g_scanner_get_next_token (scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token (scanner); if (token == G_TOKEN_INT) *value = scanner->value.v_int; else if (token == G_TOKEN_FLOAT) *value = scanner->value.v_float; else return G_TOKEN_FLOAT; return G_TOKEN_NONE; } static guint theme_parse_boolean (GScanner * scanner, GTokenType wanted_token, gboolean * retval) { guint token; token = g_scanner_get_next_token (scanner); if (token != wanted_token) return wanted_token; token = g_scanner_get_next_token (scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token (scanner); if (token == TOKEN_TRUE) *retval = TRUE; else if (token == TOKEN_FALSE) *retval = FALSE; else return TOKEN_TRUE; return G_TOKEN_NONE; } static guint parse_rc_style (GScanner * scanner, IndustrialRcStyle *rc) { static GQuark scope_id = 0; guint old_scope; guint token; guint i; /* Set up a new scope in this scanner. */ if (!scope_id) scope_id = g_quark_from_string ("industrial_theme_engine"); /* If we bail out due to errors, we *don't* reset the scope, so the * error messaging code can make sense of our tokens. */ old_scope = g_scanner_set_scope (scanner, scope_id); /* Now check if we already added our symbols to this scope * (in some previous call to industrial_rc_style_parse for the * same scanner. */ if (!g_scanner_lookup_symbol (scanner, theme_symbols[0].name)) { for (i = 0; i < G_N_ELEMENTS (theme_symbols); i++) g_scanner_scope_add_symbol (scanner, scope_id, theme_symbols[i].name, GINT_TO_POINTER (theme_symbols[i].token)); } /* We're ready to go, now parse the top level */ token = g_scanner_peek_next_token (scanner); while (token != G_TOKEN_RIGHT_CURLY) { switch (token) { case TOKEN_CONTRAST: token = theme_parse_named_double (scanner, &rc->contrast); rc->fields |= INDUSTRIAL_FIELDS_CONTRAST; break; case TOKEN_ROUNDED_BUTTONS: token = theme_parse_boolean (scanner, TOKEN_ROUNDED_BUTTONS, &rc->rounded_buttons); rc->fields |= INDUSTRIAL_FIELDS_ROUNDED_BUTTONS; break; case TOKEN_HINT: token = ge_rc_parse_hint (scanner, &rc->hint); rc->fields |= INDUSTRIAL_FIELDS_HINT; break; default: g_scanner_get_next_token (scanner); token = G_TOKEN_RIGHT_CURLY; break; } if (token != G_TOKEN_NONE) return token; token = g_scanner_peek_next_token (scanner); } g_scanner_get_next_token (scanner); g_scanner_set_scope (scanner, old_scope); return G_TOKEN_NONE; } gtk-engines-2.20.2/engines/industrial/Makefile.am0000644000175000017500000000311111446654310016573 00000000000000# Clearlooks - a cairo based GTKengine # Copyright (C) 2001 Red Hat, Inc. # Copyright (C) 2002 Ximian, Inc. # Copyright (C) 2006 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libindustrial.la libindustrial_la_SOURCES = \ ./src/industrial_rc_style.c \ ./src/industrial_rc_style.h \ ./src/industrial_style.c \ ./src/industrial_style.h \ ./src/industrial_theme_main.c EXTRA_DIST = \ ./src/parse_rc_style.h \ ./AUTHORS libindustrial_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libindustrial_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/industrial/Makefile.in0000644000175000017500000005613311451355760016623 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Clearlooks - a cairo based GTKengine # Copyright (C) 2001 Red Hat, Inc. # Copyright (C) 2002 Ximian, Inc. # Copyright (C) 2006 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/industrial DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libindustrial_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libindustrial_la_OBJECTS = industrial_rc_style.lo \ industrial_style.lo industrial_theme_main.lo libindustrial_la_OBJECTS = $(am_libindustrial_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libindustrial_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libindustrial_la_LDFLAGS) $(LDFLAGS) \ -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libindustrial_la_SOURCES) DIST_SOURCES = $(libindustrial_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libindustrial.la libindustrial_la_SOURCES = \ ./src/industrial_rc_style.c \ ./src/industrial_rc_style.h \ ./src/industrial_style.c \ ./src/industrial_style.h \ ./src/industrial_theme_main.c EXTRA_DIST = \ ./src/parse_rc_style.h \ ./AUTHORS libindustrial_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libindustrial_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/industrial/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/industrial/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libindustrial.la: $(libindustrial_la_OBJECTS) $(libindustrial_la_DEPENDENCIES) $(AM_V_CCLD)$(libindustrial_la_LINK) -rpath $(enginedir) $(libindustrial_la_OBJECTS) $(libindustrial_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/industrial_rc_style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/industrial_style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/industrial_theme_main.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< industrial_rc_style.lo: ./src/industrial_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT industrial_rc_style.lo -MD -MP -MF $(DEPDIR)/industrial_rc_style.Tpo -c -o industrial_rc_style.lo `test -f './src/industrial_rc_style.c' || echo '$(srcdir)/'`./src/industrial_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/industrial_rc_style.Tpo $(DEPDIR)/industrial_rc_style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/industrial_rc_style.c' object='industrial_rc_style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o industrial_rc_style.lo `test -f './src/industrial_rc_style.c' || echo '$(srcdir)/'`./src/industrial_rc_style.c industrial_style.lo: ./src/industrial_style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT industrial_style.lo -MD -MP -MF $(DEPDIR)/industrial_style.Tpo -c -o industrial_style.lo `test -f './src/industrial_style.c' || echo '$(srcdir)/'`./src/industrial_style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/industrial_style.Tpo $(DEPDIR)/industrial_style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/industrial_style.c' object='industrial_style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o industrial_style.lo `test -f './src/industrial_style.c' || echo '$(srcdir)/'`./src/industrial_style.c industrial_theme_main.lo: ./src/industrial_theme_main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT industrial_theme_main.lo -MD -MP -MF $(DEPDIR)/industrial_theme_main.Tpo -c -o industrial_theme_main.lo `test -f './src/industrial_theme_main.c' || echo '$(srcdir)/'`./src/industrial_theme_main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/industrial_theme_main.Tpo $(DEPDIR)/industrial_theme_main.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/industrial_theme_main.c' object='industrial_theme_main.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o industrial_theme_main.lo `test -f './src/industrial_theme_main.c' || echo '$(srcdir)/'`./src/industrial_theme_main.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/industrial/AUTHORS0000644000175000017500000000051611445424675015625 00000000000000Designed by Tigert and Jimmac Implemented by Christopher James Lahey Based on GTK Bluecurve Theme Designed by Garrett LeSage Implemented by Alexander Larsson Parts of the code based on Metal theme Randy Gordon Owen Taylor Cairo port by Benjamin Berg gtk-engines-2.20.2/engines/lua/0000755000175000017500000000000011451420647013226 500000000000000gtk-engines-2.20.2/engines/lua/src/0000755000175000017500000000000011451420647014015 500000000000000gtk-engines-2.20.2/engines/lua/src/liblua/0000755000175000017500000000000011451420650015257 500000000000000gtk-engines-2.20.2/engines/lua/src/liblua/lapi.h0000644000175000017500000000032311451352576016306 00000000000000/* ** $Id$ ** Auxiliary functions from Lua API ** See Copyright Notice in lua.h */ #ifndef lapi_h #define lapi_h #include "lobject.h" LUAI_FUNC void luaA_pushobject (lua_State *L, const TValue *o); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lauxlib.h0000644000175000017500000001313211451352576017023 00000000000000/* ** $Id$ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h */ #ifndef lauxlib_h #define lauxlib_h #include #include #include "lua.h" #if defined(LUA_COMPAT_GETN) LUALIB_API int (luaL_getn) (lua_State *L, int t); LUALIB_API void (luaL_setn) (lua_State *L, int t, int n); #else #define luaL_getn(L,i) ((int)lua_objlen(L, i)) #define luaL_setn(L,i,j) ((void)0) /* no op! */ #endif #if defined(LUA_COMPAT_OPENLIB) #define luaI_openlib luaL_openlib #endif /* extra error code for `luaL_load' */ #define LUA_ERRFILE (LUA_ERRERR+1) typedef struct luaL_Reg { const char *name; lua_CFunction func; } luaL_Reg; LUALIB_API void (luaI_openlib) (lua_State *L, const char *libname, const luaL_Reg *l, int nup); LUALIB_API void (luaL_register) (lua_State *L, const char *libname, const luaL_Reg *l); LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); LUALIB_API int (luaL_typerror) (lua_State *L, int narg, const char *tname); LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg); LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg, size_t *l); LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg, const char *def, size_t *l); LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg); LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def); LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg); LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg, lua_Integer def); LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t); LUALIB_API void (luaL_checkany) (lua_State *L, int narg); LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); LUALIB_API void (luaL_where) (lua_State *L, int lvl); LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def, const char *const lst[]); LUALIB_API int (luaL_ref) (lua_State *L, int t); LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename); LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz, const char *name); LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); LUALIB_API lua_State *(luaL_newstate) (void); LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, const char *r); LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx, const char *fname, int szhint); /* ** =============================================================== ** some useful macros ** =============================================================== */ #define luaL_argcheck(L, cond,numarg,extramsg) \ ((void)((cond) || luaL_argerror(L, (numarg), (extramsg)))) #define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) #define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) #define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) #define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) #define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) #define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) #define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) #define luaL_dofile(L, fn) \ (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) #define luaL_dostring(L, s) \ (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) #define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) #define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) /* ** {====================================================== ** Generic Buffer manipulation ** ======================================================= */ typedef struct luaL_Buffer { char *p; /* current position in buffer */ int lvl; /* number of strings in the stack (level) */ lua_State *L; char buffer[LUAL_BUFFERSIZE]; } luaL_Buffer; #define luaL_addchar(B,c) \ ((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), \ (*(B)->p++ = (char)(c))) /* compatibility only */ #define luaL_putchar(B,c) luaL_addchar(B,c) #define luaL_addsize(B,n) ((B)->p += (n)) LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); LUALIB_API char *(luaL_prepbuffer) (luaL_Buffer *B); LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); /* }====================================================== */ /* compatibility with ref system */ /* pre-defined references */ #define LUA_NOREF (-2) #define LUA_REFNIL (-1) #define lua_ref(L,lock) ((lock) ? luaL_ref(L, LUA_REGISTRYINDEX) : \ (lua_pushstring(L, "unlocked references are obsolete"), lua_error(L), 0)) #define lua_unref(L,ref) luaL_unref(L, LUA_REGISTRYINDEX, (ref)) #define lua_getref(L,ref) lua_rawgeti(L, LUA_REGISTRYINDEX, (ref)) #define luaL_reg luaL_Reg #endif gtk-engines-2.20.2/engines/lua/src/liblua/lcode.h0000644000175000017500000000521111451352576016450 00000000000000/* ** $Id$ ** Code generator for Lua ** See Copyright Notice in lua.h */ #ifndef lcode_h #define lcode_h #include "llex.h" #include "lobject.h" #include "lopcodes.h" #include "lparser.h" /* ** Marks the end of a patch list. It is an invalid value both as an absolute ** address, and as a list link (would link an element to itself). */ #define NO_JUMP (-1) /* ** grep "ORDER OPR" if you change these enums */ typedef enum BinOpr { OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW, OPR_CONCAT, OPR_NE, OPR_EQ, OPR_LT, OPR_LE, OPR_GT, OPR_GE, OPR_AND, OPR_OR, OPR_NOBINOPR } BinOpr; typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; #define getcode(fs,e) ((fs)->f->code[(e)->u.s.info]) #define luaK_codeAsBx(fs,o,A,sBx) luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx) #define luaK_setmultret(fs,e) luaK_setreturns(fs, e, LUA_MULTRET) LUAI_FUNC int luaK_codeABx (FuncState *fs, OpCode o, int A, unsigned int Bx); LUAI_FUNC int luaK_codeABC (FuncState *fs, OpCode o, int A, int B, int C); LUAI_FUNC void luaK_fixline (FuncState *fs, int line); LUAI_FUNC void luaK_nil (FuncState *fs, int from, int n); LUAI_FUNC void luaK_reserveregs (FuncState *fs, int n); LUAI_FUNC void luaK_checkstack (FuncState *fs, int n); LUAI_FUNC int luaK_stringK (FuncState *fs, TString *s); LUAI_FUNC int luaK_numberK (FuncState *fs, lua_Number r); LUAI_FUNC void luaK_dischargevars (FuncState *fs, expdesc *e); LUAI_FUNC int luaK_exp2anyreg (FuncState *fs, expdesc *e); LUAI_FUNC void luaK_exp2nextreg (FuncState *fs, expdesc *e); LUAI_FUNC void luaK_exp2val (FuncState *fs, expdesc *e); LUAI_FUNC int luaK_exp2RK (FuncState *fs, expdesc *e); LUAI_FUNC void luaK_self (FuncState *fs, expdesc *e, expdesc *key); LUAI_FUNC void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k); LUAI_FUNC void luaK_goiftrue (FuncState *fs, expdesc *e); LUAI_FUNC void luaK_storevar (FuncState *fs, expdesc *var, expdesc *e); LUAI_FUNC void luaK_setreturns (FuncState *fs, expdesc *e, int nresults); LUAI_FUNC void luaK_setoneret (FuncState *fs, expdesc *e); LUAI_FUNC int luaK_jump (FuncState *fs); LUAI_FUNC void luaK_ret (FuncState *fs, int first, int nret); LUAI_FUNC void luaK_patchlist (FuncState *fs, int list, int target); LUAI_FUNC void luaK_patchtohere (FuncState *fs, int list); LUAI_FUNC void luaK_concat (FuncState *fs, int *l1, int l2); LUAI_FUNC int luaK_getlabel (FuncState *fs); LUAI_FUNC void luaK_prefix (FuncState *fs, UnOpr op, expdesc *v); LUAI_FUNC void luaK_infix (FuncState *fs, BinOpr op, expdesc *v); LUAI_FUNC void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, expdesc *v2); LUAI_FUNC void luaK_setlist (FuncState *fs, int base, int nelems, int tostore); #endif gtk-engines-2.20.2/engines/lua/src/liblua/ldebug.h0000644000175000017500000000176011451352576016631 00000000000000/* ** $Id$ ** Auxiliary functions from Debug Interface module ** See Copyright Notice in lua.h */ #ifndef ldebug_h #define ldebug_h #include "lstate.h" #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) #define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) #define resethookcount(L) (L->hookcount = L->basehookcount) LUAI_FUNC void luaG_typeerror (lua_State *L, const TValue *o, const char *opname); LUAI_FUNC void luaG_concaterror (lua_State *L, StkId p1, StkId p2); LUAI_FUNC void luaG_aritherror (lua_State *L, const TValue *p1, const TValue *p2); LUAI_FUNC int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2); LUAI_FUNC void luaG_runerror (lua_State *L, const char *fmt, ...); LUAI_FUNC void luaG_errormsg (lua_State *L); LUAI_FUNC int luaG_checkcode (const Proto *pt); LUAI_FUNC int luaG_checkopenop (Instruction i); #endif gtk-engines-2.20.2/engines/lua/src/liblua/ldo.h0000644000175000017500000000346711451352576016153 00000000000000/* ** $Id$ ** Stack and Call structure of Lua ** See Copyright Notice in lua.h */ #ifndef ldo_h #define ldo_h #include "lobject.h" #include "lstate.h" #include "lzio.h" #define luaD_checkstack(L,n) \ if ((char *)L->stack_last - (char *)L->top <= (n)*(int)sizeof(TValue)) \ luaD_growstack(L, n); \ else condhardstacktests(luaD_reallocstack(L, L->stacksize - EXTRA_STACK - 1)); #define incr_top(L) {luaD_checkstack(L,1); L->top++;} #define savestack(L,p) ((char *)(p) - (char *)L->stack) #define restorestack(L,n) ((TValue *)((char *)L->stack + (n))) #define saveci(L,p) ((char *)(p) - (char *)L->base_ci) #define restoreci(L,n) ((CallInfo *)((char *)L->base_ci + (n))) /* results from luaD_precall */ #define PCRLUA 0 /* initiated a call to a Lua function */ #define PCRC 1 /* did a call to a C function */ #define PCRYIELD 2 /* C funtion yielded */ /* type of protected functions, to be ran by `runprotected' */ typedef void (*Pfunc) (lua_State *L, void *ud); LUAI_FUNC int luaD_protectedparser (lua_State *L, ZIO *z, const char *name); LUAI_FUNC void luaD_callhook (lua_State *L, int event, int line); LUAI_FUNC int luaD_precall (lua_State *L, StkId func, int nresults); LUAI_FUNC void luaD_call (lua_State *L, StkId func, int nResults); LUAI_FUNC int luaD_pcall (lua_State *L, Pfunc func, void *u, ptrdiff_t oldtop, ptrdiff_t ef); LUAI_FUNC int luaD_poscall (lua_State *L, StkId firstResult); LUAI_FUNC void luaD_reallocCI (lua_State *L, int newsize); LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize); LUAI_FUNC void luaD_growstack (lua_State *L, int n); LUAI_FUNC void luaD_throw (lua_State *L, int errcode); LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud); LUAI_FUNC void luaD_seterrorobj (lua_State *L, int errcode, StkId oldtop); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lfunc.h0000644000175000017500000000206111451352576016471 00000000000000/* ** $Id$ ** Auxiliary functions to manipulate prototypes and closures ** See Copyright Notice in lua.h */ #ifndef lfunc_h #define lfunc_h #include "lobject.h" #define sizeCclosure(n) (cast(int, sizeof(CClosure)) + \ cast(int, sizeof(TValue)*((n)-1))) #define sizeLclosure(n) (cast(int, sizeof(LClosure)) + \ cast(int, sizeof(TValue *)*((n)-1))) LUAI_FUNC Proto *luaF_newproto (lua_State *L); LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems, Table *e); LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems, Table *e); LUAI_FUNC UpVal *luaF_newupval (lua_State *L); LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level); LUAI_FUNC void luaF_close (lua_State *L, StkId level); LUAI_FUNC void luaF_freeproto (lua_State *L, Proto *f); LUAI_FUNC void luaF_freeclosure (lua_State *L, Closure *c); LUAI_FUNC void luaF_freeupval (lua_State *L, UpVal *uv); LUAI_FUNC const char *luaF_getlocalname (const Proto *func, int local_number, int pc); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lgc.h0000644000175000017500000000604411451352576016134 00000000000000/* ** $Id$ ** Garbage Collector ** See Copyright Notice in lua.h */ #ifndef lgc_h #define lgc_h #include "lobject.h" /* ** Possible states of the Garbage Collector */ #define GCSpause 0 #define GCSpropagate 1 #define GCSsweepstring 2 #define GCSsweep 3 #define GCSfinalize 4 /* ** some userful bit tricks */ #define resetbits(x,m) ((x) &= cast(lu_byte, ~(m))) #define setbits(x,m) ((x) |= (m)) #define testbits(x,m) ((x) & (m)) #define bitmask(b) (1<<(b)) #define bit2mask(b1,b2) (bitmask(b1) | bitmask(b2)) #define l_setbit(x,b) setbits(x, bitmask(b)) #define resetbit(x,b) resetbits(x, bitmask(b)) #define testbit(x,b) testbits(x, bitmask(b)) #define set2bits(x,b1,b2) setbits(x, (bit2mask(b1, b2))) #define reset2bits(x,b1,b2) resetbits(x, (bit2mask(b1, b2))) #define test2bits(x,b1,b2) testbits(x, (bit2mask(b1, b2))) /* ** Layout for bit use in `marked' field: ** bit 0 - object is white (type 0) ** bit 1 - object is white (type 1) ** bit 2 - object is black ** bit 3 - for userdata: has been finalized ** bit 3 - for tables: has weak keys ** bit 4 - for tables: has weak values ** bit 5 - object is fixed (should not be collected) ** bit 6 - object is "super" fixed (only the main thread) */ #define WHITE0BIT 0 #define WHITE1BIT 1 #define BLACKBIT 2 #define FINALIZEDBIT 3 #define KEYWEAKBIT 3 #define VALUEWEAKBIT 4 #define FIXEDBIT 5 #define SFIXEDBIT 6 #define WHITEBITS bit2mask(WHITE0BIT, WHITE1BIT) #define iswhite(x) test2bits((x)->gch.marked, WHITE0BIT, WHITE1BIT) #define isblack(x) testbit((x)->gch.marked, BLACKBIT) #define isgray(x) (!isblack(x) && !iswhite(x)) #define otherwhite(g) (g->currentwhite ^ WHITEBITS) #define isdead(g,v) ((v)->gch.marked & otherwhite(g) & WHITEBITS) #define changewhite(x) ((x)->gch.marked ^= WHITEBITS) #define gray2black(x) l_setbit((x)->gch.marked, BLACKBIT) #define valiswhite(x) (iscollectable(x) && iswhite(gcvalue(x))) #define luaC_white(g) cast(lu_byte, (g)->currentwhite & WHITEBITS) #define luaC_checkGC(L) { \ condhardstacktests(luaD_reallocstack(L, L->stacksize - EXTRA_STACK - 1)); \ if (G(L)->totalbytes >= G(L)->GCthreshold) \ luaC_step(L); } #define luaC_barrier(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \ luaC_barrierf(L,obj2gco(p),gcvalue(v)); } #define luaC_barriert(L,t,v) { if (valiswhite(v) && isblack(obj2gco(t))) \ luaC_barrierback(L,t); } #define luaC_objbarrier(L,p,o) \ { if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) \ luaC_barrierf(L,obj2gco(p),obj2gco(o)); } #define luaC_objbarriert(L,t,o) \ { if (iswhite(obj2gco(o)) && isblack(obj2gco(t))) luaC_barrierback(L,t); } LUAI_FUNC size_t luaC_separateudata (lua_State *L, int all); LUAI_FUNC void luaC_callGCTM (lua_State *L); LUAI_FUNC void luaC_freeall (lua_State *L); LUAI_FUNC void luaC_step (lua_State *L); LUAI_FUNC void luaC_fullgc (lua_State *L); LUAI_FUNC void luaC_link (lua_State *L, GCObject *o, lu_byte tt); LUAI_FUNC void luaC_linkupval (lua_State *L, UpVal *uv); LUAI_FUNC void luaC_barrierf (lua_State *L, GCObject *o, GCObject *v); LUAI_FUNC void luaC_barrierback (lua_State *L, Table *t); #endif gtk-engines-2.20.2/engines/lua/src/liblua/llex.h0000644000175000017500000000411511451352576016330 00000000000000/* ** $Id$ ** Lexical Analyzer ** See Copyright Notice in lua.h */ #ifndef llex_h #define llex_h #include "lobject.h" #include "lzio.h" #define FIRST_RESERVED 257 /* maximum length of a reserved word */ #define TOKEN_LEN (sizeof("function")/sizeof(char)) /* * WARNING: if you change the order of this enumeration, * grep "ORDER RESERVED" */ enum RESERVED { /* terminal symbols denoted by reserved words */ TK_AND = FIRST_RESERVED, TK_BREAK, TK_DO, TK_ELSE, TK_ELSEIF, TK_END, TK_FALSE, TK_FOR, TK_FUNCTION, TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT, TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE, /* other terminal symbols */ TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_NUMBER, TK_NAME, TK_STRING, TK_EOS }; /* number of reserved words */ #define NUM_RESERVED (cast(int, TK_WHILE-FIRST_RESERVED+1)) /* array with token `names' */ LUAI_DATA const char *const luaX_tokens []; typedef union { lua_Number r; TString *ts; } SemInfo; /* semantics information */ typedef struct Token { int token; SemInfo seminfo; } Token; typedef struct LexState { int current; /* current character (charint) */ int linenumber; /* input line counter */ int lastline; /* line of last token `consumed' */ Token t; /* current token */ Token lookahead; /* look ahead token */ struct FuncState *fs; /* `FuncState' is private to the parser */ struct lua_State *L; ZIO *z; /* input stream */ Mbuffer *buff; /* buffer for tokens */ TString *source; /* current source name */ char decpoint; /* locale decimal point */ } LexState; LUAI_FUNC void luaX_init (lua_State *L); LUAI_FUNC void luaX_setinput (lua_State *L, LexState *ls, ZIO *z, TString *source); LUAI_FUNC TString *luaX_newstring (LexState *ls, const char *str, size_t l); LUAI_FUNC void luaX_next (LexState *ls); LUAI_FUNC void luaX_lookahead (LexState *ls); LUAI_FUNC void luaX_lexerror (LexState *ls, const char *msg, int token); LUAI_FUNC void luaX_syntaxerror (LexState *ls, const char *s); LUAI_FUNC const char *luaX_token2str (LexState *ls, int token); #endif gtk-engines-2.20.2/engines/lua/src/liblua/llimits.h0000644000175000017500000000436611451352576017051 00000000000000/* ** $Id$ ** Limits, basic types, and some other `installation-dependent' definitions ** See Copyright Notice in lua.h */ #ifndef llimits_h #define llimits_h #include #include #include "lua.h" typedef LUAI_UINT32 lu_int32; typedef LUAI_UMEM lu_mem; typedef LUAI_MEM l_mem; /* chars used as small naturals (so that `char' is reserved for characters) */ typedef unsigned char lu_byte; #define MAX_SIZET ((size_t)(~(size_t)0)-2) #define MAX_LUMEM ((lu_mem)(~(lu_mem)0)-2) #define MAX_INT (INT_MAX-2) /* maximum value of an int (-2 for safety) */ /* ** conversion of pointer to integer ** this is for hashing only; there is no problem if the integer ** cannot hold the whole pointer value */ #define IntPoint(p) ((unsigned int)(lu_mem)(p)) /* type to ensure maximum alignment */ typedef LUAI_USER_ALIGNMENT_T L_Umaxalign; /* result of a `usual argument conversion' over lua_Number */ typedef LUAI_UACNUMBER l_uacNumber; /* internal assertions for in-house debugging */ #ifdef lua_assert #define check_exp(c,e) (lua_assert(c), (e)) #define api_check(l,e) lua_assert(e) #else #define lua_assert(c) ((void)0) #define check_exp(c,e) (e) #define api_check luai_apicheck #endif #ifndef UNUSED #define UNUSED(x) ((void)(x)) /* to avoid warnings */ #endif #ifndef cast #define cast(t, exp) ((t)(exp)) #endif #define cast_byte(i) cast(lu_byte, (i)) #define cast_num(i) cast(lua_Number, (i)) #define cast_int(i) cast(int, (i)) /* ** type for virtual-machine instructions ** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h) */ typedef lu_int32 Instruction; /* maximum stack for a Lua function */ #define MAXSTACK 250 /* minimum size for the string table (must be power of 2) */ #ifndef MINSTRTABSIZE #define MINSTRTABSIZE 32 #endif /* minimum size for string buffer */ #ifndef LUA_MINBUFFER #define LUA_MINBUFFER 32 #endif #ifndef lua_lock #define lua_lock(L) ((void) 0) #define lua_unlock(L) ((void) 0) #endif #ifndef luai_threadyield #define luai_threadyield(L) {lua_unlock(L); lua_lock(L);} #endif /* ** macro to control inclusion of some hard tests on stack reallocation */ #ifndef HARDSTACKTESTS #define condhardstacktests(x) ((void)0) #else #define condhardstacktests(x) x #endif #endif gtk-engines-2.20.2/engines/lua/src/liblua/lmem.h0000644000175000017500000000264211451352576016321 00000000000000/* ** $Id$ ** Interface to Memory Manager ** See Copyright Notice in lua.h */ #ifndef lmem_h #define lmem_h #include #include "llimits.h" #include "lua.h" #define MEMERRMSG "not enough memory" #define luaM_reallocv(L,b,on,n,e) \ ((cast(size_t, (n)+1) <= MAX_SIZET/(e)) ? /* +1 to avoid warnings */ \ luaM_realloc_(L, (b), (on)*(e), (n)*(e)) : \ luaM_toobig(L)) #define luaM_freemem(L, b, s) luaM_realloc_(L, (b), (s), 0) #define luaM_free(L, b) luaM_realloc_(L, (b), sizeof(*(b)), 0) #define luaM_freearray(L, b, n, t) luaM_reallocv(L, (b), n, 0, sizeof(t)) #define luaM_malloc(L,t) luaM_realloc_(L, NULL, 0, (t)) #define luaM_new(L,t) cast(t *, luaM_malloc(L, sizeof(t))) #define luaM_newvector(L,n,t) \ cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t))) #define luaM_growvector(L,v,nelems,size,t,limit,e) \ if ((nelems)+1 > (size)) \ ((v)=cast(t *, luaM_growaux_(L,v,&(size),sizeof(t),limit,e))) #define luaM_reallocvector(L, v,oldn,n,t) \ ((v)=cast(t *, luaM_reallocv(L, v, oldn, n, sizeof(t)))) LUAI_FUNC void *luaM_realloc_ (lua_State *L, void *block, size_t oldsize, size_t size); LUAI_FUNC void *luaM_toobig (lua_State *L); LUAI_FUNC void *luaM_growaux_ (lua_State *L, void *block, int *size, size_t size_elem, int limit, const char *errormsg); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lobject.h0000644000175000017500000002037411451352576017013 00000000000000/* ** $Id$ ** Type definitions for Lua objects ** See Copyright Notice in lua.h */ #ifndef lobject_h #define lobject_h #include #include "llimits.h" #include "lua.h" /* tags for values visible from Lua */ #define LAST_TAG LUA_TTHREAD #define NUM_TAGS (LAST_TAG+1) /* ** Extra tags for non-values */ #define LUA_TPROTO (LAST_TAG+1) #define LUA_TUPVAL (LAST_TAG+2) #define LUA_TDEADKEY (LAST_TAG+3) /* ** Union of all collectable objects */ typedef union GCObject GCObject; /* ** Common Header for all collectable objects (in macro form, to be ** included in other objects) */ #define CommonHeader GCObject *next; lu_byte tt; lu_byte marked /* ** Common header in struct form */ typedef struct GCheader { CommonHeader; } GCheader; /* ** Union of all Lua values */ typedef union { GCObject *gc; void *p; lua_Number n; int b; } Value; /* ** Tagged Values */ #define TValuefields Value value; int tt typedef struct lua_TValue { TValuefields; } TValue; /* Macros to test type */ #define ttisnil(o) (ttype(o) == LUA_TNIL) #define ttisnumber(o) (ttype(o) == LUA_TNUMBER) #define ttisstring(o) (ttype(o) == LUA_TSTRING) #define ttistable(o) (ttype(o) == LUA_TTABLE) #define ttisfunction(o) (ttype(o) == LUA_TFUNCTION) #define ttisboolean(o) (ttype(o) == LUA_TBOOLEAN) #define ttisuserdata(o) (ttype(o) == LUA_TUSERDATA) #define ttisthread(o) (ttype(o) == LUA_TTHREAD) #define ttislightuserdata(o) (ttype(o) == LUA_TLIGHTUSERDATA) /* Macros to access values */ #define ttype(o) ((o)->tt) #define gcvalue(o) check_exp(iscollectable(o), (o)->value.gc) #define pvalue(o) check_exp(ttislightuserdata(o), (o)->value.p) #define nvalue(o) check_exp(ttisnumber(o), (o)->value.n) #define rawtsvalue(o) check_exp(ttisstring(o), &(o)->value.gc->ts) #define tsvalue(o) (&rawtsvalue(o)->tsv) #define rawuvalue(o) check_exp(ttisuserdata(o), &(o)->value.gc->u) #define uvalue(o) (&rawuvalue(o)->uv) #define clvalue(o) check_exp(ttisfunction(o), &(o)->value.gc->cl) #define hvalue(o) check_exp(ttistable(o), &(o)->value.gc->h) #define bvalue(o) check_exp(ttisboolean(o), (o)->value.b) #define thvalue(o) check_exp(ttisthread(o), &(o)->value.gc->th) #define l_isfalse(o) (ttisnil(o) || (ttisboolean(o) && bvalue(o) == 0)) /* ** for internal debug only */ #define checkconsistency(obj) \ lua_assert(!iscollectable(obj) || (ttype(obj) == (obj)->value.gc->gch.tt)) #define checkliveness(g,obj) \ lua_assert(!iscollectable(obj) || \ ((ttype(obj) == (obj)->value.gc->gch.tt) && !isdead(g, (obj)->value.gc))) /* Macros to set values */ #define setnilvalue(obj) ((obj)->tt=LUA_TNIL) #define setnvalue(obj,x) \ { TValue *i_o=(obj); i_o->value.n=(x); i_o->tt=LUA_TNUMBER; } #define setpvalue(obj,x) \ { TValue *i_o=(obj); i_o->value.p=(x); i_o->tt=LUA_TLIGHTUSERDATA; } #define setbvalue(obj,x) \ { TValue *i_o=(obj); i_o->value.b=(x); i_o->tt=LUA_TBOOLEAN; } #define setsvalue(L,obj,x) \ { TValue *i_o=(obj); \ i_o->value.gc=cast(GCObject *, (x)); i_o->tt=LUA_TSTRING; \ checkliveness(G(L),i_o); } #define setuvalue(L,obj,x) \ { TValue *i_o=(obj); \ i_o->value.gc=cast(GCObject *, (x)); i_o->tt=LUA_TUSERDATA; \ checkliveness(G(L),i_o); } #define setthvalue(L,obj,x) \ { TValue *i_o=(obj); \ i_o->value.gc=cast(GCObject *, (x)); i_o->tt=LUA_TTHREAD; \ checkliveness(G(L),i_o); } #define setclvalue(L,obj,x) \ { TValue *i_o=(obj); \ i_o->value.gc=cast(GCObject *, (x)); i_o->tt=LUA_TFUNCTION; \ checkliveness(G(L),i_o); } #define sethvalue(L,obj,x) \ { TValue *i_o=(obj); \ i_o->value.gc=cast(GCObject *, (x)); i_o->tt=LUA_TTABLE; \ checkliveness(G(L),i_o); } #define setptvalue(L,obj,x) \ { TValue *i_o=(obj); \ i_o->value.gc=cast(GCObject *, (x)); i_o->tt=LUA_TPROTO; \ checkliveness(G(L),i_o); } #define setobj(L,obj1,obj2) \ { const TValue *o2=(obj2); TValue *o1=(obj1); \ o1->value = o2->value; o1->tt=o2->tt; \ checkliveness(G(L),o1); } /* ** different types of sets, according to destination */ /* from stack to (same) stack */ #define setobjs2s setobj /* to stack (not from same stack) */ #define setobj2s setobj #define setsvalue2s setsvalue #define sethvalue2s sethvalue #define setptvalue2s setptvalue /* from table to same table */ #define setobjt2t setobj /* to table */ #define setobj2t setobj /* to new object */ #define setobj2n setobj #define setsvalue2n setsvalue #define setttype(obj, tt) (ttype(obj) = (tt)) #define iscollectable(o) (ttype(o) >= LUA_TSTRING) typedef TValue *StkId; /* index to stack elements */ /* ** String headers for string table */ typedef union TString { L_Umaxalign dummy; /* ensures maximum alignment for strings */ struct { CommonHeader; lu_byte reserved; unsigned int hash; size_t len; } tsv; } TString; #define getstr(ts) cast(const char *, (ts) + 1) #define svalue(o) getstr(tsvalue(o)) typedef union Udata { L_Umaxalign dummy; /* ensures maximum alignment for `local' udata */ struct { CommonHeader; struct Table *metatable; struct Table *env; size_t len; } uv; } Udata; /* ** Function Prototypes */ typedef struct Proto { CommonHeader; TValue *k; /* constants used by the function */ Instruction *code; struct Proto **p; /* functions defined inside the function */ int *lineinfo; /* map from opcodes to source lines */ struct LocVar *locvars; /* information about local variables */ TString **upvalues; /* upvalue names */ TString *source; int sizeupvalues; int sizek; /* size of `k' */ int sizecode; int sizelineinfo; int sizep; /* size of `p' */ int sizelocvars; int linedefined; int lastlinedefined; GCObject *gclist; lu_byte nups; /* number of upvalues */ lu_byte numparams; lu_byte is_vararg; lu_byte maxstacksize; } Proto; /* masks for new-style vararg */ #define VARARG_HASARG 1 #define VARARG_ISVARARG 2 #define VARARG_NEEDSARG 4 typedef struct LocVar { TString *varname; int startpc; /* first point where variable is active */ int endpc; /* first point where variable is dead */ } LocVar; /* ** Upvalues */ typedef struct UpVal { CommonHeader; TValue *v; /* points to stack or to its own value */ union { TValue value; /* the value (when closed) */ struct { /* double linked list (when open) */ struct UpVal *prev; struct UpVal *next; } l; } u; } UpVal; /* ** Closures */ #define ClosureHeader \ CommonHeader; lu_byte isC; lu_byte nupvalues; GCObject *gclist; \ struct Table *env typedef struct CClosure { ClosureHeader; lua_CFunction f; TValue upvalue[1]; } CClosure; typedef struct LClosure { ClosureHeader; struct Proto *p; UpVal *upvals[1]; } LClosure; typedef union Closure { CClosure c; LClosure l; } Closure; #define iscfunction(o) (ttype(o) == LUA_TFUNCTION && clvalue(o)->c.isC) #define isLfunction(o) (ttype(o) == LUA_TFUNCTION && !clvalue(o)->c.isC) /* ** Tables */ typedef union TKey { struct { TValuefields; struct Node *next; /* for chaining */ } nk; TValue tvk; } TKey; typedef struct Node { TValue i_val; TKey i_key; } Node; typedef struct Table { CommonHeader; lu_byte flags; /* 1<

lsizenode)) #define luaO_nilobject (&luaO_nilobject_) LUAI_DATA const TValue luaO_nilobject_; #define ceillog2(x) (luaO_log2((x)-1) + 1) LUAI_FUNC int luaO_log2 (unsigned int x); LUAI_FUNC int luaO_int2fb (unsigned int x); LUAI_FUNC int luaO_fb2int (int x); LUAI_FUNC int luaO_rawequalObj (const TValue *t1, const TValue *t2); LUAI_FUNC int luaO_str2d (const char *s, lua_Number *result); LUAI_FUNC const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp); LUAI_FUNC const char *luaO_pushfstring (lua_State *L, const char *fmt, ...); LUAI_FUNC void luaO_chunkid (char *out, const char *source, size_t len); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lopcodes.h0000644000175000017500000001753511451352576017206 00000000000000/* ** $Id$ ** Opcodes for Lua virtual machine ** See Copyright Notice in lua.h */ #ifndef lopcodes_h #define lopcodes_h #include "llimits.h" /*=========================================================================== We assume that instructions are unsigned numbers. All instructions have an opcode in the first 6 bits. Instructions can have the following fields: `A' : 8 bits `B' : 9 bits `C' : 9 bits `Bx' : 18 bits (`B' and `C' together) `sBx' : signed Bx A signed argument is represented in excess K; that is, the number value is the unsigned value minus K. K is exactly the maximum value for that argument (so that -max is represented by 0, and +max is represented by 2*max), which is half the maximum for the corresponding unsigned argument. ===========================================================================*/ enum OpMode {iABC, iABx, iAsBx}; /* basic instruction format */ /* ** size and position of opcode arguments. */ #define SIZE_C 9 #define SIZE_B 9 #define SIZE_Bx (SIZE_C + SIZE_B) #define SIZE_A 8 #define SIZE_OP 6 #define POS_OP 0 #define POS_A (POS_OP + SIZE_OP) #define POS_C (POS_A + SIZE_A) #define POS_B (POS_C + SIZE_C) #define POS_Bx POS_C /* ** limits for opcode arguments. ** we use (signed) int to manipulate most arguments, ** so they must fit in LUAI_BITSINT-1 bits (-1 for sign) */ #if SIZE_Bx < LUAI_BITSINT-1 #define MAXARG_Bx ((1<>1) /* `sBx' is signed */ #else #define MAXARG_Bx MAX_INT #define MAXARG_sBx MAX_INT #endif #define MAXARG_A ((1<>POS_OP) & MASK1(SIZE_OP,0))) #define SET_OPCODE(i,o) ((i) = (((i)&MASK0(SIZE_OP,POS_OP)) | \ ((cast(Instruction, o)<>POS_A) & MASK1(SIZE_A,0))) #define SETARG_A(i,u) ((i) = (((i)&MASK0(SIZE_A,POS_A)) | \ ((cast(Instruction, u)<>POS_B) & MASK1(SIZE_B,0))) #define SETARG_B(i,b) ((i) = (((i)&MASK0(SIZE_B,POS_B)) | \ ((cast(Instruction, b)<>POS_C) & MASK1(SIZE_C,0))) #define SETARG_C(i,b) ((i) = (((i)&MASK0(SIZE_C,POS_C)) | \ ((cast(Instruction, b)<>POS_Bx) & MASK1(SIZE_Bx,0))) #define SETARG_Bx(i,b) ((i) = (((i)&MASK0(SIZE_Bx,POS_Bx)) | \ ((cast(Instruction, b)< C) then pc++ */ OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ OP_RETURN,/* A B return R(A), ... ,R(A+B-2) (see note) */ OP_FORLOOP,/* A sBx R(A)+=R(A+2); if R(A) =) R(A)*/ OP_CLOSURE,/* A Bx R(A) := closure(KPROTO[Bx], R(A), ... ,R(A+n)) */ OP_VARARG/* A B R(A), R(A+1), ..., R(A+B-1) = vararg */ } OpCode; #define NUM_OPCODES (cast(int, OP_VARARG) + 1) /*=========================================================================== Notes: (*) In OP_CALL, if (B == 0) then B = top. C is the number of returns - 1, and can be 0: OP_CALL then sets `top' to last_result+1, so next open instruction (OP_CALL, OP_RETURN, OP_SETLIST) may use `top'. (*) In OP_VARARG, if (B == 0) then use actual number of varargs and set top (like in OP_CALL with C == 0). (*) In OP_RETURN, if (B == 0) then return up to `top' (*) In OP_SETLIST, if (B == 0) then B = `top'; if (C == 0) then next `instruction' is real C (*) For comparisons, A specifies what condition the test should accept (true or false). (*) All `skips' (pc++) assume that next instruction is a jump ===========================================================================*/ /* ** masks for instruction properties. The format is: ** bits 0-1: op mode ** bits 2-3: C arg mode ** bits 4-5: B arg mode ** bit 6: instruction set register A ** bit 7: operator is a test */ enum OpArgMask { OpArgN, /* argument is not used */ OpArgU, /* argument is used */ OpArgR, /* argument is a register or a jump offset */ OpArgK /* argument is a constant or register/constant */ }; LUAI_DATA const lu_byte luaP_opmodes[NUM_OPCODES]; #define getOpMode(m) (cast(enum OpMode, luaP_opmodes[m] & 3)) #define getBMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 4) & 3)) #define getCMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 2) & 3)) #define testAMode(m) (luaP_opmodes[m] & (1 << 6)) #define testTMode(m) (luaP_opmodes[m] & (1 << 7)) LUAI_DATA const char *const luaP_opnames[NUM_OPCODES+1]; /* opcode names */ /* number of list items to accumulate before a SETLIST instruction */ #define LFIELDS_PER_FLUSH 50 #endif gtk-engines-2.20.2/engines/lua/src/liblua/lparser.h0000644000175000017500000000423611451352576017040 00000000000000/* ** $Id$ ** Lua Parser ** See Copyright Notice in lua.h */ #ifndef lparser_h #define lparser_h #include "llimits.h" #include "lobject.h" #include "lzio.h" /* ** Expression descriptor */ typedef enum { VVOID, /* no value */ VNIL, VTRUE, VFALSE, VK, /* info = index of constant in `k' */ VKNUM, /* nval = numerical value */ VLOCAL, /* info = local register */ VUPVAL, /* info = index of upvalue in `upvalues' */ VGLOBAL, /* info = index of table; aux = index of global name in `k' */ VINDEXED, /* info = table register; aux = index register (or `k') */ VJMP, /* info = instruction pc */ VRELOCABLE, /* info = instruction pc */ VNONRELOC, /* info = result register */ VCALL, /* info = instruction pc */ VVARARG /* info = instruction pc */ } expkind; typedef struct expdesc { expkind k; union { struct { int info, aux; } s; lua_Number nval; } u; int t; /* patch list of `exit when true' */ int f; /* patch list of `exit when false' */ } expdesc; typedef struct upvaldesc { lu_byte k; lu_byte info; } upvaldesc; struct BlockCnt; /* defined in lparser.c */ /* state needed to generate code for a given function */ typedef struct FuncState { Proto *f; /* current function header */ Table *h; /* table to find (and reuse) elements in `k' */ struct FuncState *prev; /* enclosing function */ struct LexState *ls; /* lexical state */ struct lua_State *L; /* copy of the Lua state */ struct BlockCnt *bl; /* chain of current blocks */ int pc; /* next position to code (equivalent to `ncode') */ int lasttarget; /* `pc' of last `jump target' */ int jpc; /* list of pending jumps to `pc' */ int freereg; /* first free register */ int nk; /* number of elements in `k' */ int np; /* number of elements in `p' */ short nlocvars; /* number of elements in `locvars' */ lu_byte nactvar; /* number of active local variables */ upvaldesc upvalues[LUAI_MAXUPVALUES]; /* upvalues */ unsigned short actvar[LUAI_MAXVARS]; /* declared-variable stack */ } FuncState; LUAI_FUNC Proto *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, const char *name); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lstate.h0000644000175000017500000001142211451352576016657 00000000000000/* ** $Id$ ** Global State ** See Copyright Notice in lua.h */ #ifndef lstate_h #define lstate_h #include "lua.h" #include "lobject.h" #include "ltm.h" #include "lzio.h" struct lua_longjmp; /* defined in ldo.c */ /* table of globals */ #define gt(L) (&L->l_gt) /* registry */ #define registry(L) (&G(L)->l_registry) /* extra stack space to handle TM calls and some other extras */ #define EXTRA_STACK 5 #define BASIC_CI_SIZE 8 #define BASIC_STACK_SIZE (2*LUA_MINSTACK) typedef struct stringtable { GCObject **hash; lu_int32 nuse; /* number of elements */ int size; } stringtable; /* ** informations about a call */ typedef struct CallInfo { StkId base; /* base for this function */ StkId func; /* function index in the stack */ StkId top; /* top for this function */ const Instruction *savedpc; int nresults; /* expected number of results from this function */ int tailcalls; /* number of tail calls lost under this entry */ } CallInfo; #define curr_func(L) (clvalue(L->ci->func)) #define ci_func(ci) (clvalue((ci)->func)) #define f_isLua(ci) (!ci_func(ci)->c.isC) #define isLua(ci) (ttisfunction((ci)->func) && f_isLua(ci)) /* ** `global state', shared by all threads of this state */ typedef struct global_State { stringtable strt; /* hash table for strings */ lua_Alloc frealloc; /* function to reallocate memory */ void *ud; /* auxiliary data to `frealloc' */ lu_byte currentwhite; lu_byte gcstate; /* state of garbage collector */ int sweepstrgc; /* position of sweep in `strt' */ GCObject *rootgc; /* list of all collectable objects */ GCObject **sweepgc; /* position of sweep in `rootgc' */ GCObject *gray; /* list of gray objects */ GCObject *grayagain; /* list of objects to be traversed atomically */ GCObject *weak; /* list of weak tables (to be cleared) */ GCObject *tmudata; /* last element of list of userdata to be GC */ Mbuffer buff; /* temporary buffer for string concatentation */ lu_mem GCthreshold; lu_mem totalbytes; /* number of bytes currently allocated */ lu_mem estimate; /* an estimate of number of bytes actually in use */ lu_mem gcdept; /* how much GC is `behind schedule' */ int gcpause; /* size of pause between successive GCs */ int gcstepmul; /* GC `granularity' */ lua_CFunction panic; /* to be called in unprotected errors */ TValue l_registry; struct lua_State *mainthread; UpVal uvhead; /* head of double-linked list of all open upvalues */ struct Table *mt[NUM_TAGS]; /* metatables for basic types */ TString *tmname[TM_N]; /* array with tag-method names */ } global_State; /* ** `per thread' state */ struct lua_State { CommonHeader; lu_byte status; StkId top; /* first free slot in the stack */ StkId base; /* base of current function */ global_State *l_G; CallInfo *ci; /* call info for current function */ const Instruction *savedpc; /* `savedpc' of current function */ StkId stack_last; /* last free slot in the stack */ StkId stack; /* stack base */ CallInfo *end_ci; /* points after end of ci array*/ CallInfo *base_ci; /* array of CallInfo's */ int stacksize; int size_ci; /* size of array `base_ci' */ unsigned short nCcalls; /* number of nested C calls */ lu_byte hookmask; lu_byte allowhook; int basehookcount; int hookcount; lua_Hook hook; TValue l_gt; /* table of globals */ TValue env; /* temporary place for environments */ GCObject *openupval; /* list of open upvalues in this stack */ GCObject *gclist; struct lua_longjmp *errorJmp; /* current error recover point */ ptrdiff_t errfunc; /* current error handling function (stack index) */ }; #define G(L) (L->l_G) /* ** Union of all collectable objects */ union GCObject { GCheader gch; union TString ts; union Udata u; union Closure cl; struct Table h; struct Proto p; struct UpVal uv; struct lua_State th; /* thread */ }; /* macros to convert a GCObject into a specific value */ #define rawgco2ts(o) check_exp((o)->gch.tt == LUA_TSTRING, &((o)->ts)) #define gco2ts(o) (&rawgco2ts(o)->tsv) #define rawgco2u(o) check_exp((o)->gch.tt == LUA_TUSERDATA, &((o)->u)) #define gco2u(o) (&rawgco2u(o)->uv) #define gco2cl(o) check_exp((o)->gch.tt == LUA_TFUNCTION, &((o)->cl)) #define gco2h(o) check_exp((o)->gch.tt == LUA_TTABLE, &((o)->h)) #define gco2p(o) check_exp((o)->gch.tt == LUA_TPROTO, &((o)->p)) #define gco2uv(o) check_exp((o)->gch.tt == LUA_TUPVAL, &((o)->uv)) #define ngcotouv(o) \ check_exp((o) == NULL || (o)->gch.tt == LUA_TUPVAL, &((o)->uv)) #define gco2th(o) check_exp((o)->gch.tt == LUA_TTHREAD, &((o)->th)) /* macro to convert any Lua object into a GCObject */ #define obj2gco(v) (cast(GCObject *, (v))) LUAI_FUNC lua_State *luaE_newthread (lua_State *L); LUAI_FUNC void luaE_freethread (lua_State *L, lua_State *L1); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lstring.h0000644000175000017500000000136711451352576017054 00000000000000/* ** $Id$ ** String table (keep all strings handled by Lua) ** See Copyright Notice in lua.h */ #ifndef lstring_h #define lstring_h #include "lgc.h" #include "lobject.h" #include "lstate.h" #define sizestring(s) (sizeof(union TString)+((s)->len+1)*sizeof(char)) #define sizeudata(u) (sizeof(union Udata)+(u)->len) #define luaS_new(L, s) (luaS_newlstr(L, s, strlen(s))) #define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \ (sizeof(s)/sizeof(char))-1)) #define luaS_fix(s) l_setbit((s)->tsv.marked, FIXEDBIT) LUAI_FUNC void luaS_resize (lua_State *L, int newsize); LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e); LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l); #endif gtk-engines-2.20.2/engines/lua/src/liblua/ltable.h0000644000175000017500000000215211451352576016626 00000000000000/* ** $Id$ ** Lua tables (hash) ** See Copyright Notice in lua.h */ #ifndef ltable_h #define ltable_h #include "lobject.h" #define gnode(t,i) (&(t)->node[i]) #define gkey(n) (&(n)->i_key.nk) #define gval(n) (&(n)->i_val) #define gnext(n) ((n)->i_key.nk.next) #define key2tval(n) (&(n)->i_key.tvk) LUAI_FUNC const TValue *luaH_getnum (Table *t, int key); LUAI_FUNC TValue *luaH_setnum (lua_State *L, Table *t, int key); LUAI_FUNC const TValue *luaH_getstr (Table *t, TString *key); LUAI_FUNC TValue *luaH_setstr (lua_State *L, Table *t, TString *key); LUAI_FUNC const TValue *luaH_get (Table *t, const TValue *key); LUAI_FUNC TValue *luaH_set (lua_State *L, Table *t, const TValue *key); LUAI_FUNC Table *luaH_new (lua_State *L, int narray, int lnhash); LUAI_FUNC void luaH_resizearray (lua_State *L, Table *t, int nasize); LUAI_FUNC void luaH_free (lua_State *L, Table *t); LUAI_FUNC int luaH_next (lua_State *L, Table *t, StkId key); LUAI_FUNC int luaH_getn (Table *t); #if defined(LUA_DEBUG) LUAI_FUNC Node *luaH_mainposition (const Table *t, const TValue *key); LUAI_FUNC int luaH_isdummy (Node *n); #endif #endif gtk-engines-2.20.2/engines/lua/src/liblua/ltm.h0000644000175000017500000000171011451352576016156 00000000000000/* ** $Id$ ** Tag methods ** See Copyright Notice in lua.h */ #ifndef ltm_h #define ltm_h #include "lobject.h" /* * WARNING: if you change the order of this enumeration, * grep "ORDER TM" */ typedef enum { TM_INDEX, TM_NEWINDEX, TM_GC, TM_MODE, TM_EQ, /* last tag method with `fast' access */ TM_ADD, TM_SUB, TM_MUL, TM_DIV, TM_MOD, TM_POW, TM_UNM, TM_LEN, TM_LT, TM_LE, TM_CONCAT, TM_CALL, TM_N /* number of elements in the enum */ } TMS; #define gfasttm(g,et,e) ((et) == NULL ? NULL : \ ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e])) #define fasttm(l,et,e) gfasttm(G(l), et, e) LUAI_DATA const char *const luaT_typenames[]; LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename); LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event); LUAI_FUNC void luaT_init (lua_State *L); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lua.h0000644000175000017500000002645411451352576016157 00000000000000/* ** $Id$ ** Lua - An Extensible Extension Language ** Lua.org, PUC-Rio, Brazil (http://www.lua.org) ** See Copyright Notice at the end of this file */ #ifndef lua_h #define lua_h #include #include #include "luaconf.h" #define LUA_VERSION "Lua 5.1" #define LUA_RELEASE "Lua 5.1.1" #define LUA_VERSION_NUM 501 #define LUA_COPYRIGHT "Copyright (C) 1994-2006 Lua.org, PUC-Rio" #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" /* mark for precompiled code (`Lua') */ #define LUA_SIGNATURE "\033Lua" /* option for multiple returns in `lua_pcall' and `lua_call' */ #define LUA_MULTRET (-1) /* ** pseudo-indices */ #define LUA_REGISTRYINDEX (-10000) #define LUA_ENVIRONINDEX (-10001) #define LUA_GLOBALSINDEX (-10002) #define lua_upvalueindex(i) (LUA_GLOBALSINDEX-(i)) /* thread status; 0 is OK */ #define LUA_YIELD 1 #define LUA_ERRRUN 2 #define LUA_ERRSYNTAX 3 #define LUA_ERRMEM 4 #define LUA_ERRERR 5 typedef struct lua_State lua_State; typedef int (*lua_CFunction) (lua_State *L); /* ** functions that read/write blocks when loading/dumping Lua chunks */ typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud); /* ** prototype for memory-allocation functions */ typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); /* ** basic types */ #define LUA_TNONE (-1) #define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define LUA_TLIGHTUSERDATA 2 #define LUA_TNUMBER 3 #define LUA_TSTRING 4 #define LUA_TTABLE 5 #define LUA_TFUNCTION 6 #define LUA_TUSERDATA 7 #define LUA_TTHREAD 8 /* minimum Lua stack available to a C function */ #define LUA_MINSTACK 20 /* ** generic extra include file */ #if defined(LUA_USER_H) #include LUA_USER_H #endif /* type of numbers in Lua */ typedef LUA_NUMBER lua_Number; /* type for integer functions */ typedef LUA_INTEGER lua_Integer; /* ** state manipulation */ LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); LUA_API void (lua_close) (lua_State *L); LUA_API lua_State *(lua_newthread) (lua_State *L); LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); /* ** basic stack manipulation */ LUA_API int (lua_gettop) (lua_State *L); LUA_API void (lua_settop) (lua_State *L, int idx); LUA_API void (lua_pushvalue) (lua_State *L, int idx); LUA_API void (lua_remove) (lua_State *L, int idx); LUA_API void (lua_insert) (lua_State *L, int idx); LUA_API void (lua_replace) (lua_State *L, int idx); LUA_API int (lua_checkstack) (lua_State *L, int sz); LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); /* ** access functions (stack -> C) */ LUA_API int (lua_isnumber) (lua_State *L, int idx); LUA_API int (lua_isstring) (lua_State *L, int idx); LUA_API int (lua_iscfunction) (lua_State *L, int idx); LUA_API int (lua_isuserdata) (lua_State *L, int idx); LUA_API int (lua_type) (lua_State *L, int idx); LUA_API const char *(lua_typename) (lua_State *L, int tp); LUA_API int (lua_equal) (lua_State *L, int idx1, int idx2); LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); LUA_API int (lua_lessthan) (lua_State *L, int idx1, int idx2); LUA_API lua_Number (lua_tonumber) (lua_State *L, int idx); LUA_API lua_Integer (lua_tointeger) (lua_State *L, int idx); LUA_API int (lua_toboolean) (lua_State *L, int idx); LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); LUA_API size_t (lua_objlen) (lua_State *L, int idx); LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); LUA_API void *(lua_touserdata) (lua_State *L, int idx); LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); LUA_API const void *(lua_topointer) (lua_State *L, int idx); /* ** push functions (C -> stack) */ LUA_API void (lua_pushnil) (lua_State *L); LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); LUA_API void (lua_pushlstring) (lua_State *L, const char *s, size_t l); LUA_API void (lua_pushstring) (lua_State *L, const char *s); LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, va_list argp); LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); LUA_API void (lua_pushboolean) (lua_State *L, int b); LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); LUA_API int (lua_pushthread) (lua_State *L); /* ** get functions (Lua -> stack) */ LUA_API void (lua_gettable) (lua_State *L, int idx); LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k); LUA_API void (lua_rawget) (lua_State *L, int idx); LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n); LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); LUA_API int (lua_getmetatable) (lua_State *L, int objindex); LUA_API void (lua_getfenv) (lua_State *L, int idx); /* ** set functions (stack -> Lua) */ LUA_API void (lua_settable) (lua_State *L, int idx); LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); LUA_API void (lua_rawset) (lua_State *L, int idx); LUA_API void (lua_rawseti) (lua_State *L, int idx, int n); LUA_API int (lua_setmetatable) (lua_State *L, int objindex); LUA_API int (lua_setfenv) (lua_State *L, int idx); /* ** `load' and `call' functions (load and run Lua code) */ LUA_API void (lua_call) (lua_State *L, int nargs, int nresults); LUA_API int (lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc); LUA_API int (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud); LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, const char *chunkname); LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); /* ** coroutine functions */ LUA_API int (lua_yield) (lua_State *L, int nresults); LUA_API int (lua_resume) (lua_State *L, int narg); LUA_API int (lua_status) (lua_State *L); /* ** garbage-collection function and options */ #define LUA_GCSTOP 0 #define LUA_GCRESTART 1 #define LUA_GCCOLLECT 2 #define LUA_GCCOUNT 3 #define LUA_GCCOUNTB 4 #define LUA_GCSTEP 5 #define LUA_GCSETPAUSE 6 #define LUA_GCSETSTEPMUL 7 LUA_API int (lua_gc) (lua_State *L, int what, int data); /* ** miscellaneous functions */ LUA_API int (lua_error) (lua_State *L); LUA_API int (lua_next) (lua_State *L, int idx); LUA_API void (lua_concat) (lua_State *L, int n); LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud); /* ** =============================================================== ** some useful macros ** =============================================================== */ #define lua_pop(L,n) lua_settop(L, -(n)-1) #define lua_newtable(L) lua_createtable(L, 0, 0) #define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) #define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) #define lua_strlen(L,i) lua_objlen(L, (i)) #define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) #define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) #define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) #define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) #define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) #define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) #define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) #define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) #define lua_pushliteral(L, s) \ lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1) #define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, (s)) #define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, (s)) #define lua_tostring(L,i) lua_tolstring(L, (i), NULL) /* ** compatibility macros and functions */ #define lua_open() luaL_newstate() #define lua_getregistry(L) lua_pushvalue(L, LUA_REGISTRYINDEX) #define lua_getgccount(L) lua_gc(L, LUA_GCCOUNT, 0) #define lua_Chunkreader lua_Reader #define lua_Chunkwriter lua_Writer /* ** {====================================================================== ** Debug API ** ======================================================================= */ /* ** Event codes */ #define LUA_HOOKCALL 0 #define LUA_HOOKRET 1 #define LUA_HOOKLINE 2 #define LUA_HOOKCOUNT 3 #define LUA_HOOKTAILRET 4 /* ** Event masks */ #define LUA_MASKCALL (1 << LUA_HOOKCALL) #define LUA_MASKRET (1 << LUA_HOOKRET) #define LUA_MASKLINE (1 << LUA_HOOKLINE) #define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) typedef struct lua_Debug lua_Debug; /* activation record */ /* Functions to be called by the debuger in specific events */ typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar); LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar); LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n); LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n); LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n); LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n); LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count); LUA_API lua_Hook lua_gethook (lua_State *L); LUA_API int lua_gethookmask (lua_State *L); LUA_API int lua_gethookcount (lua_State *L); struct lua_Debug { int event; const char *name; /* (n) */ const char *namewhat; /* (n) `global', `local', `field', `method' */ const char *what; /* (S) `Lua', `C', `main', `tail' */ const char *source; /* (S) */ int currentline; /* (l) */ int nups; /* (u) number of upvalues */ int linedefined; /* (S) */ int lastlinedefined; /* (S) */ char short_src[LUA_IDSIZE]; /* (S) */ /* private part */ int i_ci; /* active function */ }; /* }====================================================================== */ /****************************************************************************** * Copyright (C) 1994-2006 Lua.org, PUC-Rio. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ******************************************************************************/ #endif gtk-engines-2.20.2/engines/lua/src/liblua/luaconf.h0000644000175000017500000005325111451352576017020 00000000000000/* ** $Id$ ** Configuration file for Lua ** See Copyright Notice in lua.h */ #ifndef lconfig_h #define lconfig_h #include #include /* ** ================================================================== ** Search for "@@" to find all configurable definitions. ** =================================================================== */ /* @@ LUA_ANSI controls the use of non-ansi features. ** CHANGE it (define it) if you want Lua to avoid the use of any ** non-ansi feature or library. */ #if defined(__STRICT_ANSI__) #define LUA_ANSI #endif #if !defined(LUA_ANSI) && defined(_WIN32) #define LUA_WIN #endif #if defined(LUA_USE_LINUX) #define LUA_USE_POSIX #define LUA_USE_DLOPEN /* needs an extra library: -ldl */ #define LUA_USE_READLINE /* needs some extra libraries */ #endif #if defined(LUA_USE_MACOSX) #define LUA_USE_POSIX #define LUA_DL_DYLD /* does not need extra library */ #endif /* @@ LUA_USE_POSIX includes all functionallity listed as X/Open System @* Interfaces Extension (XSI). ** CHANGE it (define it) if your system is XSI compatible. */ #if defined(LUA_USE_POSIX) #define LUA_USE_MKSTEMP #define LUA_USE_ISATTY #define LUA_USE_POPEN #define LUA_USE_ULONGJMP #endif /* @@ LUA_PATH and LUA_CPATH are the names of the environment variables that @* Lua check to set its paths. @@ LUA_INIT is the name of the environment variable that Lua @* checks for initialization code. ** CHANGE them if you want different names. */ #define LUA_PATH "LUA_PATH" #define LUA_CPATH "LUA_CPATH" #define LUA_INIT "LUA_INIT" /* @@ LUA_PATH_DEFAULT is the default path that Lua uses to look for @* Lua libraries. @@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for @* C libraries. ** CHANGE them if your machine has a non-conventional directory ** hierarchy or if you want to install your libraries in ** non-conventional directories. */ #if defined(_WIN32) /* ** In Windows, any exclamation mark ('!') in the path is replaced by the ** path of the directory of the executable file of the current process. */ #define LUA_LDIR "!\\lua\\" #define LUA_CDIR "!\\" #define LUA_PATH_DEFAULT \ ".\\?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua" #define LUA_CPATH_DEFAULT \ ".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll" #else #define LUA_ROOT "/usr/local/" #define LUA_LDIR LUA_ROOT "share/lua/5.1/" #define LUA_CDIR LUA_ROOT "lib/lua/5.1/" #define LUA_PATH_DEFAULT \ "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua" #define LUA_CPATH_DEFAULT \ "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so" #endif /* @@ LUA_DIRSEP is the directory separator (for submodules). ** CHANGE it if your machine does not use "/" as the directory separator ** and is not Windows. (On Windows Lua automatically uses "\".) */ #if defined(_WIN32) #define LUA_DIRSEP "\\" #else #define LUA_DIRSEP "/" #endif /* @@ LUA_PATHSEP is the character that separates templates in a path. @@ LUA_PATH_MARK is the string that marks the substitution points in a @* template. @@ LUA_EXECDIR in a Windows path is replaced by the executable's @* directory. @@ LUA_IGMARK is a mark to ignore all before it when bulding the @* luaopen_ function name. ** CHANGE them if for some reason your system cannot use those ** characters. (E.g., if one of those characters is a common character ** in file/directory names.) Probably you do not need to change them. */ #define LUA_PATHSEP ";" #define LUA_PATH_MARK "?" #define LUA_EXECDIR "!" #define LUA_IGMARK "-" /* @@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger. ** CHANGE that if ptrdiff_t is not adequate on your machine. (On most ** machines, ptrdiff_t gives a good choice between int or long.) */ #define LUA_INTEGER ptrdiff_t /* @@ LUA_API is a mark for all core API functions. @@ LUALIB_API is a mark for all standard library functions. ** CHANGE them if you need to define those functions in some special way. ** For instance, if you want to create one Windows DLL with the core and ** the libraries, you may want to use the following definition (define ** LUA_BUILD_AS_DLL to get it). */ #if defined(LUA_BUILD_AS_DLL) #if defined(LUA_CORE) || defined(LUA_LIB) #define LUA_API __declspec(dllexport) #else #define LUA_API __declspec(dllimport) #endif #else #define LUA_API extern #endif /* more often than not the libs go together with the core */ #define LUALIB_API LUA_API /* @@ LUAI_FUNC is a mark for all extern functions that are not to be @* exported to outside modules. @@ LUAI_DATA is a mark for all extern (const) variables that are not to @* be exported to outside modules. ** CHANGE them if you need to mark them in some special way. Elf/gcc ** (versions 3.2 and later) mark them as "hidden" to optimize access ** when Lua is compiled as a shared library. */ #if defined(luaall_c) #define LUAI_FUNC static #define LUAI_DATA /* empty */ #elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ defined(__ELF__) #define LUAI_FUNC __attribute__((visibility("hidden"))) extern #define LUAI_DATA LUAI_FUNC #else #define LUAI_FUNC extern #define LUAI_DATA extern #endif /* @@ LUA_QL describes how error messages quote program elements. ** CHANGE it if you want a different appearance. */ #define LUA_QL(x) "'" x "'" #define LUA_QS LUA_QL("%s") /* @@ LUA_IDSIZE gives the maximum size for the description of the source @* of a function in debug information. ** CHANGE it if you want a different size. */ #define LUA_IDSIZE 60 /* ** {================================================================== ** Stand-alone configuration ** =================================================================== */ #if defined(lua_c) || defined(luaall_c) /* @@ lua_stdin_is_tty detects whether the standard input is a 'tty' (that @* is, whether we're running lua interactively). ** CHANGE it if you have a better definition for non-POSIX/non-Windows ** systems. */ #if defined(LUA_USE_ISATTY) #include #define lua_stdin_is_tty() isatty(0) #elif defined(LUA_WIN) #include #include #define lua_stdin_is_tty() _isatty(_fileno(stdin)) #else #define lua_stdin_is_tty() 1 /* assume stdin is a tty */ #endif /* @@ LUA_PROMPT is the default prompt used by stand-alone Lua. @@ LUA_PROMPT2 is the default continuation prompt used by stand-alone Lua. ** CHANGE them if you want different prompts. (You can also change the ** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.) */ #define LUA_PROMPT "> " #define LUA_PROMPT2 ">> " /* @@ LUA_PROGNAME is the default name for the stand-alone Lua program. ** CHANGE it if your stand-alone interpreter has a different name and ** your system is not able to detect that name automatically. */ #define LUA_PROGNAME "lua" /* @@ LUA_MAXINPUT is the maximum length for an input line in the @* stand-alone interpreter. ** CHANGE it if you need longer lines. */ #define LUA_MAXINPUT 512 /* @@ lua_readline defines how to show a prompt and then read a line from @* the standard input. @@ lua_saveline defines how to "save" a read line in a "history". @@ lua_freeline defines how to free a line read by lua_readline. ** CHANGE them if you want to improve this functionality (e.g., by using ** GNU readline and history facilities). */ #if defined(LUA_USE_READLINE) #include #include #include #define lua_readline(L,b,p) ((void)L, ((b)=readline(p)) != NULL) #define lua_saveline(L,idx) \ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \ add_history(lua_tostring(L, idx)); /* add it to history */ #define lua_freeline(L,b) ((void)L, free(b)) #else #define lua_readline(L,b,p) \ ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */ #define lua_saveline(L,idx) { (void)L; (void)idx; } #define lua_freeline(L,b) { (void)L; (void)b; } #endif #endif /* }================================================================== */ /* @@ LUAI_GCPAUSE defines the default pause between garbage-collector cycles @* as a percentage. ** CHANGE it if you want the GC to run faster or slower (higher values ** mean larger pauses which mean slower collection.) You can also change ** this value dynamically. */ #define LUAI_GCPAUSE 200 /* 200% (wait memory to double before next GC) */ /* @@ LUAI_GCMUL defines the default speed of garbage collection relative to @* memory allocation as a percentage. ** CHANGE it if you want to change the granularity of the garbage ** collection. (Higher values mean coarser collections. 0 represents ** infinity, where each step performs a full collection.) You can also ** change this value dynamically. */ #define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */ /* @@ LUA_COMPAT_GETN controls compatibility with old getn behavior. ** CHANGE it (define it) if you want exact compatibility with the ** behavior of setn/getn in Lua 5.0. */ #undef LUA_COMPAT_GETN /* @@ LUA_COMPAT_LOADLIB controls compatibility about global loadlib. ** CHANGE it to undefined as soon as you do not need a global 'loadlib' ** function (the function is still available as 'package.loadlib'). */ #undef LUA_COMPAT_LOADLIB /* @@ LUA_COMPAT_VARARG controls compatibility with old vararg feature. ** CHANGE it to undefined as soon as your programs use only '...' to ** access vararg parameters (instead of the old 'arg' table). */ #define LUA_COMPAT_VARARG /* @@ LUA_COMPAT_MOD controls compatibility with old math.mod function. ** CHANGE it to undefined as soon as your programs use 'math.fmod' or ** the new '%' operator instead of 'math.mod'. */ #define LUA_COMPAT_MOD /* @@ LUA_COMPAT_LSTR controls compatibility with old long string nesting @* facility. ** CHANGE it to 2 if you want the old behaviour, or undefine it to turn ** off the advisory error when nesting [[...]]. */ #define LUA_COMPAT_LSTR 1 /* @@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name. ** CHANGE it to undefined as soon as you rename 'string.gfind' to ** 'string.gmatch'. */ #define LUA_COMPAT_GFIND /* @@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib' @* behavior. ** CHANGE it to undefined as soon as you replace to 'luaL_registry' ** your uses of 'luaL_openlib' */ #define LUA_COMPAT_OPENLIB /* @@ luai_apicheck is the assert macro used by the Lua-C API. ** CHANGE luai_apicheck if you want Lua to perform some checks in the ** parameters it gets from API calls. This may slow down the interpreter ** a bit, but may be quite useful when debugging C code that interfaces ** with Lua. A useful redefinition is to use assert.h. */ #if defined(LUA_USE_APICHECK) #include #define luai_apicheck(L,o) { (void)L; assert(o); } #else #define luai_apicheck(L,o) { (void)L; } #endif /* @@ LUAI_BITSINT defines the number of bits in an int. ** CHANGE here if Lua cannot automatically detect the number of bits of ** your machine. Probably you do not need to change this. */ /* avoid overflows in comparison */ #if INT_MAX-20 < 32760 #define LUAI_BITSINT 16 #elif INT_MAX > 2147483640L /* int has at least 32 bits */ #define LUAI_BITSINT 32 #else #error "you must define LUA_BITSINT with number of bits in an integer" #endif /* @@ LUAI_UINT32 is an unsigned integer with at least 32 bits. @@ LUAI_INT32 is an signed integer with at least 32 bits. @@ LUAI_UMEM is an unsigned integer big enough to count the total @* memory used by Lua. @@ LUAI_MEM is a signed integer big enough to count the total memory @* used by Lua. ** CHANGE here if for some weird reason the default definitions are not ** good enough for your machine. (The definitions in the 'else' ** part always works, but may waste space on machines with 64-bit ** longs.) Probably you do not need to change this. */ #if LUAI_BITSINT >= 32 #define LUAI_UINT32 unsigned int #define LUAI_INT32 int #define LUAI_MAXINT32 INT_MAX #define LUAI_UMEM size_t #define LUAI_MEM ptrdiff_t #else /* 16-bit ints */ #define LUAI_UINT32 unsigned long #define LUAI_INT32 long #define LUAI_MAXINT32 LONG_MAX #define LUAI_UMEM unsigned long #define LUAI_MEM long #endif /* @@ LUAI_MAXCALLS limits the number of nested calls. ** CHANGE it if you need really deep recursive calls. This limit is ** arbitrary; its only purpose is to stop infinite recursion before ** exhausting memory. */ #define LUAI_MAXCALLS 20000 /* @@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function @* can use. ** CHANGE it if you need lots of (Lua) stack space for your C ** functions. This limit is arbitrary; its only purpose is to stop C ** functions to consume unlimited stack space. */ #define LUAI_MAXCSTACK 2048 /* ** {================================================================== ** CHANGE (to smaller values) the following definitions if your system ** has a small C stack. (Or you may want to change them to larger ** values if your system has a large C stack and these limits are ** too rigid for you.) Some of these constants control the size of ** stack-allocated arrays used by the compiler or the interpreter, while ** others limit the maximum number of recursive calls that the compiler ** or the interpreter can perform. Values too large may cause a C stack ** overflow for some forms of deep constructs. ** =================================================================== */ /* @@ LUAI_MAXCCALLS is the maximum depth for nested C calls (short) and @* syntactical nested non-terminals in a program. */ #define LUAI_MAXCCALLS 200 /* @@ LUAI_MAXVARS is the maximum number of local variables per function @* (must be smaller than 250). */ #define LUAI_MAXVARS 200 /* @@ LUAI_MAXUPVALUES is the maximum number of upvalues per function @* (must be smaller than 250). */ #define LUAI_MAXUPVALUES 60 /* @@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. */ #define LUAL_BUFFERSIZE BUFSIZ /* }================================================================== */ /* ** {================================================================== @@ LUA_NUMBER is the type of numbers in Lua. ** CHANGE the following definitions only if you want to build Lua ** with a number type different from double. You may also need to ** change lua_number2int & lua_number2integer. ** =================================================================== */ #define LUA_NUMBER_DOUBLE #define LUA_NUMBER double /* @@ LUAI_UACNUMBER is the result of an 'usual argument conversion' @* over a number. */ #define LUAI_UACNUMBER double /* @@ LUA_NUMBER_SCAN is the format for reading numbers. @@ LUA_NUMBER_FMT is the format for writing numbers. @@ lua_number2str converts a number to a string. @@ LUAI_MAXNUMBER2STR is maximum size of previous conversion. @@ lua_str2number converts a string to a number. */ #define LUA_NUMBER_SCAN "%lf" #define LUA_NUMBER_FMT "%.14g" #define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) #define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */ #define lua_str2number(s,p) strtod((s), (p)) /* @@ The luai_num* macros define the primitive operations over numbers. */ #if defined(LUA_CORE) #include #define luai_numadd(a,b) ((a)+(b)) #define luai_numsub(a,b) ((a)-(b)) #define luai_nummul(a,b) ((a)*(b)) #define luai_numdiv(a,b) ((a)/(b)) #define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) #define luai_numpow(a,b) (pow(a,b)) #define luai_numunm(a) (-(a)) #define luai_numeq(a,b) ((a)==(b)) #define luai_numlt(a,b) ((a)<(b)) #define luai_numle(a,b) ((a)<=(b)) #define luai_numisnan(a) (!luai_numeq((a), (a))) #endif /* @@ lua_number2int is a macro to convert lua_Number to int. @@ lua_number2integer is a macro to convert lua_Number to lua_Integer. ** CHANGE them if you know a faster way to convert a lua_Number to ** int (with any rounding method and without throwing errors) in your ** system. In Pentium machines, a naive typecast from double to int ** in C is extremely slow, so any alternative is worth trying. */ /* On a Pentium, resort to a trick */ #if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \ (defined(__i386) || defined (_M_IX86) || defined(__i386__)) /* On a Microsoft compiler, use assembler */ #if defined(_MSC_VER) #define lua_number2int(i,d) __asm fld d __asm fistp i #define lua_number2integer(i,n) lua_number2int(i, n) /* the next trick should work on any Pentium, but sometimes clashes with a DirectX idiosyncrasy */ #else union luai_Cast { double l_d; long l_l; }; #define lua_number2int(i,d) \ { volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = u.l_l; } #define lua_number2integer(i,n) lua_number2int(i, n) #endif /* this option always works, but may be slow */ #else #define lua_number2int(i,d) ((i)=(int)(d)) #define lua_number2integer(i,d) ((i)=(lua_Integer)(d)) #endif /* }================================================================== */ /* @@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment. ** CHANGE it if your system requires alignments larger than double. (For ** instance, if your system supports long doubles and they must be ** aligned in 16-byte boundaries, then you should add long double in the ** union.) Probably you do not need to change this. */ #define LUAI_USER_ALIGNMENT_T union { double u; void *s; long l; } /* @@ LUAI_THROW/LUAI_TRY define how Lua does exception handling. ** CHANGE them if you prefer to use longjmp/setjmp even with C++ ** or if want/don't to use _longjmp/_setjmp instead of regular ** longjmp/setjmp. By default, Lua handles errors with exceptions when ** compiling as C++ code, with _longjmp/_setjmp when asked to use them, ** and with longjmp/setjmp otherwise. */ #if defined(__cplusplus) /* C++ exceptions */ #define LUAI_THROW(L,c) throw(c) #define LUAI_TRY(L,c,a) try { a } catch(...) \ { if ((c)->status == 0) (c)->status = -1; } #define luai_jmpbuf int /* dummy variable */ #elif defined(LUA_USE_ULONGJMP) /* in Unix, try _longjmp/_setjmp (more efficient) */ #define LUAI_THROW(L,c) _longjmp((c)->b, 1) #define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a } #define luai_jmpbuf jmp_buf #else /* default handling with long jumps */ #define LUAI_THROW(L,c) longjmp((c)->b, 1) #define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a } #define luai_jmpbuf jmp_buf #endif /* @@ LUA_MAXCAPTURES is the maximum number of captures that a pattern @* can do during pattern-matching. ** CHANGE it if you need more captures. This limit is arbitrary. */ #define LUA_MAXCAPTURES 32 /* @@ lua_tmpnam is the function that the OS library uses to create a @* temporary name. @@ LUA_TMPNAMBUFSIZE is the maximum size of a name created by lua_tmpnam. ** CHANGE them if you have an alternative to tmpnam (which is considered ** insecure) or if you want the original tmpnam anyway. By default, Lua ** uses tmpnam except when POSIX is available, where it uses mkstemp. */ #if defined(loslib_c) || defined(luaall_c) #if defined(LUA_USE_MKSTEMP) #include #define LUA_TMPNAMBUFSIZE 32 #define lua_tmpnam(b,e) { \ strcpy(b, "/tmp/lua_XXXXXX"); \ e = mkstemp(b); \ if (e != -1) close(e); \ e = (e == -1); } #else #define LUA_TMPNAMBUFSIZE L_tmpnam #define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); } #endif #endif /* @@ lua_popen spawns a new process connected to the current one through @* the file streams. ** CHANGE it if you have a way to implement it in your system. */ #if defined(LUA_USE_POPEN) #define lua_popen(L,c,m) ((void)L, popen(c,m)) #define lua_pclose(L,file) ((void)L, (pclose(file) != -1)) #elif defined(LUA_WIN) #define lua_popen(L,c,m) ((void)L, _popen(c,m)) #define lua_pclose(L,file) ((void)L, (_pclose(file) != -1)) #else #define lua_popen(L,c,m) ((void)((void)c, m), \ luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0) #define lua_pclose(L,file) ((void)((void)L, file), 0) #endif /* @@ LUA_DL_* define which dynamic-library system Lua should use. ** CHANGE here if Lua has problems choosing the appropriate ** dynamic-library system for your platform (either Windows' DLL, Mac's ** dyld, or Unix's dlopen). If your system is some kind of Unix, there ** is a good chance that it has dlopen, so LUA_DL_DLOPEN will work for ** it. To use dlopen you also need to adapt the src/Makefile (probably ** adding -ldl to the linker options), so Lua does not select it ** automatically. (When you change the makefile to add -ldl, you must ** also add -DLUA_USE_DLOPEN.) ** If you do not want any kind of dynamic library, undefine all these ** options. ** By default, _WIN32 gets LUA_DL_DLL and MAC OS X gets LUA_DL_DYLD. */ #if defined(LUA_USE_DLOPEN) #define LUA_DL_DLOPEN #endif #if defined(LUA_WIN) #define LUA_DL_DLL #endif /* @@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State @* (the data goes just *before* the lua_State pointer). ** CHANGE (define) this if you really need that. This value must be ** a multiple of the maximum alignment required for your machine. */ #define LUAI_EXTRASPACE 0 /* @@ luai_userstate* allow user-specific actions on threads. ** CHANGE them if you defined LUAI_EXTRASPACE and need to do something ** extra when a thread is created/deleted/resumed/yielded. */ #define luai_userstateopen(L) ((void)L) #define luai_userstateclose(L) ((void)L) #define luai_userstatethread(L,L1) ((void)L) #define luai_userstatefree(L) ((void)L) #define luai_userstateresume(L,n) ((void)L) #define luai_userstateyield(L,n) ((void)L) /* @@ LUA_INTFRMLEN is the length modifier for integer conversions @* in 'string.format'. @@ LUA_INTFRM_T is the integer type correspoding to the previous length @* modifier. ** CHANGE them if your system supports long long or does not support long. */ #if defined(LUA_USELONGLONG) #define LUA_INTFRMLEN "ll" #define LUA_INTFRM_T long long #else #define LUA_INTFRMLEN "l" #define LUA_INTFRM_T long #endif /* =================================================================== */ /* ** Local configuration. You can use this space to add your redefinitions ** without modifying the main part of the file. */ #endif gtk-engines-2.20.2/engines/lua/src/liblua/lualib.h0000644000175000017500000000171411451352576016636 00000000000000/* ** $Id$ ** Lua standard libraries ** See Copyright Notice in lua.h */ #ifndef lualib_h #define lualib_h #include "lua.h" /* Key to file-handle type */ #define LUA_FILEHANDLE "FILE*" #define LUA_COLIBNAME "coroutine" LUALIB_API int (luaopen_base) (lua_State *L); #define LUA_TABLIBNAME "table" LUALIB_API int (luaopen_table) (lua_State *L); #define LUA_IOLIBNAME "io" LUALIB_API int (luaopen_io) (lua_State *L); #define LUA_OSLIBNAME "os" LUALIB_API int (luaopen_os) (lua_State *L); #define LUA_STRLIBNAME "string" LUALIB_API int (luaopen_string) (lua_State *L); #define LUA_MATHLIBNAME "math" LUALIB_API int (luaopen_math) (lua_State *L); #define LUA_DBLIBNAME "debug" LUALIB_API int (luaopen_debug) (lua_State *L); #define LUA_LOADLIBNAME "package" LUALIB_API int (luaopen_package) (lua_State *L); /* open all previous libraries */ LUALIB_API void (luaL_openlibs) (lua_State *L); #ifndef lua_assert #define lua_assert(x) ((void)0) #endif #endif gtk-engines-2.20.2/engines/lua/src/liblua/lundump.h0000644000175000017500000000150311451352576017046 00000000000000/* ** $Id$ ** load precompiled Lua chunks ** See Copyright Notice in lua.h */ #ifndef lundump_h #define lundump_h #include "lobject.h" #include "lzio.h" /* load one chunk; from lundump.c */ LUAI_FUNC Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name); /* make header; from lundump.c */ LUAI_FUNC void luaU_header (char* h); /* dump one chunk; from ldump.c */ LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); #ifdef luac_c /* print one chunk; from print.c */ LUAI_FUNC void luaU_print (const Proto* f, int full); #endif /* for header of binary files -- this is Lua 5.1 */ #define LUAC_VERSION 0x51 /* for header of binary files -- this is the official format */ #define LUAC_FORMAT 0 /* size of header of binary files */ #define LUAC_HEADERSIZE 12 #endif gtk-engines-2.20.2/engines/lua/src/liblua/lvm.h0000644000175000017500000000212511451352576016161 00000000000000/* ** $Id$ ** Lua virtual machine ** See Copyright Notice in lua.h */ #ifndef lvm_h #define lvm_h #include "ldo.h" #include "lobject.h" #include "ltm.h" #define tostring(L,o) ((ttype(o) == LUA_TSTRING) || (luaV_tostring(L, o))) #define tonumber(o,n) (ttype(o) == LUA_TNUMBER || \ (((o) = luaV_tonumber(o,n)) != NULL)) #define equalobj(L,o1,o2) \ (ttype(o1) == ttype(o2) && luaV_equalval(L, o1, o2)) LUAI_FUNC int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r); LUAI_FUNC int luaV_equalval (lua_State *L, const TValue *t1, const TValue *t2); LUAI_FUNC const TValue *luaV_tonumber (const TValue *obj, TValue *n); LUAI_FUNC int luaV_tostring (lua_State *L, StkId obj); LUAI_FUNC void luaV_gettable (lua_State *L, const TValue *t, TValue *key, StkId val); LUAI_FUNC void luaV_settable (lua_State *L, const TValue *t, TValue *key, StkId val); LUAI_FUNC void luaV_execute (lua_State *L, int nexeccalls); LUAI_FUNC void luaV_concat (lua_State *L, int total, int last); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lzio.h0000644000175000017500000000274011451352576016343 00000000000000/* ** $Id$ ** Buffered streams ** See Copyright Notice in lua.h */ #ifndef lzio_h #define lzio_h #include "lua.h" #include "lmem.h" #define EOZ (-1) /* end of stream */ typedef struct Zio ZIO; #define char2int(c) cast(int, cast(unsigned char, (c))) #define zgetc(z) (((z)->n--)>0 ? char2int(*(z)->p++) : luaZ_fill(z)) typedef struct Mbuffer { char *buffer; size_t n; size_t buffsize; } Mbuffer; #define luaZ_initbuffer(L, buff) ((buff)->buffer = NULL, (buff)->buffsize = 0) #define luaZ_buffer(buff) ((buff)->buffer) #define luaZ_sizebuffer(buff) ((buff)->buffsize) #define luaZ_bufflen(buff) ((buff)->n) #define luaZ_resetbuffer(buff) ((buff)->n = 0) #define luaZ_resizebuffer(L, buff, size) \ (luaM_reallocvector(L, (buff)->buffer, (buff)->buffsize, size, char), \ (buff)->buffsize = size) #define luaZ_freebuffer(L, buff) luaZ_resizebuffer(L, buff, 0) LUAI_FUNC char *luaZ_openspace (lua_State *L, Mbuffer *buff, size_t n); LUAI_FUNC void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, void *data); LUAI_FUNC size_t luaZ_read (ZIO* z, void* b, size_t n); /* read next n bytes */ LUAI_FUNC int luaZ_lookahead (ZIO *z); /* --------- Private Part ------------------ */ struct Zio { size_t n; /* bytes still unread */ const char *p; /* current position in buffer */ lua_Reader reader; void* data; /* additional data */ lua_State *L; /* Lua state (for reader) */ }; LUAI_FUNC int luaZ_fill (ZIO *z); #endif gtk-engines-2.20.2/engines/lua/src/liblua/lapi.c0000644000175000017500000005371611451352576016317 00000000000000/* ** $Id$ ** Lua API ** See Copyright Notice in lua.h */ #include #include #include #include #define lapi_c #define LUA_CORE #include "lua.h" #include "lapi.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "lgc.h" #include "lmem.h" #include "lobject.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "ltm.h" #include "lundump.h" #include "lvm.h" const char lua_ident[] = "$Lua: " LUA_RELEASE " " LUA_COPYRIGHT " $\n" "$Authors: " LUA_AUTHORS " $\n" "$URL: www.lua.org $\n"; #define api_checknelems(L, n) api_check(L, (n) <= (L->top - L->base)) #define api_checkvalidindex(L, i) api_check(L, (i) != luaO_nilobject) #define api_incr_top(L) {api_check(L, L->top < L->ci->top); L->top++;} static TValue *index2adr (lua_State *L, int idx) { if (idx > 0) { TValue *o = L->base + (idx - 1); api_check(L, idx <= L->ci->top - L->base); if (o >= L->top) return cast(TValue *, luaO_nilobject); else return o; } else if (idx > LUA_REGISTRYINDEX) { api_check(L, idx != 0 && -idx <= L->top - L->base); return L->top + idx; } else switch (idx) { /* pseudo-indices */ case LUA_REGISTRYINDEX: return registry(L); case LUA_ENVIRONINDEX: { Closure *func = curr_func(L); sethvalue(L, &L->env, func->c.env); return &L->env; } case LUA_GLOBALSINDEX: return gt(L); default: { Closure *func = curr_func(L); idx = LUA_GLOBALSINDEX - idx; return (idx <= func->c.nupvalues) ? &func->c.upvalue[idx-1] : cast(TValue *, luaO_nilobject); } } } static Table *getcurrenv (lua_State *L) { if (L->ci == L->base_ci) /* no enclosing function? */ return hvalue(gt(L)); /* use global table as environment */ else { Closure *func = curr_func(L); return func->c.env; } } void luaA_pushobject (lua_State *L, const TValue *o) { setobj2s(L, L->top, o); api_incr_top(L); } LUA_API int lua_checkstack (lua_State *L, int size) { int res; lua_lock(L); if ((L->top - L->base + size) > LUAI_MAXCSTACK) res = 0; /* stack overflow */ else { luaD_checkstack(L, size); if (L->ci->top < L->top + size) L->ci->top = L->top + size; res = 1; } lua_unlock(L); return res; } LUA_API void lua_xmove (lua_State *from, lua_State *to, int n) { int i; if (from == to) return; lua_lock(to); api_checknelems(from, n); api_check(from, G(from) == G(to)); api_check(from, to->ci->top - to->top >= n); from->top -= n; for (i = 0; i < n; i++) { setobj2s(to, to->top++, from->top + i); } lua_unlock(to); } LUA_API lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) { lua_CFunction old; lua_lock(L); old = G(L)->panic; G(L)->panic = panicf; lua_unlock(L); return old; } LUA_API lua_State *lua_newthread (lua_State *L) { lua_State *L1; lua_lock(L); luaC_checkGC(L); L1 = luaE_newthread(L); setthvalue(L, L->top, L1); api_incr_top(L); lua_unlock(L); luai_userstatethread(L, L1); return L1; } /* ** basic stack manipulation */ LUA_API int lua_gettop (lua_State *L) { return cast_int(L->top - L->base); } LUA_API void lua_settop (lua_State *L, int idx) { lua_lock(L); if (idx >= 0) { api_check(L, idx <= L->stack_last - L->base); while (L->top < L->base + idx) setnilvalue(L->top++); L->top = L->base + idx; } else { api_check(L, -(idx+1) <= (L->top - L->base)); L->top += idx+1; /* `subtract' index (index is negative) */ } lua_unlock(L); } LUA_API void lua_remove (lua_State *L, int idx) { StkId p; lua_lock(L); p = index2adr(L, idx); api_checkvalidindex(L, p); while (++p < L->top) setobjs2s(L, p-1, p); L->top--; lua_unlock(L); } LUA_API void lua_insert (lua_State *L, int idx) { StkId p; StkId q; lua_lock(L); p = index2adr(L, idx); api_checkvalidindex(L, p); for (q = L->top; q>p; q--) setobjs2s(L, q, q-1); setobjs2s(L, p, L->top); lua_unlock(L); } LUA_API void lua_replace (lua_State *L, int idx) { StkId o; lua_lock(L); /* explicit test for incompatible code */ if (idx == LUA_ENVIRONINDEX && L->ci == L->base_ci) luaG_runerror(L, "no calling environment"); api_checknelems(L, 1); o = index2adr(L, idx); api_checkvalidindex(L, o); if (idx == LUA_ENVIRONINDEX) { Closure *func = curr_func(L); api_check(L, ttistable(L->top - 1)); func->c.env = hvalue(L->top - 1); luaC_barrier(L, func, L->top - 1); } else { setobj(L, o, L->top - 1); if (idx < LUA_GLOBALSINDEX) /* function upvalue? */ luaC_barrier(L, curr_func(L), L->top - 1); } L->top--; lua_unlock(L); } LUA_API void lua_pushvalue (lua_State *L, int idx) { lua_lock(L); setobj2s(L, L->top, index2adr(L, idx)); api_incr_top(L); lua_unlock(L); } /* ** access functions (stack -> C) */ LUA_API int lua_type (lua_State *L, int idx) { StkId o = index2adr(L, idx); return (o == luaO_nilobject) ? LUA_TNONE : ttype(o); } LUA_API const char *lua_typename (lua_State *L, int t) { UNUSED(L); return (t == LUA_TNONE) ? "no value" : luaT_typenames[t]; } LUA_API int lua_iscfunction (lua_State *L, int idx) { StkId o = index2adr(L, idx); return iscfunction(o); } LUA_API int lua_isnumber (lua_State *L, int idx) { TValue n; const TValue *o = index2adr(L, idx); return tonumber(o, &n); } LUA_API int lua_isstring (lua_State *L, int idx) { int t = lua_type(L, idx); return (t == LUA_TSTRING || t == LUA_TNUMBER); } LUA_API int lua_isuserdata (lua_State *L, int idx) { const TValue *o = index2adr(L, idx); return (ttisuserdata(o) || ttislightuserdata(o)); } LUA_API int lua_rawequal (lua_State *L, int index1, int index2) { StkId o1 = index2adr(L, index1); StkId o2 = index2adr(L, index2); return (o1 == luaO_nilobject || o2 == luaO_nilobject) ? 0 : luaO_rawequalObj(o1, o2); } LUA_API int lua_equal (lua_State *L, int index1, int index2) { StkId o1, o2; int i; lua_lock(L); /* may call tag method */ o1 = index2adr(L, index1); o2 = index2adr(L, index2); i = (o1 == luaO_nilobject || o2 == luaO_nilobject) ? 0 : equalobj(L, o1, o2); lua_unlock(L); return i; } LUA_API int lua_lessthan (lua_State *L, int index1, int index2) { StkId o1, o2; int i; lua_lock(L); /* may call tag method */ o1 = index2adr(L, index1); o2 = index2adr(L, index2); i = (o1 == luaO_nilobject || o2 == luaO_nilobject) ? 0 : luaV_lessthan(L, o1, o2); lua_unlock(L); return i; } LUA_API lua_Number lua_tonumber (lua_State *L, int idx) { TValue n; const TValue *o = index2adr(L, idx); if (tonumber(o, &n)) return nvalue(o); else return 0; } LUA_API lua_Integer lua_tointeger (lua_State *L, int idx) { TValue n; const TValue *o = index2adr(L, idx); if (tonumber(o, &n)) { lua_Integer res; lua_Number num = nvalue(o); lua_number2integer(res, num); return res; } else return 0; } LUA_API int lua_toboolean (lua_State *L, int idx) { const TValue *o = index2adr(L, idx); return !l_isfalse(o); } LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len) { StkId o = index2adr(L, idx); if (!ttisstring(o)) { lua_lock(L); /* `luaV_tostring' may create a new string */ if (!luaV_tostring(L, o)) { /* conversion failed? */ if (len != NULL) *len = 0; lua_unlock(L); return NULL; } luaC_checkGC(L); o = index2adr(L, idx); /* previous call may reallocate the stack */ lua_unlock(L); } if (len != NULL) *len = tsvalue(o)->len; return svalue(o); } LUA_API size_t lua_objlen (lua_State *L, int idx) { StkId o = index2adr(L, idx); switch (ttype(o)) { case LUA_TSTRING: return tsvalue(o)->len; case LUA_TUSERDATA: return uvalue(o)->len; case LUA_TTABLE: return luaH_getn(hvalue(o)); case LUA_TNUMBER: { size_t l; lua_lock(L); /* `luaV_tostring' may create a new string */ l = (luaV_tostring(L, o) ? tsvalue(o)->len : 0); lua_unlock(L); return l; } default: return 0; } } LUA_API lua_CFunction lua_tocfunction (lua_State *L, int idx) { StkId o = index2adr(L, idx); return (!iscfunction(o)) ? NULL : clvalue(o)->c.f; } LUA_API void *lua_touserdata (lua_State *L, int idx) { StkId o = index2adr(L, idx); switch (ttype(o)) { case LUA_TUSERDATA: return (rawuvalue(o) + 1); case LUA_TLIGHTUSERDATA: return pvalue(o); default: return NULL; } } LUA_API lua_State *lua_tothread (lua_State *L, int idx) { StkId o = index2adr(L, idx); return (!ttisthread(o)) ? NULL : thvalue(o); } LUA_API const void *lua_topointer (lua_State *L, int idx) { StkId o = index2adr(L, idx); switch (ttype(o)) { case LUA_TTABLE: return hvalue(o); case LUA_TFUNCTION: return clvalue(o); case LUA_TTHREAD: return thvalue(o); case LUA_TUSERDATA: case LUA_TLIGHTUSERDATA: return lua_touserdata(L, idx); default: return NULL; } } /* ** push functions (C -> stack) */ LUA_API void lua_pushnil (lua_State *L) { lua_lock(L); setnilvalue(L->top); api_incr_top(L); lua_unlock(L); } LUA_API void lua_pushnumber (lua_State *L, lua_Number n) { lua_lock(L); setnvalue(L->top, n); api_incr_top(L); lua_unlock(L); } LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) { lua_lock(L); setnvalue(L->top, cast_num(n)); api_incr_top(L); lua_unlock(L); } LUA_API void lua_pushlstring (lua_State *L, const char *s, size_t len) { lua_lock(L); luaC_checkGC(L); setsvalue2s(L, L->top, luaS_newlstr(L, s, len)); api_incr_top(L); lua_unlock(L); } LUA_API void lua_pushstring (lua_State *L, const char *s) { if (s == NULL) lua_pushnil(L); else lua_pushlstring(L, s, strlen(s)); } LUA_API const char *lua_pushvfstring (lua_State *L, const char *fmt, va_list argp) { const char *ret; lua_lock(L); luaC_checkGC(L); ret = luaO_pushvfstring(L, fmt, argp); lua_unlock(L); return ret; } LUA_API const char *lua_pushfstring (lua_State *L, const char *fmt, ...) { const char *ret; va_list argp; lua_lock(L); luaC_checkGC(L); va_start(argp, fmt); ret = luaO_pushvfstring(L, fmt, argp); va_end(argp); lua_unlock(L); return ret; } LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) { Closure *cl; lua_lock(L); luaC_checkGC(L); api_checknelems(L, n); cl = luaF_newCclosure(L, n, getcurrenv(L)); cl->c.f = fn; L->top -= n; while (n--) setobj2n(L, &cl->c.upvalue[n], L->top+n); setclvalue(L, L->top, cl); lua_assert(iswhite(obj2gco(cl))); api_incr_top(L); lua_unlock(L); } LUA_API void lua_pushboolean (lua_State *L, int b) { lua_lock(L); setbvalue(L->top, (b != 0)); /* ensure that true is 1 */ api_incr_top(L); lua_unlock(L); } LUA_API void lua_pushlightuserdata (lua_State *L, void *p) { lua_lock(L); setpvalue(L->top, p); api_incr_top(L); lua_unlock(L); } LUA_API int lua_pushthread (lua_State *L) { lua_lock(L); setthvalue(L, L->top, L); api_incr_top(L); lua_unlock(L); return (G(L)->mainthread == L); } /* ** get functions (Lua -> stack) */ LUA_API void lua_gettable (lua_State *L, int idx) { StkId t; lua_lock(L); t = index2adr(L, idx); api_checkvalidindex(L, t); luaV_gettable(L, t, L->top - 1, L->top - 1); lua_unlock(L); } LUA_API void lua_getfield (lua_State *L, int idx, const char *k) { StkId t; TValue key; lua_lock(L); t = index2adr(L, idx); api_checkvalidindex(L, t); setsvalue(L, &key, luaS_new(L, k)); luaV_gettable(L, t, &key, L->top); api_incr_top(L); lua_unlock(L); } LUA_API void lua_rawget (lua_State *L, int idx) { StkId t; lua_lock(L); t = index2adr(L, idx); api_check(L, ttistable(t)); setobj2s(L, L->top - 1, luaH_get(hvalue(t), L->top - 1)); lua_unlock(L); } LUA_API void lua_rawgeti (lua_State *L, int idx, int n) { StkId o; lua_lock(L); o = index2adr(L, idx); api_check(L, ttistable(o)); setobj2s(L, L->top, luaH_getnum(hvalue(o), n)); api_incr_top(L); lua_unlock(L); } LUA_API void lua_createtable (lua_State *L, int narray, int nrec) { lua_lock(L); luaC_checkGC(L); sethvalue(L, L->top, luaH_new(L, narray, nrec)); api_incr_top(L); lua_unlock(L); } LUA_API int lua_getmetatable (lua_State *L, int objindex) { const TValue *obj; Table *mt = NULL; int res; lua_lock(L); obj = index2adr(L, objindex); switch (ttype(obj)) { case LUA_TTABLE: mt = hvalue(obj)->metatable; break; case LUA_TUSERDATA: mt = uvalue(obj)->metatable; break; default: mt = G(L)->mt[ttype(obj)]; break; } if (mt == NULL) res = 0; else { sethvalue(L, L->top, mt); api_incr_top(L); res = 1; } lua_unlock(L); return res; } LUA_API void lua_getfenv (lua_State *L, int idx) { StkId o; lua_lock(L); o = index2adr(L, idx); api_checkvalidindex(L, o); switch (ttype(o)) { case LUA_TFUNCTION: sethvalue(L, L->top, clvalue(o)->c.env); break; case LUA_TUSERDATA: sethvalue(L, L->top, uvalue(o)->env); break; case LUA_TTHREAD: setobj2s(L, L->top, gt(thvalue(o))); break; default: setnilvalue(L->top); break; } api_incr_top(L); lua_unlock(L); } /* ** set functions (stack -> Lua) */ LUA_API void lua_settable (lua_State *L, int idx) { StkId t; lua_lock(L); api_checknelems(L, 2); t = index2adr(L, idx); api_checkvalidindex(L, t); luaV_settable(L, t, L->top - 2, L->top - 1); L->top -= 2; /* pop index and value */ lua_unlock(L); } LUA_API void lua_setfield (lua_State *L, int idx, const char *k) { StkId t; TValue key; lua_lock(L); api_checknelems(L, 1); t = index2adr(L, idx); api_checkvalidindex(L, t); setsvalue(L, &key, luaS_new(L, k)); luaV_settable(L, t, &key, L->top - 1); L->top--; /* pop value */ lua_unlock(L); } LUA_API void lua_rawset (lua_State *L, int idx) { StkId t; lua_lock(L); api_checknelems(L, 2); t = index2adr(L, idx); api_check(L, ttistable(t)); setobj2t(L, luaH_set(L, hvalue(t), L->top-2), L->top-1); luaC_barriert(L, hvalue(t), L->top-1); L->top -= 2; lua_unlock(L); } LUA_API void lua_rawseti (lua_State *L, int idx, int n) { StkId o; lua_lock(L); api_checknelems(L, 1); o = index2adr(L, idx); api_check(L, ttistable(o)); setobj2t(L, luaH_setnum(L, hvalue(o), n), L->top-1); luaC_barriert(L, hvalue(o), L->top-1); L->top--; lua_unlock(L); } LUA_API int lua_setmetatable (lua_State *L, int objindex) { TValue *obj; Table *mt; lua_lock(L); api_checknelems(L, 1); obj = index2adr(L, objindex); api_checkvalidindex(L, obj); if (ttisnil(L->top - 1)) mt = NULL; else { api_check(L, ttistable(L->top - 1)); mt = hvalue(L->top - 1); } switch (ttype(obj)) { case LUA_TTABLE: { hvalue(obj)->metatable = mt; if (mt) luaC_objbarriert(L, hvalue(obj), mt); break; } case LUA_TUSERDATA: { uvalue(obj)->metatable = mt; if (mt) luaC_objbarrier(L, rawuvalue(obj), mt); break; } default: { G(L)->mt[ttype(obj)] = mt; break; } } L->top--; lua_unlock(L); return 1; } LUA_API int lua_setfenv (lua_State *L, int idx) { StkId o; int res = 1; lua_lock(L); api_checknelems(L, 1); o = index2adr(L, idx); api_checkvalidindex(L, o); api_check(L, ttistable(L->top - 1)); switch (ttype(o)) { case LUA_TFUNCTION: clvalue(o)->c.env = hvalue(L->top - 1); break; case LUA_TUSERDATA: uvalue(o)->env = hvalue(L->top - 1); break; case LUA_TTHREAD: sethvalue(L, gt(thvalue(o)), hvalue(L->top - 1)); break; default: res = 0; break; } luaC_objbarrier(L, gcvalue(o), hvalue(L->top - 1)); L->top--; lua_unlock(L); return res; } /* ** `load' and `call' functions (run Lua code) */ #define adjustresults(L,nres) \ { if (nres == LUA_MULTRET && L->top >= L->ci->top) L->ci->top = L->top; } #define checkresults(L,na,nr) \ api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na))) LUA_API void lua_call (lua_State *L, int nargs, int nresults) { StkId func; lua_lock(L); api_checknelems(L, nargs+1); checkresults(L, nargs, nresults); func = L->top - (nargs+1); luaD_call(L, func, nresults); adjustresults(L, nresults); lua_unlock(L); } /* ** Execute a protected call. */ struct CallS { /* data to `f_call' */ StkId func; int nresults; }; static void f_call (lua_State *L, void *ud) { struct CallS *c = cast(struct CallS *, ud); luaD_call(L, c->func, c->nresults); } LUA_API int lua_pcall (lua_State *L, int nargs, int nresults, int errfunc) { struct CallS c; int status; ptrdiff_t func; lua_lock(L); api_checknelems(L, nargs+1); checkresults(L, nargs, nresults); if (errfunc == 0) func = 0; else { StkId o = index2adr(L, errfunc); api_checkvalidindex(L, o); func = savestack(L, o); } c.func = L->top - (nargs+1); /* function to be called */ c.nresults = nresults; status = luaD_pcall(L, f_call, &c, savestack(L, c.func), func); adjustresults(L, nresults); lua_unlock(L); return status; } /* ** Execute a protected C call. */ struct CCallS { /* data to `f_Ccall' */ lua_CFunction func; void *ud; }; static void f_Ccall (lua_State *L, void *ud) { struct CCallS *c = cast(struct CCallS *, ud); Closure *cl; cl = luaF_newCclosure(L, 0, getcurrenv(L)); cl->c.f = c->func; setclvalue(L, L->top, cl); /* push function */ api_incr_top(L); setpvalue(L->top, c->ud); /* push only argument */ api_incr_top(L); luaD_call(L, L->top - 2, 0); } LUA_API int lua_cpcall (lua_State *L, lua_CFunction func, void *ud) { struct CCallS c; int status; lua_lock(L); c.func = func; c.ud = ud; status = luaD_pcall(L, f_Ccall, &c, savestack(L, L->top), 0); lua_unlock(L); return status; } LUA_API int lua_load (lua_State *L, lua_Reader reader, void *data, const char *chunkname) { ZIO z; int status; lua_lock(L); if (!chunkname) chunkname = "?"; luaZ_init(L, &z, reader, data); status = luaD_protectedparser(L, &z, chunkname); lua_unlock(L); return status; } LUA_API int lua_dump (lua_State *L, lua_Writer writer, void *data) { int status; TValue *o; lua_lock(L); api_checknelems(L, 1); o = L->top - 1; if (isLfunction(o)) status = luaU_dump(L, clvalue(o)->l.p, writer, data, 0); else status = 1; lua_unlock(L); return status; } LUA_API int lua_status (lua_State *L) { return L->status; } /* ** Garbage-collection function */ LUA_API int lua_gc (lua_State *L, int what, int data) { int res = 0; global_State *g; lua_lock(L); g = G(L); switch (what) { case LUA_GCSTOP: { g->GCthreshold = MAX_LUMEM; break; } case LUA_GCRESTART: { g->GCthreshold = g->totalbytes; break; } case LUA_GCCOLLECT: { luaC_fullgc(L); break; } case LUA_GCCOUNT: { /* GC values are expressed in Kbytes: #bytes/2^10 */ res = cast_int(g->totalbytes >> 10); break; } case LUA_GCCOUNTB: { res = cast_int(g->totalbytes & 0x3ff); break; } case LUA_GCSTEP: { lu_mem a = (cast(lu_mem, data) << 10); if (a <= g->totalbytes) g->GCthreshold = g->totalbytes - a; else g->GCthreshold = 0; while (g->GCthreshold <= g->totalbytes) luaC_step(L); if (g->gcstate == GCSpause) /* end of cycle? */ res = 1; /* signal it */ break; } case LUA_GCSETPAUSE: { res = g->gcpause; g->gcpause = data; break; } case LUA_GCSETSTEPMUL: { res = g->gcstepmul; g->gcstepmul = data; break; } default: res = -1; /* invalid option */ } lua_unlock(L); return res; } /* ** miscellaneous functions */ LUA_API int lua_error (lua_State *L) { lua_lock(L); api_checknelems(L, 1); luaG_errormsg(L); lua_unlock(L); return 0; /* to avoid warnings */ } LUA_API int lua_next (lua_State *L, int idx) { StkId t; int more; lua_lock(L); t = index2adr(L, idx); api_check(L, ttistable(t)); more = luaH_next(L, hvalue(t), L->top - 1); if (more) { api_incr_top(L); } else /* no more elements */ L->top -= 1; /* remove key */ lua_unlock(L); return more; } LUA_API void lua_concat (lua_State *L, int n) { lua_lock(L); api_checknelems(L, n); if (n >= 2) { luaC_checkGC(L); luaV_concat(L, n, cast_int(L->top - L->base) - 1); L->top -= (n-1); } else if (n == 0) { /* push empty string */ setsvalue2s(L, L->top, luaS_newlstr(L, "", 0)); api_incr_top(L); } /* else n == 1; nothing to do */ lua_unlock(L); } LUA_API lua_Alloc lua_getallocf (lua_State *L, void **ud) { lua_Alloc f; lua_lock(L); if (ud) *ud = G(L)->ud; f = G(L)->frealloc; lua_unlock(L); return f; } LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud) { lua_lock(L); G(L)->ud = ud; G(L)->frealloc = f; lua_unlock(L); } LUA_API void *lua_newuserdata (lua_State *L, size_t size) { Udata *u; lua_lock(L); luaC_checkGC(L); u = luaS_newudata(L, size, getcurrenv(L)); setuvalue(L, L->top, u); api_incr_top(L); lua_unlock(L); return u + 1; } static const char *aux_upvalue (StkId fi, int n, TValue **val) { Closure *f; if (!ttisfunction(fi)) return NULL; f = clvalue(fi); if (f->c.isC) { if (!(1 <= n && n <= f->c.nupvalues)) return NULL; *val = &f->c.upvalue[n-1]; return ""; } else { Proto *p = f->l.p; if (!(1 <= n && n <= p->sizeupvalues)) return NULL; *val = f->l.upvals[n-1]->v; return getstr(p->upvalues[n-1]); } } LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n) { const char *name; TValue *val; lua_lock(L); name = aux_upvalue(index2adr(L, funcindex), n, &val); if (name) { setobj2s(L, L->top, val); api_incr_top(L); } lua_unlock(L); return name; } LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) { const char *name; TValue *val; StkId fi; lua_lock(L); fi = index2adr(L, funcindex); api_checknelems(L, 1); name = aux_upvalue(fi, n, &val); if (name) { L->top--; setobj(L, val, L->top); luaC_barrier(L, clvalue(fi), L->top); } lua_unlock(L); return name; } gtk-engines-2.20.2/engines/lua/src/liblua/lcode.c0000644000175000017500000005073611451352576016457 00000000000000/* ** $Id$ ** Code generator for Lua ** See Copyright Notice in lua.h */ #include #define lcode_c #define LUA_CORE #include "lua.h" #include "lcode.h" #include "ldebug.h" #include "ldo.h" #include "lgc.h" #include "llex.h" #include "lmem.h" #include "lobject.h" #include "lopcodes.h" #include "lparser.h" #include "ltable.h" #define hasjumps(e) ((e)->t != (e)->f) static int isnumeral(expdesc *e) { return (e->k == VKNUM && e->t == NO_JUMP && e->f == NO_JUMP); } void luaK_nil (FuncState *fs, int from, int n) { Instruction *previous; if (fs->pc > fs->lasttarget) { /* no jumps to current position? */ if (fs->pc == 0) /* function start? */ return; /* positions are already clean */ if (GET_OPCODE(*(previous = &fs->f->code[fs->pc-1])) == OP_LOADNIL) { int pfrom = GETARG_A(*previous); int pto = GETARG_B(*previous); if (pfrom <= from && from <= pto+1) { /* can connect both? */ if (from+n-1 > pto) SETARG_B(*previous, from+n-1); return; } } } luaK_codeABC(fs, OP_LOADNIL, from, from+n-1, 0); /* else no optimization */ } int luaK_jump (FuncState *fs) { int jpc = fs->jpc; /* save list of jumps to here */ int j; fs->jpc = NO_JUMP; j = luaK_codeAsBx(fs, OP_JMP, 0, NO_JUMP); luaK_concat(fs, &j, jpc); /* keep them on hold */ return j; } void luaK_ret (FuncState *fs, int first, int nret) { luaK_codeABC(fs, OP_RETURN, first, nret+1, 0); } static int condjump (FuncState *fs, OpCode op, int A, int B, int C) { luaK_codeABC(fs, op, A, B, C); return luaK_jump(fs); } static void fixjump (FuncState *fs, int pc, int dest) { Instruction *jmp = &fs->f->code[pc]; int offset = dest-(pc+1); lua_assert(dest != NO_JUMP); if (abs(offset) > MAXARG_sBx) luaX_syntaxerror(fs->ls, "control structure too long"); SETARG_sBx(*jmp, offset); } /* ** returns current `pc' and marks it as a jump target (to avoid wrong ** optimizations with consecutive instructions not in the same basic block). */ int luaK_getlabel (FuncState *fs) { fs->lasttarget = fs->pc; return fs->pc; } static int getjump (FuncState *fs, int pc) { int offset = GETARG_sBx(fs->f->code[pc]); if (offset == NO_JUMP) /* point to itself represents end of list */ return NO_JUMP; /* end of list */ else return (pc+1)+offset; /* turn offset into absolute position */ } static Instruction *getjumpcontrol (FuncState *fs, int pc) { Instruction *pi = &fs->f->code[pc]; if (pc >= 1 && testTMode(GET_OPCODE(*(pi-1)))) return pi-1; else return pi; } /* ** check whether list has any jump that do not produce a value ** (or produce an inverted value) */ static int need_value (FuncState *fs, int list) { for (; list != NO_JUMP; list = getjump(fs, list)) { Instruction i = *getjumpcontrol(fs, list); if (GET_OPCODE(i) != OP_TESTSET) return 1; } return 0; /* not found */ } static int patchtestreg (FuncState *fs, int node, int reg) { Instruction *i = getjumpcontrol(fs, node); if (GET_OPCODE(*i) != OP_TESTSET) return 0; /* cannot patch other instructions */ if (reg != NO_REG && reg != GETARG_B(*i)) SETARG_A(*i, reg); else /* no register to put value or register already has the value */ *i = CREATE_ABC(OP_TEST, GETARG_B(*i), 0, GETARG_C(*i)); return 1; } static void removevalues (FuncState *fs, int list) { for (; list != NO_JUMP; list = getjump(fs, list)) patchtestreg(fs, list, NO_REG); } static void patchlistaux (FuncState *fs, int list, int vtarget, int reg, int dtarget) { while (list != NO_JUMP) { int next = getjump(fs, list); if (patchtestreg(fs, list, reg)) fixjump(fs, list, vtarget); else fixjump(fs, list, dtarget); /* jump to default target */ list = next; } } static void dischargejpc (FuncState *fs) { patchlistaux(fs, fs->jpc, fs->pc, NO_REG, fs->pc); fs->jpc = NO_JUMP; } void luaK_patchlist (FuncState *fs, int list, int target) { if (target == fs->pc) luaK_patchtohere(fs, list); else { lua_assert(target < fs->pc); patchlistaux(fs, list, target, NO_REG, target); } } void luaK_patchtohere (FuncState *fs, int list) { luaK_getlabel(fs); luaK_concat(fs, &fs->jpc, list); } void luaK_concat (FuncState *fs, int *l1, int l2) { if (l2 == NO_JUMP) return; else if (*l1 == NO_JUMP) *l1 = l2; else { int list = *l1; int next; while ((next = getjump(fs, list)) != NO_JUMP) /* find last element */ list = next; fixjump(fs, list, l2); } } void luaK_checkstack (FuncState *fs, int n) { int newstack = fs->freereg + n; if (newstack > fs->f->maxstacksize) { if (newstack >= MAXSTACK) luaX_syntaxerror(fs->ls, "function or expression too complex"); fs->f->maxstacksize = cast_byte(newstack); } } void luaK_reserveregs (FuncState *fs, int n) { luaK_checkstack(fs, n); fs->freereg += n; } static void freereg (FuncState *fs, int reg) { if (!ISK(reg) && reg >= fs->nactvar) { fs->freereg--; lua_assert(reg == fs->freereg); } } static void freeexp (FuncState *fs, expdesc *e) { if (e->k == VNONRELOC) freereg(fs, e->u.s.info); } static int addk (FuncState *fs, TValue *k, TValue *v) { lua_State *L = fs->L; TValue *idx = luaH_set(L, fs->h, k); Proto *f = fs->f; int oldsize = f->sizek; if (ttisnumber(idx)) { lua_assert(luaO_rawequalObj(&fs->f->k[cast_int(nvalue(idx))], v)); return cast_int(nvalue(idx)); } else { /* constant not found; create a new entry */ setnvalue(idx, cast_num(fs->nk)); luaM_growvector(L, f->k, fs->nk, f->sizek, TValue, MAXARG_Bx, "constant table overflow"); while (oldsize < f->sizek) setnilvalue(&f->k[oldsize++]); setobj(L, &f->k[fs->nk], v); luaC_barrier(L, f, v); return fs->nk++; } } int luaK_stringK (FuncState *fs, TString *s) { TValue o; setsvalue(fs->L, &o, s); return addk(fs, &o, &o); } int luaK_numberK (FuncState *fs, lua_Number r) { TValue o; setnvalue(&o, r); return addk(fs, &o, &o); } static int boolK (FuncState *fs, int b) { TValue o; setbvalue(&o, b); return addk(fs, &o, &o); } static int nilK (FuncState *fs) { TValue k, v; setnilvalue(&v); /* cannot use nil as key; instead use table itself to represent nil */ sethvalue(fs->L, &k, fs->h); return addk(fs, &k, &v); } void luaK_setreturns (FuncState *fs, expdesc *e, int nresults) { if (e->k == VCALL) { /* expression is an open function call? */ SETARG_C(getcode(fs, e), nresults+1); } else if (e->k == VVARARG) { SETARG_B(getcode(fs, e), nresults+1); SETARG_A(getcode(fs, e), fs->freereg); luaK_reserveregs(fs, 1); } } void luaK_setoneret (FuncState *fs, expdesc *e) { if (e->k == VCALL) { /* expression is an open function call? */ e->k = VNONRELOC; e->u.s.info = GETARG_A(getcode(fs, e)); } else if (e->k == VVARARG) { SETARG_B(getcode(fs, e), 2); e->k = VRELOCABLE; /* can relocate its simple result */ } } void luaK_dischargevars (FuncState *fs, expdesc *e) { switch (e->k) { case VLOCAL: { e->k = VNONRELOC; break; } case VUPVAL: { e->u.s.info = luaK_codeABC(fs, OP_GETUPVAL, 0, e->u.s.info, 0); e->k = VRELOCABLE; break; } case VGLOBAL: { e->u.s.info = luaK_codeABx(fs, OP_GETGLOBAL, 0, e->u.s.info); e->k = VRELOCABLE; break; } case VINDEXED: { freereg(fs, e->u.s.aux); freereg(fs, e->u.s.info); e->u.s.info = luaK_codeABC(fs, OP_GETTABLE, 0, e->u.s.info, e->u.s.aux); e->k = VRELOCABLE; break; } case VVARARG: case VCALL: { luaK_setoneret(fs, e); break; } default: break; /* there is one value available (somewhere) */ } } static int code_label (FuncState *fs, int A, int b, int jump) { luaK_getlabel(fs); /* those instructions may be jump targets */ return luaK_codeABC(fs, OP_LOADBOOL, A, b, jump); } static void discharge2reg (FuncState *fs, expdesc *e, int reg) { luaK_dischargevars(fs, e); switch (e->k) { case VNIL: { luaK_nil(fs, reg, 1); break; } case VFALSE: case VTRUE: { luaK_codeABC(fs, OP_LOADBOOL, reg, e->k == VTRUE, 0); break; } case VK: { luaK_codeABx(fs, OP_LOADK, reg, e->u.s.info); break; } case VKNUM: { luaK_codeABx(fs, OP_LOADK, reg, luaK_numberK(fs, e->u.nval)); break; } case VRELOCABLE: { Instruction *pc = &getcode(fs, e); SETARG_A(*pc, reg); break; } case VNONRELOC: { if (reg != e->u.s.info) luaK_codeABC(fs, OP_MOVE, reg, e->u.s.info, 0); break; } default: { lua_assert(e->k == VVOID || e->k == VJMP); return; /* nothing to do... */ } } e->u.s.info = reg; e->k = VNONRELOC; } static void discharge2anyreg (FuncState *fs, expdesc *e) { if (e->k != VNONRELOC) { luaK_reserveregs(fs, 1); discharge2reg(fs, e, fs->freereg-1); } } static void exp2reg (FuncState *fs, expdesc *e, int reg) { discharge2reg(fs, e, reg); if (e->k == VJMP) luaK_concat(fs, &e->t, e->u.s.info); /* put this jump in `t' list */ if (hasjumps(e)) { int final; /* position after whole expression */ int p_f = NO_JUMP; /* position of an eventual LOAD false */ int p_t = NO_JUMP; /* position of an eventual LOAD true */ if (need_value(fs, e->t) || need_value(fs, e->f)) { int fj = (e->k == VJMP) ? NO_JUMP : luaK_jump(fs); p_f = code_label(fs, reg, 0, 1); p_t = code_label(fs, reg, 1, 0); luaK_patchtohere(fs, fj); } final = luaK_getlabel(fs); patchlistaux(fs, e->f, final, reg, p_f); patchlistaux(fs, e->t, final, reg, p_t); } e->f = e->t = NO_JUMP; e->u.s.info = reg; e->k = VNONRELOC; } void luaK_exp2nextreg (FuncState *fs, expdesc *e) { luaK_dischargevars(fs, e); freeexp(fs, e); luaK_reserveregs(fs, 1); exp2reg(fs, e, fs->freereg - 1); } int luaK_exp2anyreg (FuncState *fs, expdesc *e) { luaK_dischargevars(fs, e); if (e->k == VNONRELOC) { if (!hasjumps(e)) return e->u.s.info; /* exp is already in a register */ if (e->u.s.info >= fs->nactvar) { /* reg. is not a local? */ exp2reg(fs, e, e->u.s.info); /* put value on it */ return e->u.s.info; } } luaK_exp2nextreg(fs, e); /* default */ return e->u.s.info; } void luaK_exp2val (FuncState *fs, expdesc *e) { if (hasjumps(e)) luaK_exp2anyreg(fs, e); else luaK_dischargevars(fs, e); } int luaK_exp2RK (FuncState *fs, expdesc *e) { luaK_exp2val(fs, e); switch (e->k) { case VKNUM: case VTRUE: case VFALSE: case VNIL: { if (fs->nk <= MAXINDEXRK) { /* constant fit in RK operand? */ e->u.s.info = (e->k == VNIL) ? nilK(fs) : (e->k == VKNUM) ? luaK_numberK(fs, e->u.nval) : boolK(fs, (e->k == VTRUE)); e->k = VK; return RKASK(e->u.s.info); } else break; } case VK: { if (e->u.s.info <= MAXINDEXRK) /* constant fit in argC? */ return RKASK(e->u.s.info); else break; } default: break; } /* not a constant in the right range: put it in a register */ return luaK_exp2anyreg(fs, e); } void luaK_storevar (FuncState *fs, expdesc *var, expdesc *ex) { switch (var->k) { case VLOCAL: { freeexp(fs, ex); exp2reg(fs, ex, var->u.s.info); return; } case VUPVAL: { int e = luaK_exp2anyreg(fs, ex); luaK_codeABC(fs, OP_SETUPVAL, e, var->u.s.info, 0); break; } case VGLOBAL: { int e = luaK_exp2anyreg(fs, ex); luaK_codeABx(fs, OP_SETGLOBAL, e, var->u.s.info); break; } case VINDEXED: { int e = luaK_exp2RK(fs, ex); luaK_codeABC(fs, OP_SETTABLE, var->u.s.info, var->u.s.aux, e); break; } default: { lua_assert(0); /* invalid var kind to store */ break; } } freeexp(fs, ex); } void luaK_self (FuncState *fs, expdesc *e, expdesc *key) { int func; luaK_exp2anyreg(fs, e); freeexp(fs, e); func = fs->freereg; luaK_reserveregs(fs, 2); luaK_codeABC(fs, OP_SELF, func, e->u.s.info, luaK_exp2RK(fs, key)); freeexp(fs, key); e->u.s.info = func; e->k = VNONRELOC; } static void invertjump (FuncState *fs, expdesc *e) { Instruction *pc = getjumpcontrol(fs, e->u.s.info); lua_assert(testTMode(GET_OPCODE(*pc)) && GET_OPCODE(*pc) != OP_TESTSET && GET_OPCODE(*pc) != OP_TEST); SETARG_A(*pc, !(GETARG_A(*pc))); } static int jumponcond (FuncState *fs, expdesc *e, int cond) { if (e->k == VRELOCABLE) { Instruction ie = getcode(fs, e); if (GET_OPCODE(ie) == OP_NOT) { fs->pc--; /* remove previous OP_NOT */ return condjump(fs, OP_TEST, GETARG_B(ie), 0, !cond); } /* else go through */ } discharge2anyreg(fs, e); freeexp(fs, e); return condjump(fs, OP_TESTSET, NO_REG, e->u.s.info, cond); } void luaK_goiftrue (FuncState *fs, expdesc *e) { int pc; /* pc of last jump */ luaK_dischargevars(fs, e); switch (e->k) { case VK: case VKNUM: case VTRUE: { pc = NO_JUMP; /* always true; do nothing */ break; } case VFALSE: { pc = luaK_jump(fs); /* always jump */ break; } case VJMP: { invertjump(fs, e); pc = e->u.s.info; break; } default: { pc = jumponcond(fs, e, 0); break; } } luaK_concat(fs, &e->f, pc); /* insert last jump in `f' list */ luaK_patchtohere(fs, e->t); e->t = NO_JUMP; } static void luaK_goiffalse (FuncState *fs, expdesc *e) { int pc; /* pc of last jump */ luaK_dischargevars(fs, e); switch (e->k) { case VNIL: case VFALSE: { pc = NO_JUMP; /* always false; do nothing */ break; } case VTRUE: { pc = luaK_jump(fs); /* always jump */ break; } case VJMP: { pc = e->u.s.info; break; } default: { pc = jumponcond(fs, e, 1); break; } } luaK_concat(fs, &e->t, pc); /* insert last jump in `t' list */ luaK_patchtohere(fs, e->f); e->f = NO_JUMP; } static void codenot (FuncState *fs, expdesc *e) { luaK_dischargevars(fs, e); switch (e->k) { case VNIL: case VFALSE: { e->k = VTRUE; break; } case VK: case VKNUM: case VTRUE: { e->k = VFALSE; break; } case VJMP: { invertjump(fs, e); break; } case VRELOCABLE: case VNONRELOC: { discharge2anyreg(fs, e); freeexp(fs, e); e->u.s.info = luaK_codeABC(fs, OP_NOT, 0, e->u.s.info, 0); e->k = VRELOCABLE; break; } default: { lua_assert(0); /* cannot happen */ break; } } /* interchange true and false lists */ { int temp = e->f; e->f = e->t; e->t = temp; } removevalues(fs, e->f); removevalues(fs, e->t); } void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k) { t->u.s.aux = luaK_exp2RK(fs, k); t->k = VINDEXED; } static int constfolding (OpCode op, expdesc *e1, expdesc *e2) { lua_Number v1, v2, r; if (!isnumeral(e1) || !isnumeral(e2)) return 0; v1 = e1->u.nval; v2 = e2->u.nval; switch (op) { case OP_ADD: r = luai_numadd(v1, v2); break; case OP_SUB: r = luai_numsub(v1, v2); break; case OP_MUL: r = luai_nummul(v1, v2); break; case OP_DIV: if (v2 == 0) return 0; /* do not attempt to divide by 0 */ r = luai_numdiv(v1, v2); break; case OP_MOD: if (v2 == 0) return 0; /* do not attempt to divide by 0 */ r = luai_nummod(v1, v2); break; case OP_POW: r = luai_numpow(v1, v2); break; case OP_UNM: r = luai_numunm(v1); break; case OP_LEN: return 0; /* no constant folding for 'len' */ default: lua_assert(0); r = 0; break; } if (luai_numisnan(r)) return 0; /* do not attempt to produce NaN */ e1->u.nval = r; return 1; } static void codearith (FuncState *fs, OpCode op, expdesc *e1, expdesc *e2) { if (constfolding(op, e1, e2)) return; else { int o1 = luaK_exp2RK(fs, e1); int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0; freeexp(fs, e2); freeexp(fs, e1); e1->u.s.info = luaK_codeABC(fs, op, 0, o1, o2); e1->k = VRELOCABLE; } } static void codecomp (FuncState *fs, OpCode op, int cond, expdesc *e1, expdesc *e2) { int o1 = luaK_exp2RK(fs, e1); int o2 = luaK_exp2RK(fs, e2); freeexp(fs, e2); freeexp(fs, e1); if (cond == 0 && op != OP_EQ) { int temp; /* exchange args to replace by `<' or `<=' */ temp = o1; o1 = o2; o2 = temp; /* o1 <==> o2 */ cond = 1; } e1->u.s.info = condjump(fs, op, cond, o1, o2); e1->k = VJMP; } void luaK_prefix (FuncState *fs, UnOpr op, expdesc *e) { expdesc e2; e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0; switch (op) { case OPR_MINUS: { if (e->k == VK) luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */ codearith(fs, OP_UNM, e, &e2); break; } case OPR_NOT: codenot(fs, e); break; case OPR_LEN: { luaK_exp2anyreg(fs, e); /* cannot operate on constants */ codearith(fs, OP_LEN, e, &e2); break; } default: lua_assert(0); } } void luaK_infix (FuncState *fs, BinOpr op, expdesc *v) { switch (op) { case OPR_AND: { luaK_goiftrue(fs, v); break; } case OPR_OR: { luaK_goiffalse(fs, v); break; } case OPR_CONCAT: { luaK_exp2nextreg(fs, v); /* operand must be on the `stack' */ break; } default: { if (!isnumeral(v)) luaK_exp2RK(fs, v); break; } } } void luaK_posfix (FuncState *fs, BinOpr op, expdesc *e1, expdesc *e2) { switch (op) { case OPR_AND: { lua_assert(e1->t == NO_JUMP); /* list must be closed */ luaK_dischargevars(fs, e2); luaK_concat(fs, &e2->f, e1->f); *e1 = *e2; break; } case OPR_OR: { lua_assert(e1->f == NO_JUMP); /* list must be closed */ luaK_dischargevars(fs, e2); luaK_concat(fs, &e2->t, e1->t); *e1 = *e2; break; } case OPR_CONCAT: { luaK_exp2val(fs, e2); if (e2->k == VRELOCABLE && GET_OPCODE(getcode(fs, e2)) == OP_CONCAT) { lua_assert(e1->u.s.info == GETARG_B(getcode(fs, e2))-1); freeexp(fs, e1); SETARG_B(getcode(fs, e2), e1->u.s.info); e1->k = VRELOCABLE; e1->u.s.info = e2->u.s.info; } else { luaK_exp2nextreg(fs, e2); /* operand must be on the 'stack' */ codearith(fs, OP_CONCAT, e1, e2); } break; } case OPR_ADD: codearith(fs, OP_ADD, e1, e2); break; case OPR_SUB: codearith(fs, OP_SUB, e1, e2); break; case OPR_MUL: codearith(fs, OP_MUL, e1, e2); break; case OPR_DIV: codearith(fs, OP_DIV, e1, e2); break; case OPR_MOD: codearith(fs, OP_MOD, e1, e2); break; case OPR_POW: codearith(fs, OP_POW, e1, e2); break; case OPR_EQ: codecomp(fs, OP_EQ, 1, e1, e2); break; case OPR_NE: codecomp(fs, OP_EQ, 0, e1, e2); break; case OPR_LT: codecomp(fs, OP_LT, 1, e1, e2); break; case OPR_LE: codecomp(fs, OP_LE, 1, e1, e2); break; case OPR_GT: codecomp(fs, OP_LT, 0, e1, e2); break; case OPR_GE: codecomp(fs, OP_LE, 0, e1, e2); break; default: lua_assert(0); } } void luaK_fixline (FuncState *fs, int line) { fs->f->lineinfo[fs->pc - 1] = line; } static int luaK_code (FuncState *fs, Instruction i, int line) { Proto *f = fs->f; dischargejpc(fs); /* `pc' will change */ /* put new instruction in code array */ luaM_growvector(fs->L, f->code, fs->pc, f->sizecode, Instruction, MAX_INT, "code size overflow"); f->code[fs->pc] = i; /* save corresponding line information */ luaM_growvector(fs->L, f->lineinfo, fs->pc, f->sizelineinfo, int, MAX_INT, "code size overflow"); f->lineinfo[fs->pc] = line; return fs->pc++; } int luaK_codeABC (FuncState *fs, OpCode o, int a, int b, int c) { lua_assert(getOpMode(o) == iABC); lua_assert(getBMode(o) != OpArgN || b == 0); lua_assert(getCMode(o) != OpArgN || c == 0); return luaK_code(fs, CREATE_ABC(o, a, b, c), fs->ls->lastline); } int luaK_codeABx (FuncState *fs, OpCode o, int a, unsigned int bc) { lua_assert(getOpMode(o) == iABx || getOpMode(o) == iAsBx); lua_assert(getCMode(o) == OpArgN); return luaK_code(fs, CREATE_ABx(o, a, bc), fs->ls->lastline); } void luaK_setlist (FuncState *fs, int base, int nelems, int tostore) { int c = (nelems - 1)/LFIELDS_PER_FLUSH + 1; int b = (tostore == LUA_MULTRET) ? 0 : tostore; lua_assert(tostore != 0); if (c <= MAXARG_C) luaK_codeABC(fs, OP_SETLIST, base, b, c); else { luaK_codeABC(fs, OP_SETLIST, base, b, 0); luaK_code(fs, cast(Instruction, c), fs->ls->lastline); } fs->freereg = base + 1; /* free registers with list values */ } gtk-engines-2.20.2/engines/lua/src/liblua/ldebug.c0000644000175000017500000003711411451352576016626 00000000000000/* ** $Id$ ** Debug Interface ** See Copyright Notice in lua.h */ #include #include #include #define ldebug_c #define LUA_CORE #include "lua.h" #include "lapi.h" #include "lcode.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "lobject.h" #include "lopcodes.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "ltm.h" #include "lvm.h" static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name); static int currentpc (lua_State *L, CallInfo *ci) { if (!isLua(ci)) return -1; /* function is not a Lua function? */ if (ci == L->ci) ci->savedpc = L->savedpc; return pcRel(ci->savedpc, ci_func(ci)->l.p); } static int currentline (lua_State *L, CallInfo *ci) { int pc = currentpc(L, ci); if (pc < 0) return -1; /* only active lua functions have current-line information */ else return getline(ci_func(ci)->l.p, pc); } /* ** this function can be called asynchronous (e.g. during a signal) */ LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count) { if (func == NULL || mask == 0) { /* turn off hooks? */ mask = 0; func = NULL; } L->hook = func; L->basehookcount = count; resethookcount(L); L->hookmask = cast_byte(mask); return 1; } LUA_API lua_Hook lua_gethook (lua_State *L) { return L->hook; } LUA_API int lua_gethookmask (lua_State *L) { return L->hookmask; } LUA_API int lua_gethookcount (lua_State *L) { return L->basehookcount; } LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar) { int status; CallInfo *ci; lua_lock(L); for (ci = L->ci; level > 0 && ci > L->base_ci; ci--) { level--; if (f_isLua(ci)) /* Lua function? */ level -= ci->tailcalls; /* skip lost tail calls */ } if (level == 0 && ci > L->base_ci) { /* level found? */ status = 1; ar->i_ci = cast_int(ci - L->base_ci); } else if (level < 0) { /* level is of a lost tail call? */ status = 1; ar->i_ci = 0; } else status = 0; /* no such level */ lua_unlock(L); return status; } static Proto *getluaproto (CallInfo *ci) { return (isLua(ci) ? ci_func(ci)->l.p : NULL); } static const char *findlocal (lua_State *L, CallInfo *ci, int n) { const char *name; Proto *fp = getluaproto(ci); if (fp && (name = luaF_getlocalname(fp, n, currentpc(L, ci))) != NULL) return name; /* is a local variable in a Lua function */ else { StkId limit = (ci == L->ci) ? L->top : (ci+1)->func; if (limit - ci->base >= n && n > 0) /* is 'n' inside 'ci' stack? */ return "(*temporary)"; else return NULL; } } LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n) { CallInfo *ci = L->base_ci + ar->i_ci; const char *name = findlocal(L, ci, n); lua_lock(L); if (name) luaA_pushobject(L, ci->base + (n - 1)); lua_unlock(L); return name; } LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n) { CallInfo *ci = L->base_ci + ar->i_ci; const char *name = findlocal(L, ci, n); lua_lock(L); if (name) setobjs2s(L, ci->base + (n - 1), L->top - 1); L->top--; /* pop value */ lua_unlock(L); return name; } static void funcinfo (lua_Debug *ar, Closure *cl) { if (cl->c.isC) { ar->source = "=[C]"; ar->linedefined = -1; ar->lastlinedefined = -1; ar->what = "C"; } else { ar->source = getstr(cl->l.p->source); ar->linedefined = cl->l.p->linedefined; ar->lastlinedefined = cl->l.p->lastlinedefined; ar->what = (ar->linedefined == 0) ? "main" : "Lua"; } luaO_chunkid(ar->short_src, ar->source, LUA_IDSIZE); } static void info_tailcall (lua_Debug *ar) { ar->name = ar->namewhat = ""; ar->what = "tail"; ar->lastlinedefined = ar->linedefined = ar->currentline = -1; ar->source = "=(tail call)"; luaO_chunkid(ar->short_src, ar->source, LUA_IDSIZE); ar->nups = 0; } static void collectvalidlines (lua_State *L, Closure *f) { if (f == NULL || f->c.isC) { setnilvalue(L->top); } else { Table *t = luaH_new(L, 0, 0); int *lineinfo = f->l.p->lineinfo; int i; for (i=0; il.p->sizelineinfo; i++) setbvalue(luaH_setnum(L, t, lineinfo[i]), 1); sethvalue(L, L->top, t); } incr_top(L); } static int auxgetinfo (lua_State *L, const char *what, lua_Debug *ar, Closure *f, CallInfo *ci) { int status = 1; if (f == NULL) { info_tailcall(ar); return status; } for (; *what; what++) { switch (*what) { case 'S': { funcinfo(ar, f); break; } case 'l': { ar->currentline = (ci) ? currentline(L, ci) : -1; break; } case 'u': { ar->nups = f->c.nupvalues; break; } case 'n': { ar->namewhat = (ci) ? getfuncname(L, ci, &ar->name) : NULL; if (ar->namewhat == NULL) { ar->namewhat = ""; /* not found */ ar->name = NULL; } break; } case 'L': case 'f': /* handled by lua_getinfo */ break; default: status = 0; /* invalid option */ } } return status; } LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) { int status; Closure *f = NULL; CallInfo *ci = NULL; lua_lock(L); if (*what == '>') { StkId func = L->top - 1; luai_apicheck(L, ttisfunction(func)); what++; /* skip the '>' */ f = clvalue(func); L->top--; /* pop function */ } else if (ar->i_ci != 0) { /* no tail call? */ ci = L->base_ci + ar->i_ci; lua_assert(ttisfunction(ci->func)); f = clvalue(ci->func); } status = auxgetinfo(L, what, ar, f, ci); if (strchr(what, 'f')) { if (f == NULL) setnilvalue(L->top); else setclvalue(L, L->top, f); incr_top(L); } if (strchr(what, 'L')) collectvalidlines(L, f); lua_unlock(L); return status; } /* ** {====================================================== ** Symbolic Execution and code checker ** ======================================================= */ #define check(x) if (!(x)) return 0; #define checkjump(pt,pc) check(0 <= pc && pc < pt->sizecode) #define checkreg(pt,reg) check((reg) < (pt)->maxstacksize) static int precheck (const Proto *pt) { check(pt->maxstacksize <= MAXSTACK); lua_assert(pt->numparams+(pt->is_vararg & VARARG_HASARG) <= pt->maxstacksize); lua_assert(!(pt->is_vararg & VARARG_NEEDSARG) || (pt->is_vararg & VARARG_HASARG)); check(pt->sizeupvalues <= pt->nups); check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0); check(GET_OPCODE(pt->code[pt->sizecode-1]) == OP_RETURN); return 1; } #define checkopenop(pt,pc) luaG_checkopenop((pt)->code[(pc)+1]) int luaG_checkopenop (Instruction i) { switch (GET_OPCODE(i)) { case OP_CALL: case OP_TAILCALL: case OP_RETURN: case OP_SETLIST: { check(GETARG_B(i) == 0); return 1; } default: return 0; /* invalid instruction after an open call */ } } static int checkArgMode (const Proto *pt, int r, enum OpArgMask mode) { switch (mode) { case OpArgN: check(r == 0); break; case OpArgU: break; case OpArgR: checkreg(pt, r); break; case OpArgK: check(ISK(r) ? INDEXK(r) < pt->sizek : r < pt->maxstacksize); break; } return 1; } static Instruction symbexec (const Proto *pt, int lastpc, int reg) { int pc; int last; /* stores position of last instruction that changed `reg' */ last = pt->sizecode-1; /* points to final return (a `neutral' instruction) */ check(precheck(pt)); for (pc = 0; pc < lastpc; pc++) { Instruction i = pt->code[pc]; OpCode op = GET_OPCODE(i); int a = GETARG_A(i); int b = 0; int c = 0; check(op < NUM_OPCODES); checkreg(pt, a); switch (getOpMode(op)) { case iABC: { b = GETARG_B(i); c = GETARG_C(i); check(checkArgMode(pt, b, getBMode(op))); check(checkArgMode(pt, c, getCMode(op))); break; } case iABx: { b = GETARG_Bx(i); if (getBMode(op) == OpArgK) check(b < pt->sizek); break; } case iAsBx: { b = GETARG_sBx(i); if (getBMode(op) == OpArgR) { int dest = pc+1+b; check(0 <= dest && dest < pt->sizecode); if (dest > 0) { /* cannot jump to a setlist count */ Instruction d = pt->code[dest-1]; check(!(GET_OPCODE(d) == OP_SETLIST && GETARG_C(d) == 0)); } } break; } } if (testAMode(op)) { if (a == reg) last = pc; /* change register `a' */ } if (testTMode(op)) { check(pc+2 < pt->sizecode); /* check skip */ check(GET_OPCODE(pt->code[pc+1]) == OP_JMP); } switch (op) { case OP_LOADBOOL: { check(c == 0 || pc+2 < pt->sizecode); /* check its jump */ break; } case OP_LOADNIL: { if (a <= reg && reg <= b) last = pc; /* set registers from `a' to `b' */ break; } case OP_GETUPVAL: case OP_SETUPVAL: { check(b < pt->nups); break; } case OP_GETGLOBAL: case OP_SETGLOBAL: { check(ttisstring(&pt->k[b])); break; } case OP_SELF: { checkreg(pt, a+1); if (reg == a+1) last = pc; break; } case OP_CONCAT: { check(b < c); /* at least two operands */ break; } case OP_TFORLOOP: { check(c >= 1); /* at least one result (control variable) */ checkreg(pt, a+2+c); /* space for results */ if (reg >= a+2) last = pc; /* affect all regs above its base */ break; } case OP_FORLOOP: case OP_FORPREP: checkreg(pt, a+3); /* go through */ case OP_JMP: { int dest = pc+1+b; /* not full check and jump is forward and do not skip `lastpc'? */ if (reg != NO_REG && pc < dest && dest <= lastpc) pc += b; /* do the jump */ break; } case OP_CALL: case OP_TAILCALL: { if (b != 0) { checkreg(pt, a+b-1); } c--; /* c = num. returns */ if (c == LUA_MULTRET) { check(checkopenop(pt, pc)); } else if (c != 0) checkreg(pt, a+c-1); if (reg >= a) last = pc; /* affect all registers above base */ break; } case OP_RETURN: { b--; /* b = num. returns */ if (b > 0) checkreg(pt, a+b-1); break; } case OP_SETLIST: { if (b > 0) checkreg(pt, a + b); if (c == 0) pc++; break; } case OP_CLOSURE: { int nup; check(b < pt->sizep); nup = pt->p[b]->nups; check(pc + nup < pt->sizecode); for (; nup>0; nup--) { OpCode op1 = GET_OPCODE(pt->code[pc+nup]); check(op1 == OP_GETUPVAL || op1 == OP_MOVE); } break; } case OP_VARARG: { check((pt->is_vararg & VARARG_ISVARARG) && !(pt->is_vararg & VARARG_NEEDSARG)); b--; if (b == LUA_MULTRET) check(checkopenop(pt, pc)); checkreg(pt, a+b-1); break; } default: break; } } return pt->code[last]; } #undef check #undef checkjump #undef checkreg /* }====================================================== */ int luaG_checkcode (const Proto *pt) { return (symbexec(pt, pt->sizecode, NO_REG) != 0); } static const char *kname (Proto *p, int c) { if (ISK(c) && ttisstring(&p->k[INDEXK(c)])) return svalue(&p->k[INDEXK(c)]); else return "?"; } static const char *getobjname (lua_State *L, CallInfo *ci, int stackpos, const char **name) { if (isLua(ci)) { /* a Lua function? */ Proto *p = ci_func(ci)->l.p; int pc = currentpc(L, ci); Instruction i; *name = luaF_getlocalname(p, stackpos+1, pc); if (*name) /* is a local? */ return "local"; i = symbexec(p, pc, stackpos); /* try symbolic execution */ lua_assert(pc != -1); switch (GET_OPCODE(i)) { case OP_GETGLOBAL: { int g = GETARG_Bx(i); /* global index */ lua_assert(ttisstring(&p->k[g])); *name = svalue(&p->k[g]); return "global"; } case OP_MOVE: { int a = GETARG_A(i); int b = GETARG_B(i); /* move from `b' to `a' */ if (b < a) return getobjname(L, ci, b, name); /* get name for `b' */ break; } case OP_GETTABLE: { int k = GETARG_C(i); /* key index */ *name = kname(p, k); return "field"; } case OP_GETUPVAL: { int u = GETARG_B(i); /* upvalue index */ *name = p->upvalues ? getstr(p->upvalues[u]) : "?"; return "upvalue"; } case OP_SELF: { int k = GETARG_C(i); /* key index */ *name = kname(p, k); return "method"; } default: break; } } return NULL; /* no useful name found */ } static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name) { Instruction i; if ((isLua(ci) && ci->tailcalls > 0) || !isLua(ci - 1)) return NULL; /* calling function is not Lua (or is unknown) */ ci--; /* calling function */ i = ci_func(ci)->l.p->code[currentpc(L, ci)]; if (GET_OPCODE(i) == OP_CALL || GET_OPCODE(i) == OP_TAILCALL || GET_OPCODE(i) == OP_TFORLOOP) return getobjname(L, ci, GETARG_A(i), name); else return NULL; /* no useful name can be found */ } /* only ANSI way to check whether a pointer points to an array */ static int isinstack (CallInfo *ci, const TValue *o) { StkId p; for (p = ci->base; p < ci->top; p++) if (o == p) return 1; return 0; } void luaG_typeerror (lua_State *L, const TValue *o, const char *op) { const char *name = NULL; const char *t = luaT_typenames[ttype(o)]; const char *kind = (isinstack(L->ci, o)) ? getobjname(L, L->ci, cast_int(o - L->base), &name) : NULL; if (kind) luaG_runerror(L, "attempt to %s %s " LUA_QS " (a %s value)", op, kind, name, t); else luaG_runerror(L, "attempt to %s a %s value", op, t); } void luaG_concaterror (lua_State *L, StkId p1, StkId p2) { if (ttisstring(p1)) p1 = p2; lua_assert(!ttisstring(p1)); luaG_typeerror(L, p1, "concatenate"); } void luaG_aritherror (lua_State *L, const TValue *p1, const TValue *p2) { TValue temp; if (luaV_tonumber(p1, &temp) == NULL) p2 = p1; /* first operand is wrong */ luaG_typeerror(L, p2, "perform arithmetic on"); } int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { const char *t1 = luaT_typenames[ttype(p1)]; const char *t2 = luaT_typenames[ttype(p2)]; if (t1[2] == t2[2]) luaG_runerror(L, "attempt to compare two %s values", t1); else luaG_runerror(L, "attempt to compare %s with %s", t1, t2); return 0; } static void addinfo (lua_State *L, const char *msg) { CallInfo *ci = L->ci; if (isLua(ci)) { /* is Lua code? */ char buff[LUA_IDSIZE]; /* add file:line information */ int line = currentline(L, ci); luaO_chunkid(buff, getstr(getluaproto(ci)->source), LUA_IDSIZE); luaO_pushfstring(L, "%s:%d: %s", buff, line, msg); } } void luaG_errormsg (lua_State *L) { if (L->errfunc != 0) { /* is there an error handling function? */ StkId errfunc = restorestack(L, L->errfunc); if (!ttisfunction(errfunc)) luaD_throw(L, LUA_ERRERR); setobjs2s(L, L->top, L->top - 1); /* move argument */ setobjs2s(L, L->top - 1, errfunc); /* push function */ incr_top(L); luaD_call(L, L->top - 2, 1); /* call it */ } luaD_throw(L, LUA_ERRRUN); } void luaG_runerror (lua_State *L, const char *fmt, ...) { va_list argp; va_start(argp, fmt); addinfo(L, luaO_pushvfstring(L, fmt, argp)); va_end(argp); luaG_errormsg(L); } gtk-engines-2.20.2/engines/lua/src/liblua/ldo.c0000644000175000017500000003454011451352576016142 00000000000000/* ** $Id$ ** Stack and Call structure of Lua ** See Copyright Notice in lua.h */ #include #include #include #define ldo_c #define LUA_CORE #include "lua.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "lgc.h" #include "lmem.h" #include "lobject.h" #include "lopcodes.h" #include "lparser.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "ltm.h" #include "lundump.h" #include "lvm.h" #include "lzio.h" /* ** {====================================================== ** Error-recovery functions ** ======================================================= */ /* chain list of long jump buffers */ struct lua_longjmp { struct lua_longjmp *previous; luai_jmpbuf b; volatile int status; /* error code */ }; void luaD_seterrorobj (lua_State *L, int errcode, StkId oldtop) { switch (errcode) { case LUA_ERRMEM: { setsvalue2s(L, oldtop, luaS_newliteral(L, MEMERRMSG)); break; } case LUA_ERRERR: { setsvalue2s(L, oldtop, luaS_newliteral(L, "error in error handling")); break; } case LUA_ERRSYNTAX: case LUA_ERRRUN: { setobjs2s(L, oldtop, L->top - 1); /* error message on current top */ break; } } L->top = oldtop + 1; } static void restore_stack_limit (lua_State *L) { lua_assert(L->stack_last - L->stack == L->stacksize - EXTRA_STACK - 1); if (L->size_ci > LUAI_MAXCALLS) { /* there was an overflow? */ int inuse = cast_int(L->ci - L->base_ci); if (inuse + 1 < LUAI_MAXCALLS) /* can `undo' overflow? */ luaD_reallocCI(L, LUAI_MAXCALLS); } } static void resetstack (lua_State *L, int status) { L->ci = L->base_ci; L->base = L->ci->base; luaF_close(L, L->base); /* close eventual pending closures */ luaD_seterrorobj(L, status, L->base); L->nCcalls = 0; L->allowhook = 1; restore_stack_limit(L); L->errfunc = 0; L->errorJmp = NULL; } void luaD_throw (lua_State *L, int errcode) { if (L->errorJmp) { L->errorJmp->status = errcode; LUAI_THROW(L, L->errorJmp); } else { L->status = cast_byte(errcode); if (G(L)->panic) { resetstack(L, errcode); lua_unlock(L); G(L)->panic(L); } exit(EXIT_FAILURE); } } int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) { struct lua_longjmp lj; lj.status = 0; lj.previous = L->errorJmp; /* chain new error handler */ L->errorJmp = &lj; LUAI_TRY(L, &lj, (*f)(L, ud); ); L->errorJmp = lj.previous; /* restore old error handler */ return lj.status; } /* }====================================================== */ static void correctstack (lua_State *L, TValue *oldstack) { CallInfo *ci; GCObject *up; L->top = (L->top - oldstack) + L->stack; for (up = L->openupval; up != NULL; up = up->gch.next) gco2uv(up)->v = (gco2uv(up)->v - oldstack) + L->stack; for (ci = L->base_ci; ci <= L->ci; ci++) { ci->top = (ci->top - oldstack) + L->stack; ci->base = (ci->base - oldstack) + L->stack; ci->func = (ci->func - oldstack) + L->stack; } L->base = (L->base - oldstack) + L->stack; } void luaD_reallocstack (lua_State *L, int newsize) { TValue *oldstack = L->stack; int realsize = newsize + 1 + EXTRA_STACK; lua_assert(L->stack_last - L->stack == L->stacksize - EXTRA_STACK - 1); luaM_reallocvector(L, L->stack, L->stacksize, realsize, TValue); L->stacksize = realsize; L->stack_last = L->stack+newsize; correctstack(L, oldstack); } void luaD_reallocCI (lua_State *L, int newsize) { CallInfo *oldci = L->base_ci; luaM_reallocvector(L, L->base_ci, L->size_ci, newsize, CallInfo); L->size_ci = newsize; L->ci = (L->ci - oldci) + L->base_ci; L->end_ci = L->base_ci + L->size_ci - 1; } void luaD_growstack (lua_State *L, int n) { if (n <= L->stacksize) /* double size is enough? */ luaD_reallocstack(L, 2*L->stacksize); else luaD_reallocstack(L, L->stacksize + n); } static CallInfo *growCI (lua_State *L) { if (L->size_ci > LUAI_MAXCALLS) /* overflow while handling overflow? */ luaD_throw(L, LUA_ERRERR); else { luaD_reallocCI(L, 2*L->size_ci); if (L->size_ci > LUAI_MAXCALLS) luaG_runerror(L, "stack overflow"); } return ++L->ci; } void luaD_callhook (lua_State *L, int event, int line) { lua_Hook hook = L->hook; if (hook && L->allowhook) { ptrdiff_t top = savestack(L, L->top); ptrdiff_t ci_top = savestack(L, L->ci->top); lua_Debug ar; ar.event = event; ar.currentline = line; if (event == LUA_HOOKTAILRET) ar.i_ci = 0; /* tail call; no debug information about it */ else ar.i_ci = cast_int(L->ci - L->base_ci); luaD_checkstack(L, LUA_MINSTACK); /* ensure minimum stack size */ L->ci->top = L->top + LUA_MINSTACK; lua_assert(L->ci->top <= L->stack_last); L->allowhook = 0; /* cannot call hooks inside a hook */ lua_unlock(L); (*hook)(L, &ar); lua_lock(L); lua_assert(!L->allowhook); L->allowhook = 1; L->ci->top = restorestack(L, ci_top); L->top = restorestack(L, top); } } static StkId adjust_varargs (lua_State *L, Proto *p, int actual) { int i; int nfixargs = p->numparams; Table *htab = NULL; StkId base, fixed; for (; actual < nfixargs; ++actual) setnilvalue(L->top++); #if defined(LUA_COMPAT_VARARG) if (p->is_vararg & VARARG_NEEDSARG) { /* compat. with old-style vararg? */ int nvar = actual - nfixargs; /* number of extra arguments */ lua_assert(p->is_vararg & VARARG_HASARG); luaC_checkGC(L); htab = luaH_new(L, nvar, 1); /* create `arg' table */ for (i=0; itop - nvar + i); /* store counter in field `n' */ setnvalue(luaH_setstr(L, htab, luaS_newliteral(L, "n")), cast_num(nvar)); } #endif /* move fixed parameters to final position */ fixed = L->top - actual; /* first fixed argument */ base = L->top; /* final position of first argument */ for (i=0; itop++, fixed+i); setnilvalue(fixed+i); } /* add `arg' parameter */ if (htab) { sethvalue(L, L->top++, htab); lua_assert(iswhite(obj2gco(htab))); } return base; } static StkId tryfuncTM (lua_State *L, StkId func) { const TValue *tm = luaT_gettmbyobj(L, func, TM_CALL); StkId p; ptrdiff_t funcr = savestack(L, func); if (!ttisfunction(tm)) luaG_typeerror(L, func, "call"); /* Open a hole inside the stack at `func' */ for (p = L->top; p > func; p--) setobjs2s(L, p, p-1); incr_top(L); func = restorestack(L, funcr); /* previous call may change stack */ setobj2s(L, func, tm); /* tag method is the new function to be called */ return func; } #define inc_ci(L) \ ((L->ci == L->end_ci) ? growCI(L) : \ (condhardstacktests(luaD_reallocCI(L, L->size_ci)), ++L->ci)) int luaD_precall (lua_State *L, StkId func, int nresults) { LClosure *cl; ptrdiff_t funcr; if (!ttisfunction(func)) /* `func' is not a function? */ func = tryfuncTM(L, func); /* check the `function' tag method */ funcr = savestack(L, func); cl = &clvalue(func)->l; L->ci->savedpc = L->savedpc; if (!cl->isC) { /* Lua function? prepare its call */ CallInfo *ci; StkId st, base; Proto *p = cl->p; luaD_checkstack(L, p->maxstacksize); func = restorestack(L, funcr); if (!p->is_vararg) { /* no varargs? */ base = func + 1; if (L->top > base + p->numparams) L->top = base + p->numparams; } else { /* vararg function */ int nargs = cast_int(L->top - func) - 1; base = adjust_varargs(L, p, nargs); func = restorestack(L, funcr); /* previous call may change the stack */ } ci = inc_ci(L); /* now `enter' new function */ ci->func = func; L->base = ci->base = base; ci->top = L->base + p->maxstacksize; lua_assert(ci->top <= L->stack_last); L->savedpc = p->code; /* starting point */ ci->tailcalls = 0; ci->nresults = nresults; for (st = L->top; st < ci->top; st++) setnilvalue(st); L->top = ci->top; if (L->hookmask & LUA_MASKCALL) { L->savedpc++; /* hooks assume 'pc' is already incremented */ luaD_callhook(L, LUA_HOOKCALL, -1); L->savedpc--; /* correct 'pc' */ } return PCRLUA; } else { /* if is a C function, call it */ CallInfo *ci; int n; luaD_checkstack(L, LUA_MINSTACK); /* ensure minimum stack size */ ci = inc_ci(L); /* now `enter' new function */ ci->func = restorestack(L, funcr); L->base = ci->base = ci->func + 1; ci->top = L->top + LUA_MINSTACK; lua_assert(ci->top <= L->stack_last); ci->nresults = nresults; if (L->hookmask & LUA_MASKCALL) luaD_callhook(L, LUA_HOOKCALL, -1); lua_unlock(L); n = (*curr_func(L)->c.f)(L); /* do the actual call */ lua_lock(L); if (n < 0) /* yielding? */ return PCRYIELD; else { luaD_poscall(L, L->top - n); return PCRC; } } } static StkId callrethooks (lua_State *L, StkId firstResult) { ptrdiff_t fr = savestack(L, firstResult); /* next call may change stack */ luaD_callhook(L, LUA_HOOKRET, -1); if (f_isLua(L->ci)) { /* Lua function? */ while (L->ci->tailcalls--) /* call hook for eventual tail calls */ luaD_callhook(L, LUA_HOOKTAILRET, -1); } return restorestack(L, fr); } int luaD_poscall (lua_State *L, StkId firstResult) { StkId res; int wanted, i; CallInfo *ci; if (L->hookmask & LUA_MASKRET) firstResult = callrethooks(L, firstResult); ci = L->ci--; res = ci->func; /* res == final position of 1st result */ wanted = ci->nresults; L->base = (ci - 1)->base; /* restore base */ L->savedpc = (ci - 1)->savedpc; /* restore savedpc */ /* move results to correct place */ for (i = wanted; i != 0 && firstResult < L->top; i--) setobjs2s(L, res++, firstResult++); while (i-- > 0) setnilvalue(res++); L->top = res; return (wanted - LUA_MULTRET); /* 0 iff wanted == LUA_MULTRET */ } /* ** Call a function (C or Lua). The function to be called is at *func. ** The arguments are on the stack, right after the function. ** When returns, all the results are on the stack, starting at the original ** function position. */ void luaD_call (lua_State *L, StkId func, int nResults) { if (++L->nCcalls >= LUAI_MAXCCALLS) { if (L->nCcalls == LUAI_MAXCCALLS) luaG_runerror(L, "C stack overflow"); else if (L->nCcalls >= (LUAI_MAXCCALLS + (LUAI_MAXCCALLS>>3))) luaD_throw(L, LUA_ERRERR); /* error while handing stack error */ } if (luaD_precall(L, func, nResults) == PCRLUA) /* is a Lua function? */ luaV_execute(L, 1); /* call it */ L->nCcalls--; luaC_checkGC(L); } static void resume (lua_State *L, void *ud) { StkId firstArg = cast(StkId, ud); CallInfo *ci = L->ci; if (L->status == 0) { /* start coroutine? */ lua_assert(ci == L->base_ci && firstArg > L->base); if (luaD_precall(L, firstArg - 1, LUA_MULTRET) != PCRLUA) return; } else { /* resuming from previous yield */ lua_assert(L->status == LUA_YIELD); L->status = 0; if (!f_isLua(ci)) { /* `common' yield? */ /* finish interrupted execution of `OP_CALL' */ lua_assert(GET_OPCODE(*((ci-1)->savedpc - 1)) == OP_CALL || GET_OPCODE(*((ci-1)->savedpc - 1)) == OP_TAILCALL); if (luaD_poscall(L, firstArg)) /* complete it... */ L->top = L->ci->top; /* and correct top if not multiple results */ } else /* yielded inside a hook: just continue its execution */ L->base = L->ci->base; } luaV_execute(L, cast_int(L->ci - L->base_ci)); } static int resume_error (lua_State *L, const char *msg) { L->top = L->ci->base; setsvalue2s(L, L->top, luaS_new(L, msg)); incr_top(L); lua_unlock(L); return LUA_ERRRUN; } LUA_API int lua_resume (lua_State *L, int nargs) { int status; lua_lock(L); if (L->status != LUA_YIELD) { if (L->status != 0) return resume_error(L, "cannot resume dead coroutine"); else if (L->ci != L->base_ci) return resume_error(L, "cannot resume non-suspended coroutine"); } luai_userstateresume(L, nargs); lua_assert(L->errfunc == 0 && L->nCcalls == 0); status = luaD_rawrunprotected(L, resume, L->top - nargs); if (status != 0) { /* error? */ L->status = cast_byte(status); /* mark thread as `dead' */ luaD_seterrorobj(L, status, L->top); L->ci->top = L->top; } else status = L->status; lua_unlock(L); return status; } LUA_API int lua_yield (lua_State *L, int nresults) { luai_userstateyield(L, nresults); lua_lock(L); if (L->nCcalls > 0) luaG_runerror(L, "attempt to yield across metamethod/C-call boundary"); L->base = L->top - nresults; /* protect stack slots below */ L->status = LUA_YIELD; lua_unlock(L); return -1; } int luaD_pcall (lua_State *L, Pfunc func, void *u, ptrdiff_t old_top, ptrdiff_t ef) { int status; unsigned short oldnCcalls = L->nCcalls; ptrdiff_t old_ci = saveci(L, L->ci); lu_byte old_allowhooks = L->allowhook; ptrdiff_t old_errfunc = L->errfunc; L->errfunc = ef; status = luaD_rawrunprotected(L, func, u); if (status != 0) { /* an error occurred? */ StkId oldtop = restorestack(L, old_top); luaF_close(L, oldtop); /* close eventual pending closures */ luaD_seterrorobj(L, status, oldtop); L->nCcalls = oldnCcalls; L->ci = restoreci(L, old_ci); L->base = L->ci->base; L->savedpc = L->ci->savedpc; L->allowhook = old_allowhooks; restore_stack_limit(L); } L->errfunc = old_errfunc; return status; } /* ** Execute a protected parser. */ struct SParser { /* data to `f_parser' */ ZIO *z; Mbuffer buff; /* buffer to be used by the scanner */ const char *name; }; static void f_parser (lua_State *L, void *ud) { int i; Proto *tf; Closure *cl; struct SParser *p = cast(struct SParser *, ud); int c = luaZ_lookahead(p->z); luaC_checkGC(L); tf = ((c == LUA_SIGNATURE[0]) ? luaU_undump : luaY_parser)(L, p->z, &p->buff, p->name); cl = luaF_newLclosure(L, tf->nups, hvalue(gt(L))); cl->l.p = tf; for (i = 0; i < tf->nups; i++) /* initialize eventual upvalues */ cl->l.upvals[i] = luaF_newupval(L); setclvalue(L, L->top, cl); incr_top(L); } int luaD_protectedparser (lua_State *L, ZIO *z, const char *name) { struct SParser p; int status; p.z = z; p.name = name; luaZ_initbuffer(L, &p.buff); status = luaD_pcall(L, f_parser, &p, savestack(L, L->top), L->errfunc); luaZ_freebuffer(L, &p.buff); return status; } gtk-engines-2.20.2/engines/lua/src/liblua/ldump.c0000644000175000017500000000576611451352576016515 00000000000000/* ** $Id$ ** save precompiled Lua chunks ** See Copyright Notice in lua.h */ #include #define ldump_c #define LUA_CORE #include "lua.h" #include "lobject.h" #include "lstate.h" #include "lundump.h" typedef struct { lua_State* L; lua_Writer writer; void* data; int strip; int status; } DumpState; #define DumpMem(b,n,size,D) DumpBlock(b,(n)*(size),D) #define DumpVar(x,D) DumpMem(&x,1,sizeof(x),D) static void DumpBlock(const void* b, size_t size, DumpState* D) { if (D->status==0) { lua_unlock(D->L); D->status=(*D->writer)(D->L,b,size,D->data); lua_lock(D->L); } } static void DumpChar(int y, DumpState* D) { char x=(char)y; DumpVar(x,D); } static void DumpInt(int x, DumpState* D) { DumpVar(x,D); } static void DumpNumber(lua_Number x, DumpState* D) { DumpVar(x,D); } static void DumpVector(const void* b, int n, size_t size, DumpState* D) { DumpInt(n,D); DumpMem(b,n,size,D); } static void DumpString(const TString* s, DumpState* D) { if (s==NULL || getstr(s)==NULL) { size_t size=0; DumpVar(size,D); } else { size_t size=s->tsv.len+1; /* include trailing '\0' */ DumpVar(size,D); DumpBlock(getstr(s),size,D); } } #define DumpCode(f,D) DumpVector(f->code,f->sizecode,sizeof(Instruction),D) static void DumpFunction(const Proto* f, const TString* p, DumpState* D); static void DumpConstants(const Proto* f, DumpState* D) { int i,n=f->sizek; DumpInt(n,D); for (i=0; ik[i]; DumpChar(ttype(o),D); switch (ttype(o)) { case LUA_TNIL: break; case LUA_TBOOLEAN: DumpChar(bvalue(o),D); break; case LUA_TNUMBER: DumpNumber(nvalue(o),D); break; case LUA_TSTRING: DumpString(rawtsvalue(o),D); break; default: lua_assert(0); /* cannot happen */ break; } } n=f->sizep; DumpInt(n,D); for (i=0; ip[i],f->source,D); } static void DumpDebug(const Proto* f, DumpState* D) { int i,n; n= (D->strip) ? 0 : f->sizelineinfo; DumpVector(f->lineinfo,n,sizeof(int),D); n= (D->strip) ? 0 : f->sizelocvars; DumpInt(n,D); for (i=0; ilocvars[i].varname,D); DumpInt(f->locvars[i].startpc,D); DumpInt(f->locvars[i].endpc,D); } n= (D->strip) ? 0 : f->sizeupvalues; DumpInt(n,D); for (i=0; iupvalues[i],D); } static void DumpFunction(const Proto* f, const TString* p, DumpState* D) { DumpString((f->source==p || D->strip) ? NULL : f->source,D); DumpInt(f->linedefined,D); DumpInt(f->lastlinedefined,D); DumpChar(f->nups,D); DumpChar(f->numparams,D); DumpChar(f->is_vararg,D); DumpChar(f->maxstacksize,D); DumpCode(f,D); DumpConstants(f,D); DumpDebug(f,D); } static void DumpHeader(DumpState* D) { char h[LUAC_HEADERSIZE]; luaU_header(h); DumpBlock(h,LUAC_HEADERSIZE,D); } /* ** dump Lua function as precompiled chunk */ int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip) { DumpState D; D.L=L; D.writer=w; D.data=data; D.strip=strip; D.status=0; DumpHeader(&D); DumpFunction(f,NULL,&D); return D.status; } gtk-engines-2.20.2/engines/lua/src/liblua/lfunc.c0000644000175000017500000001071111451352576016465 00000000000000/* ** $Id$ ** Auxiliary functions to manipulate prototypes and closures ** See Copyright Notice in lua.h */ #include #define lfunc_c #define LUA_CORE #include "lua.h" #include "lfunc.h" #include "lgc.h" #include "lmem.h" #include "lobject.h" #include "lstate.h" Closure *luaF_newCclosure (lua_State *L, int nelems, Table *e) { Closure *c = cast(Closure *, luaM_malloc(L, sizeCclosure(nelems))); luaC_link(L, obj2gco(c), LUA_TFUNCTION); c->c.isC = 1; c->c.env = e; c->c.nupvalues = cast_byte(nelems); return c; } Closure *luaF_newLclosure (lua_State *L, int nelems, Table *e) { Closure *c = cast(Closure *, luaM_malloc(L, sizeLclosure(nelems))); luaC_link(L, obj2gco(c), LUA_TFUNCTION); c->l.isC = 0; c->l.env = e; c->l.nupvalues = cast_byte(nelems); while (nelems--) c->l.upvals[nelems] = NULL; return c; } UpVal *luaF_newupval (lua_State *L) { UpVal *uv = luaM_new(L, UpVal); luaC_link(L, obj2gco(uv), LUA_TUPVAL); uv->v = &uv->u.value; setnilvalue(uv->v); return uv; } UpVal *luaF_findupval (lua_State *L, StkId level) { global_State *g = G(L); GCObject **pp = &L->openupval; UpVal *p; UpVal *uv; while ((p = ngcotouv(*pp)) != NULL && p->v >= level) { lua_assert(p->v != &p->u.value); if (p->v == level) { /* found a corresponding upvalue? */ if (isdead(g, obj2gco(p))) /* is it dead? */ changewhite(obj2gco(p)); /* ressurect it */ return p; } pp = &p->next; } uv = luaM_new(L, UpVal); /* not found: create a new one */ uv->tt = LUA_TUPVAL; uv->marked = luaC_white(g); uv->v = level; /* current value lives in the stack */ uv->next = *pp; /* chain it in the proper position */ *pp = obj2gco(uv); uv->u.l.prev = &g->uvhead; /* double link it in `uvhead' list */ uv->u.l.next = g->uvhead.u.l.next; uv->u.l.next->u.l.prev = uv; g->uvhead.u.l.next = uv; lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); return uv; } static void unlinkupval (UpVal *uv) { lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); uv->u.l.next->u.l.prev = uv->u.l.prev; /* remove from `uvhead' list */ uv->u.l.prev->u.l.next = uv->u.l.next; } void luaF_freeupval (lua_State *L, UpVal *uv) { if (uv->v != &uv->u.value) /* is it open? */ unlinkupval(uv); /* remove from open list */ luaM_free(L, uv); /* free upvalue */ } void luaF_close (lua_State *L, StkId level) { UpVal *uv; global_State *g = G(L); while ((uv = ngcotouv(L->openupval)) != NULL && uv->v >= level) { GCObject *o = obj2gco(uv); lua_assert(!isblack(o) && uv->v != &uv->u.value); L->openupval = uv->next; /* remove from `open' list */ if (isdead(g, o)) luaF_freeupval(L, uv); /* free upvalue */ else { unlinkupval(uv); setobj(L, &uv->u.value, uv->v); uv->v = &uv->u.value; /* now current value lives here */ luaC_linkupval(L, uv); /* link upvalue into `gcroot' list */ } } } Proto *luaF_newproto (lua_State *L) { Proto *f = luaM_new(L, Proto); luaC_link(L, obj2gco(f), LUA_TPROTO); f->k = NULL; f->sizek = 0; f->p = NULL; f->sizep = 0; f->code = NULL; f->sizecode = 0; f->sizelineinfo = 0; f->sizeupvalues = 0; f->nups = 0; f->upvalues = NULL; f->numparams = 0; f->is_vararg = 0; f->maxstacksize = 0; f->lineinfo = NULL; f->sizelocvars = 0; f->locvars = NULL; f->linedefined = 0; f->lastlinedefined = 0; f->source = NULL; return f; } void luaF_freeproto (lua_State *L, Proto *f) { luaM_freearray(L, f->code, f->sizecode, Instruction); luaM_freearray(L, f->p, f->sizep, Proto *); luaM_freearray(L, f->k, f->sizek, TValue); luaM_freearray(L, f->lineinfo, f->sizelineinfo, int); luaM_freearray(L, f->locvars, f->sizelocvars, struct LocVar); luaM_freearray(L, f->upvalues, f->sizeupvalues, TString *); luaM_free(L, f); } void luaF_freeclosure (lua_State *L, Closure *c) { int size = (c->c.isC) ? sizeCclosure(c->c.nupvalues) : sizeLclosure(c->l.nupvalues); luaM_freemem(L, c, size); } /* ** Look for n-th local variable at line `line' in function `func'. ** Returns NULL if not found. */ const char *luaF_getlocalname (const Proto *f, int local_number, int pc) { int i; for (i = 0; isizelocvars && f->locvars[i].startpc <= pc; i++) { if (pc < f->locvars[i].endpc) { /* is variable active? */ local_number--; if (local_number == 0) return getstr(f->locvars[i].varname); } } return NULL; /* not found */ } gtk-engines-2.20.2/engines/lua/src/liblua/lgc.c0000644000175000017500000004712011451352576016127 00000000000000/* ** $Id$ ** Garbage Collector ** See Copyright Notice in lua.h */ #include #define lgc_c #define LUA_CORE #include "lua.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "lgc.h" #include "lmem.h" #include "lobject.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "ltm.h" #define GCSTEPSIZE 1024u #define GCSWEEPMAX 40 #define GCSWEEPCOST 10 #define GCFINALIZECOST 100 #define maskmarks cast_byte(~(bitmask(BLACKBIT)|WHITEBITS)) #define makewhite(g,x) \ ((x)->gch.marked = cast_byte(((x)->gch.marked & maskmarks) | luaC_white(g))) #define white2gray(x) reset2bits((x)->gch.marked, WHITE0BIT, WHITE1BIT) #define black2gray(x) resetbit((x)->gch.marked, BLACKBIT) #define stringmark(s) reset2bits((s)->tsv.marked, WHITE0BIT, WHITE1BIT) #define isfinalized(u) testbit((u)->marked, FINALIZEDBIT) #define markfinalized(u) l_setbit((u)->marked, FINALIZEDBIT) #define KEYWEAK bitmask(KEYWEAKBIT) #define VALUEWEAK bitmask(VALUEWEAKBIT) #define markvalue(g,o) { checkconsistency(o); \ if (iscollectable(o) && iswhite(gcvalue(o))) reallymarkobject(g,gcvalue(o)); } #define markobject(g,t) { if (iswhite(obj2gco(t))) \ reallymarkobject(g, obj2gco(t)); } #define setthreshold(g) (g->GCthreshold = (g->estimate/100) * g->gcpause) static void removeentry (Node *n) { lua_assert(ttisnil(gval(n))); if (iscollectable(gkey(n))) setttype(gkey(n), LUA_TDEADKEY); /* dead key; remove it */ } static void reallymarkobject (global_State *g, GCObject *o) { lua_assert(iswhite(o) && !isdead(g, o)); white2gray(o); switch (o->gch.tt) { case LUA_TSTRING: { return; } case LUA_TUSERDATA: { Table *mt = gco2u(o)->metatable; gray2black(o); /* udata are never gray */ if (mt) markobject(g, mt); markobject(g, gco2u(o)->env); return; } case LUA_TUPVAL: { UpVal *uv = gco2uv(o); markvalue(g, uv->v); if (uv->v == &uv->u.value) /* closed? */ gray2black(o); /* open upvalues are never black */ return; } case LUA_TFUNCTION: { gco2cl(o)->c.gclist = g->gray; g->gray = o; break; } case LUA_TTABLE: { gco2h(o)->gclist = g->gray; g->gray = o; break; } case LUA_TTHREAD: { gco2th(o)->gclist = g->gray; g->gray = o; break; } case LUA_TPROTO: { gco2p(o)->gclist = g->gray; g->gray = o; break; } default: lua_assert(0); } } static void marktmu (global_State *g) { GCObject *u = g->tmudata; if (u) { do { u = u->gch.next; makewhite(g, u); /* may be marked, if left from previous GC */ reallymarkobject(g, u); } while (u != g->tmudata); } } /* move `dead' udata that need finalization to list `tmudata' */ size_t luaC_separateudata (lua_State *L, int all) { global_State *g = G(L); size_t deadmem = 0; GCObject **p = &g->mainthread->next; GCObject *curr; while ((curr = *p) != NULL) { if (!(iswhite(curr) || all) || isfinalized(gco2u(curr))) p = &curr->gch.next; /* don't bother with them */ else if (fasttm(L, gco2u(curr)->metatable, TM_GC) == NULL) { markfinalized(gco2u(curr)); /* don't need finalization */ p = &curr->gch.next; } else { /* must call its gc method */ deadmem += sizeudata(gco2u(curr)); markfinalized(gco2u(curr)); *p = curr->gch.next; /* link `curr' at the end of `tmudata' list */ if (g->tmudata == NULL) /* list is empty? */ g->tmudata = curr->gch.next = curr; /* creates a circular list */ else { curr->gch.next = g->tmudata->gch.next; g->tmudata->gch.next = curr; g->tmudata = curr; } } } return deadmem; } static int traversetable (global_State *g, Table *h) { int i; int weakkey = 0; int weakvalue = 0; const TValue *mode; if (h->metatable) markobject(g, h->metatable); mode = gfasttm(g, h->metatable, TM_MODE); if (mode && ttisstring(mode)) { /* is there a weak mode? */ weakkey = (strchr(svalue(mode), 'k') != NULL); weakvalue = (strchr(svalue(mode), 'v') != NULL); if (weakkey || weakvalue) { /* is really weak? */ h->marked &= ~(KEYWEAK | VALUEWEAK); /* clear bits */ h->marked |= cast_byte((weakkey << KEYWEAKBIT) | (weakvalue << VALUEWEAKBIT)); h->gclist = g->weak; /* must be cleared after GC, ... */ g->weak = obj2gco(h); /* ... so put in the appropriate list */ } } if (weakkey && weakvalue) return 1; if (!weakvalue) { i = h->sizearray; while (i--) markvalue(g, &h->array[i]); } i = sizenode(h); while (i--) { Node *n = gnode(h, i); lua_assert(ttype(gkey(n)) != LUA_TDEADKEY || ttisnil(gval(n))); if (ttisnil(gval(n))) removeentry(n); /* remove empty entries */ else { lua_assert(!ttisnil(gkey(n))); if (!weakkey) markvalue(g, gkey(n)); if (!weakvalue) markvalue(g, gval(n)); } } return weakkey || weakvalue; } /* ** All marks are conditional because a GC may happen while the ** prototype is still being created */ static void traverseproto (global_State *g, Proto *f) { int i; if (f->source) stringmark(f->source); for (i=0; isizek; i++) /* mark literals */ markvalue(g, &f->k[i]); for (i=0; isizeupvalues; i++) { /* mark upvalue names */ if (f->upvalues[i]) stringmark(f->upvalues[i]); } for (i=0; isizep; i++) { /* mark nested protos */ if (f->p[i]) markobject(g, f->p[i]); } for (i=0; isizelocvars; i++) { /* mark local-variable names */ if (f->locvars[i].varname) stringmark(f->locvars[i].varname); } } static void traverseclosure (global_State *g, Closure *cl) { markobject(g, cl->c.env); if (cl->c.isC) { int i; for (i=0; ic.nupvalues; i++) /* mark its upvalues */ markvalue(g, &cl->c.upvalue[i]); } else { int i; lua_assert(cl->l.nupvalues == cl->l.p->nups); markobject(g, cl->l.p); for (i=0; il.nupvalues; i++) /* mark its upvalues */ markobject(g, cl->l.upvals[i]); } } static void checkstacksizes (lua_State *L, StkId max) { int ci_used = cast_int(L->ci - L->base_ci); /* number of `ci' in use */ int s_used = cast_int(max - L->stack); /* part of stack in use */ if (L->size_ci > LUAI_MAXCALLS) /* handling overflow? */ return; /* do not touch the stacks */ if (4*ci_used < L->size_ci && 2*BASIC_CI_SIZE < L->size_ci) luaD_reallocCI(L, L->size_ci/2); /* still big enough... */ condhardstacktests(luaD_reallocCI(L, ci_used + 1)); if (4*s_used < L->stacksize && 2*(BASIC_STACK_SIZE+EXTRA_STACK) < L->stacksize) luaD_reallocstack(L, L->stacksize/2); /* still big enough... */ condhardstacktests(luaD_reallocstack(L, s_used)); } static void traversestack (global_State *g, lua_State *l) { StkId o, lim; CallInfo *ci; markvalue(g, gt(l)); lim = l->top; for (ci = l->base_ci; ci <= l->ci; ci++) { lua_assert(ci->top <= l->stack_last); if (lim < ci->top) lim = ci->top; } for (o = l->stack; o < l->top; o++) markvalue(g, o); for (; o <= lim; o++) setnilvalue(o); checkstacksizes(l, lim); } /* ** traverse one gray object, turning it to black. ** Returns `quantity' traversed. */ static l_mem propagatemark (global_State *g) { GCObject *o = g->gray; lua_assert(isgray(o)); gray2black(o); switch (o->gch.tt) { case LUA_TTABLE: { Table *h = gco2h(o); g->gray = h->gclist; if (traversetable(g, h)) /* table is weak? */ black2gray(o); /* keep it gray */ return sizeof(Table) + sizeof(TValue) * h->sizearray + sizeof(Node) * sizenode(h); } case LUA_TFUNCTION: { Closure *cl = gco2cl(o); g->gray = cl->c.gclist; traverseclosure(g, cl); return (cl->c.isC) ? sizeCclosure(cl->c.nupvalues) : sizeLclosure(cl->l.nupvalues); } case LUA_TTHREAD: { lua_State *th = gco2th(o); g->gray = th->gclist; th->gclist = g->grayagain; g->grayagain = o; black2gray(o); traversestack(g, th); return sizeof(lua_State) + sizeof(TValue) * th->stacksize + sizeof(CallInfo) * th->size_ci; } case LUA_TPROTO: { Proto *p = gco2p(o); g->gray = p->gclist; traverseproto(g, p); return sizeof(Proto) + sizeof(Instruction) * p->sizecode + sizeof(Proto *) * p->sizep + sizeof(TValue) * p->sizek + sizeof(int) * p->sizelineinfo + sizeof(LocVar) * p->sizelocvars + sizeof(TString *) * p->sizeupvalues; } default: lua_assert(0); return 0; } } static size_t propagateall (global_State *g) { size_t m = 0; while (g->gray) m += propagatemark(g); return m; } /* ** The next function tells whether a key or value can be cleared from ** a weak table. Non-collectable objects are never removed from weak ** tables. Strings behave as `values', so are never removed too. for ** other objects: if really collected, cannot keep them; for userdata ** being finalized, keep them in keys, but not in values */ static int iscleared (const TValue *o, int iskey) { if (!iscollectable(o)) return 0; if (ttisstring(o)) { stringmark(rawtsvalue(o)); /* strings are `values', so are never weak */ return 0; } return iswhite(gcvalue(o)) || (ttisuserdata(o) && (!iskey && isfinalized(uvalue(o)))); } /* ** clear collected entries from weaktables */ static void cleartable (GCObject *l) { while (l) { Table *h = gco2h(l); int i = h->sizearray; lua_assert(testbit(h->marked, VALUEWEAKBIT) || testbit(h->marked, KEYWEAKBIT)); if (testbit(h->marked, VALUEWEAKBIT)) { while (i--) { TValue *o = &h->array[i]; if (iscleared(o, 0)) /* value was collected? */ setnilvalue(o); /* remove value */ } } i = sizenode(h); while (i--) { Node *n = gnode(h, i); if (!ttisnil(gval(n)) && /* non-empty entry? */ (iscleared(key2tval(n), 1) || iscleared(gval(n), 0))) { setnilvalue(gval(n)); /* remove value ... */ removeentry(n); /* remove entry from table */ } } l = h->gclist; } } static void freeobj (lua_State *L, GCObject *o) { switch (o->gch.tt) { case LUA_TPROTO: luaF_freeproto(L, gco2p(o)); break; case LUA_TFUNCTION: luaF_freeclosure(L, gco2cl(o)); break; case LUA_TUPVAL: luaF_freeupval(L, gco2uv(o)); break; case LUA_TTABLE: luaH_free(L, gco2h(o)); break; case LUA_TTHREAD: { lua_assert(gco2th(o) != L && gco2th(o) != G(L)->mainthread); luaE_freethread(L, gco2th(o)); break; } case LUA_TSTRING: { G(L)->strt.nuse--; luaM_freemem(L, o, sizestring(gco2ts(o))); break; } case LUA_TUSERDATA: { luaM_freemem(L, o, sizeudata(gco2u(o))); break; } default: lua_assert(0); } } #define sweepwholelist(L,p) sweeplist(L,p,MAX_LUMEM) static GCObject **sweeplist (lua_State *L, GCObject **p, lu_mem count) { GCObject *curr; global_State *g = G(L); int deadmask = otherwhite(g); while ((curr = *p) != NULL && count-- > 0) { if (curr->gch.tt == LUA_TTHREAD) /* sweep open upvalues of each thread */ sweepwholelist(L, &gco2th(curr)->openupval); if ((curr->gch.marked ^ WHITEBITS) & deadmask) { /* not dead? */ lua_assert(!isdead(g, curr) || testbit(curr->gch.marked, FIXEDBIT)); makewhite(g, curr); /* make it white (for next cycle) */ p = &curr->gch.next; } else { /* must erase `curr' */ lua_assert(isdead(g, curr) || deadmask == bitmask(SFIXEDBIT)); *p = curr->gch.next; if (curr == g->rootgc) /* is the first element of the list? */ g->rootgc = curr->gch.next; /* adjust first */ freeobj(L, curr); } } return p; } static void checkSizes (lua_State *L) { global_State *g = G(L); /* check size of string hash */ if (g->strt.nuse < cast(lu_int32, g->strt.size/4) && g->strt.size > MINSTRTABSIZE*2) luaS_resize(L, g->strt.size/2); /* table is too big */ /* check size of buffer */ if (luaZ_sizebuffer(&g->buff) > LUA_MINBUFFER*2) { /* buffer too big? */ size_t newsize = luaZ_sizebuffer(&g->buff) / 2; luaZ_resizebuffer(L, &g->buff, newsize); } } static void GCTM (lua_State *L) { global_State *g = G(L); GCObject *o = g->tmudata->gch.next; /* get first element */ Udata *udata = rawgco2u(o); const TValue *tm; /* remove udata from `tmudata' */ if (o == g->tmudata) /* last element? */ g->tmudata = NULL; else g->tmudata->gch.next = udata->uv.next; udata->uv.next = g->mainthread->next; /* return it to `root' list */ g->mainthread->next = o; makewhite(g, o); tm = fasttm(L, udata->uv.metatable, TM_GC); if (tm != NULL) { lu_byte oldah = L->allowhook; lu_mem oldt = g->GCthreshold; L->allowhook = 0; /* stop debug hooks during GC tag method */ g->GCthreshold = 2*g->totalbytes; /* avoid GC steps */ setobj2s(L, L->top, tm); setuvalue(L, L->top+1, udata); L->top += 2; luaD_call(L, L->top - 2, 0); L->allowhook = oldah; /* restore hooks */ g->GCthreshold = oldt; /* restore threshold */ } } /* ** Call all GC tag methods */ void luaC_callGCTM (lua_State *L) { while (G(L)->tmudata) GCTM(L); } void luaC_freeall (lua_State *L) { global_State *g = G(L); int i; g->currentwhite = WHITEBITS | bitmask(SFIXEDBIT); /* mask to collect all elements */ sweepwholelist(L, &g->rootgc); for (i = 0; i < g->strt.size; i++) /* free all string lists */ sweepwholelist(L, &g->strt.hash[i]); } static void markmt (global_State *g) { int i; for (i=0; imt[i]) markobject(g, g->mt[i]); } /* mark root set */ static void markroot (lua_State *L) { global_State *g = G(L); g->gray = NULL; g->grayagain = NULL; g->weak = NULL; markobject(g, g->mainthread); /* make global table be traversed before main stack */ markvalue(g, gt(g->mainthread)); markvalue(g, registry(L)); markmt(g); g->gcstate = GCSpropagate; } static void remarkupvals (global_State *g) { UpVal *uv; for (uv = g->uvhead.u.l.next; uv != &g->uvhead; uv = uv->u.l.next) { lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); if (isgray(obj2gco(uv))) markvalue(g, uv->v); } } static void atomic (lua_State *L) { global_State *g = G(L); size_t udsize; /* total size of userdata to be finalized */ /* remark occasional upvalues of (maybe) dead threads */ remarkupvals(g); /* traverse objects cautch by write barrier and by 'remarkupvals' */ propagateall(g); /* remark weak tables */ g->gray = g->weak; g->weak = NULL; lua_assert(!iswhite(obj2gco(g->mainthread))); markobject(g, L); /* mark running thread */ markmt(g); /* mark basic metatables (again) */ propagateall(g); /* remark gray again */ g->gray = g->grayagain; g->grayagain = NULL; propagateall(g); udsize = luaC_separateudata(L, 0); /* separate userdata to be finalized */ marktmu(g); /* mark `preserved' userdata */ udsize += propagateall(g); /* remark, to propagate `preserveness' */ cleartable(g->weak); /* remove collected objects from weak tables */ /* flip current white */ g->currentwhite = cast_byte(otherwhite(g)); g->sweepstrgc = 0; g->sweepgc = &g->rootgc; g->gcstate = GCSsweepstring; g->estimate = g->totalbytes - udsize; /* first estimate */ } static l_mem singlestep (lua_State *L) { global_State *g = G(L); /*lua_checkmemory(L);*/ switch (g->gcstate) { case GCSpause: { markroot(L); /* start a new collection */ return 0; } case GCSpropagate: { if (g->gray) return propagatemark(g); else { /* no more `gray' objects */ atomic(L); /* finish mark phase */ return 0; } } case GCSsweepstring: { lu_mem old = g->totalbytes; sweepwholelist(L, &g->strt.hash[g->sweepstrgc++]); if (g->sweepstrgc >= g->strt.size) /* nothing more to sweep? */ g->gcstate = GCSsweep; /* end sweep-string phase */ lua_assert(old >= g->totalbytes); g->estimate -= old - g->totalbytes; return GCSWEEPCOST; } case GCSsweep: { lu_mem old = g->totalbytes; g->sweepgc = sweeplist(L, g->sweepgc, GCSWEEPMAX); if (*g->sweepgc == NULL) { /* nothing more to sweep? */ checkSizes(L); g->gcstate = GCSfinalize; /* end sweep phase */ } lua_assert(old >= g->totalbytes); g->estimate -= old - g->totalbytes; return GCSWEEPMAX*GCSWEEPCOST; } case GCSfinalize: { if (g->tmudata) { GCTM(L); if (g->estimate > GCFINALIZECOST) g->estimate -= GCFINALIZECOST; return GCFINALIZECOST; } else { g->gcstate = GCSpause; /* end collection */ g->gcdept = 0; return 0; } } default: lua_assert(0); return 0; } } void luaC_step (lua_State *L) { global_State *g = G(L); l_mem lim = (GCSTEPSIZE/100) * g->gcstepmul; if (lim == 0) lim = (MAX_LUMEM-1)/2; /* no limit */ g->gcdept += g->totalbytes - g->GCthreshold; do { lim -= singlestep(L); if (g->gcstate == GCSpause) break; } while (lim > 0); if (g->gcstate != GCSpause) { if (g->gcdept < GCSTEPSIZE) g->GCthreshold = g->totalbytes + GCSTEPSIZE; /* - lim/g->gcstepmul;*/ else { g->gcdept -= GCSTEPSIZE; g->GCthreshold = g->totalbytes; } } else { lua_assert(g->totalbytes >= g->estimate); setthreshold(g); } } void luaC_fullgc (lua_State *L) { global_State *g = G(L); if (g->gcstate <= GCSpropagate) { /* reset sweep marks to sweep all elements (returning them to white) */ g->sweepstrgc = 0; g->sweepgc = &g->rootgc; /* reset other collector lists */ g->gray = NULL; g->grayagain = NULL; g->weak = NULL; g->gcstate = GCSsweepstring; } lua_assert(g->gcstate != GCSpause && g->gcstate != GCSpropagate); /* finish any pending sweep phase */ while (g->gcstate != GCSfinalize) { lua_assert(g->gcstate == GCSsweepstring || g->gcstate == GCSsweep); singlestep(L); } markroot(L); while (g->gcstate != GCSpause) { singlestep(L); } setthreshold(g); } void luaC_barrierf (lua_State *L, GCObject *o, GCObject *v) { global_State *g = G(L); lua_assert(isblack(o) && iswhite(v) && !isdead(g, v) && !isdead(g, o)); lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause); lua_assert(ttype(&o->gch) != LUA_TTABLE); /* must keep invariant? */ if (g->gcstate == GCSpropagate) reallymarkobject(g, v); /* restore invariant */ else /* don't mind */ makewhite(g, o); /* mark as white just to avoid other barriers */ } void luaC_barrierback (lua_State *L, Table *t) { global_State *g = G(L); GCObject *o = obj2gco(t); lua_assert(isblack(o) && !isdead(g, o)); lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause); black2gray(o); /* make table gray (again) */ t->gclist = g->grayagain; g->grayagain = o; } void luaC_link (lua_State *L, GCObject *o, lu_byte tt) { global_State *g = G(L); o->gch.next = g->rootgc; g->rootgc = o; o->gch.marked = luaC_white(g); o->gch.tt = tt; } void luaC_linkupval (lua_State *L, UpVal *uv) { global_State *g = G(L); GCObject *o = obj2gco(uv); o->gch.next = g->rootgc; /* link upvalue into `rootgc' list */ g->rootgc = o; if (isgray(o)) { if (g->gcstate == GCSpropagate) { gray2black(o); /* closed upvalues need barrier */ luaC_barrier(L, uv, uv->v); } else { /* sweep phase: sweep it (turning it into white) */ makewhite(g, o); lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause); } } } gtk-engines-2.20.2/engines/lua/src/liblua/liolib.c0000644000175000017500000003121011451352576016625 00000000000000/* ** $Id$ ** Standard I/O (and system) library ** See Copyright Notice in lua.h */ #include #include #include #include #define liolib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" #define IO_INPUT 1 #define IO_OUTPUT 2 static const char *const fnames[] = {"input", "output"}; static int pushresult (lua_State *L, int i, const char *filename) { int en = errno; /* calls to Lua API may change this value */ if (i) { lua_pushboolean(L, 1); return 1; } else { lua_pushnil(L); if (filename) lua_pushfstring(L, "%s: %s", filename, strerror(en)); else lua_pushfstring(L, "%s", strerror(en)); lua_pushinteger(L, en); return 3; } } static void fileerror (lua_State *L, int arg, const char *filename) { lua_pushfstring(L, "%s: %s", filename, strerror(errno)); luaL_argerror(L, arg, lua_tostring(L, -1)); } #define topfile(L) ((FILE **)luaL_checkudata(L, 1, LUA_FILEHANDLE)) static int io_type (lua_State *L) { void *ud; luaL_checkany(L, 1); ud = lua_touserdata(L, 1); lua_getfield(L, LUA_REGISTRYINDEX, LUA_FILEHANDLE); if (ud == NULL || !lua_getmetatable(L, 1) || !lua_rawequal(L, -2, -1)) lua_pushnil(L); /* not a file */ else if (*((FILE **)ud) == NULL) lua_pushliteral(L, "closed file"); else lua_pushliteral(L, "file"); return 1; } static FILE *tofile (lua_State *L) { FILE **f = topfile(L); if (*f == NULL) luaL_error(L, "attempt to use a closed file"); return *f; } /* ** When creating file handles, always creates a `closed' file handle ** before opening the actual file; so, if there is a memory error, the ** file is not left opened. */ static FILE **newfile (lua_State *L) { FILE **pf = (FILE **)lua_newuserdata(L, sizeof(FILE *)); *pf = NULL; /* file handle is currently `closed' */ luaL_getmetatable(L, LUA_FILEHANDLE); lua_setmetatable(L, -2); return pf; } /* ** this function has a separated environment, which defines the ** correct __close for 'popen' files */ static int io_pclose (lua_State *L) { FILE **p = topfile(L); int ok = lua_pclose(L, *p); *p = NULL; return pushresult(L, ok, NULL); } static int io_fclose (lua_State *L) { FILE **p = topfile(L); int ok = (fclose(*p) == 0); *p = NULL; return pushresult(L, ok, NULL); } static int aux_close (lua_State *L) { lua_getfenv(L, 1); lua_getfield(L, -1, "__close"); return (lua_tocfunction(L, -1))(L); } static int io_close (lua_State *L) { if (lua_isnone(L, 1)) lua_rawgeti(L, LUA_ENVIRONINDEX, IO_OUTPUT); tofile(L); /* make sure argument is a file */ return aux_close(L); } static int io_gc (lua_State *L) { FILE *f = *topfile(L); /* ignore closed files and standard files */ if (f != NULL && f != stdin && f != stdout && f != stderr) aux_close(L); return 0; } static int io_tostring (lua_State *L) { FILE *f = *topfile(L); if (f == NULL) lua_pushstring(L, "file (closed)"); else lua_pushfstring(L, "file (%p)", f); return 1; } static int io_open (lua_State *L) { const char *filename = luaL_checkstring(L, 1); const char *mode = luaL_optstring(L, 2, "r"); FILE **pf = newfile(L); *pf = fopen(filename, mode); return (*pf == NULL) ? pushresult(L, 0, filename) : 1; } static int io_popen (lua_State *L) { const char *filename = luaL_checkstring(L, 1); const char *mode = luaL_optstring(L, 2, "r"); FILE **pf = newfile(L); *pf = lua_popen(L, filename, mode); return (*pf == NULL) ? pushresult(L, 0, filename) : 1; } static int io_tmpfile (lua_State *L) { FILE **pf = newfile(L); *pf = tmpfile(); return (*pf == NULL) ? pushresult(L, 0, NULL) : 1; } static FILE *getiofile (lua_State *L, int findex) { FILE *f; lua_rawgeti(L, LUA_ENVIRONINDEX, findex); f = *(FILE **)lua_touserdata(L, -1); if (f == NULL) luaL_error(L, "standard %s file is closed", fnames[findex - 1]); return f; } static int g_iofile (lua_State *L, int f, const char *mode) { if (!lua_isnoneornil(L, 1)) { const char *filename = lua_tostring(L, 1); if (filename) { FILE **pf = newfile(L); *pf = fopen(filename, mode); if (*pf == NULL) fileerror(L, 1, filename); } else { tofile(L); /* check that it's a valid file handle */ lua_pushvalue(L, 1); } lua_rawseti(L, LUA_ENVIRONINDEX, f); } /* return current value */ lua_rawgeti(L, LUA_ENVIRONINDEX, f); return 1; } static int io_input (lua_State *L) { return g_iofile(L, IO_INPUT, "r"); } static int io_output (lua_State *L) { return g_iofile(L, IO_OUTPUT, "w"); } static int io_readline (lua_State *L); static void aux_lines (lua_State *L, int idx, int toclose) { lua_pushvalue(L, idx); lua_pushboolean(L, toclose); /* close/not close file when finished */ lua_pushcclosure(L, io_readline, 2); } static int f_lines (lua_State *L) { tofile(L); /* check that it's a valid file handle */ aux_lines(L, 1, 0); return 1; } static int io_lines (lua_State *L) { if (lua_isnoneornil(L, 1)) { /* no arguments? */ /* will iterate over default input */ lua_rawgeti(L, LUA_ENVIRONINDEX, IO_INPUT); return f_lines(L); } else { const char *filename = luaL_checkstring(L, 1); FILE **pf = newfile(L); *pf = fopen(filename, "r"); if (*pf == NULL) fileerror(L, 1, filename); aux_lines(L, lua_gettop(L), 1); return 1; } } /* ** {====================================================== ** READ ** ======================================================= */ static int read_number (lua_State *L, FILE *f) { lua_Number d; if (fscanf(f, LUA_NUMBER_SCAN, &d) == 1) { lua_pushnumber(L, d); return 1; } else return 0; /* read fails */ } static int test_eof (lua_State *L, FILE *f) { int c = getc(f); ungetc(c, f); lua_pushlstring(L, NULL, 0); return (c != EOF); } static int read_line (lua_State *L, FILE *f) { luaL_Buffer b; luaL_buffinit(L, &b); for (;;) { size_t l; char *p = luaL_prepbuffer(&b); if (fgets(p, LUAL_BUFFERSIZE, f) == NULL) { /* eof? */ luaL_pushresult(&b); /* close buffer */ return (lua_strlen(L, -1) > 0); /* check whether read something */ } l = strlen(p); if (l == 0 || p[l-1] != '\n') luaL_addsize(&b, l); else { luaL_addsize(&b, l - 1); /* do not include `eol' */ luaL_pushresult(&b); /* close buffer */ return 1; /* read at least an `eol' */ } } } static int read_chars (lua_State *L, FILE *f, size_t n) { size_t rlen; /* how much to read */ size_t nr; /* number of chars actually read */ luaL_Buffer b; luaL_buffinit(L, &b); rlen = LUAL_BUFFERSIZE; /* try to read that much each time */ do { char *p = luaL_prepbuffer(&b); if (rlen > n) rlen = n; /* cannot read more than asked */ nr = fread(p, sizeof(char), rlen, f); luaL_addsize(&b, nr); n -= nr; /* still have to read `n' chars */ } while (n > 0 && nr == rlen); /* until end of count or eof */ luaL_pushresult(&b); /* close buffer */ return (n == 0 || lua_strlen(L, -1) > 0); } static int g_read (lua_State *L, FILE *f, int first) { int nargs = lua_gettop(L) - 1; int success; int n; clearerr(f); if (nargs == 0) { /* no arguments? */ success = read_line(L, f); n = first+1; /* to return 1 result */ } else { /* ensure stack space for all results and for auxlib's buffer */ luaL_checkstack(L, nargs+LUA_MINSTACK, "too many arguments"); success = 1; for (n = first; nargs-- && success; n++) { if (lua_type(L, n) == LUA_TNUMBER) { size_t l = (size_t)lua_tointeger(L, n); success = (l == 0) ? test_eof(L, f) : read_chars(L, f, l); } else { const char *p = lua_tostring(L, n); luaL_argcheck(L, p && p[0] == '*', n, "invalid option"); switch (p[1]) { case 'n': /* number */ success = read_number(L, f); break; case 'l': /* line */ success = read_line(L, f); break; case 'a': /* file */ read_chars(L, f, ~((size_t)0)); /* read MAX_SIZE_T chars */ success = 1; /* always success */ break; default: return luaL_argerror(L, n, "invalid format"); } } } } if (ferror(f)) return pushresult(L, 0, NULL); if (!success) { lua_pop(L, 1); /* remove last result */ lua_pushnil(L); /* push nil instead */ } return n - first; } static int io_read (lua_State *L) { return g_read(L, getiofile(L, IO_INPUT), 1); } static int f_read (lua_State *L) { return g_read(L, tofile(L), 2); } static int io_readline (lua_State *L) { FILE *f = *(FILE **)lua_touserdata(L, lua_upvalueindex(1)); int sucess; if (f == NULL) /* file is already closed? */ luaL_error(L, "file is already closed"); sucess = read_line(L, f); if (ferror(f)) return luaL_error(L, "%s", strerror(errno)); if (sucess) return 1; else { /* EOF */ if (lua_toboolean(L, lua_upvalueindex(2))) { /* generator created file? */ lua_settop(L, 0); lua_pushvalue(L, lua_upvalueindex(1)); aux_close(L); /* close it */ } return 0; } } /* }====================================================== */ static int g_write (lua_State *L, FILE *f, int arg) { int nargs = lua_gettop(L) - 1; int status = 1; for (; nargs--; arg++) { if (lua_type(L, arg) == LUA_TNUMBER) { /* optimization: could be done exactly as for strings */ status = status && fprintf(f, LUA_NUMBER_FMT, lua_tonumber(L, arg)) > 0; } else { size_t l; const char *s = luaL_checklstring(L, arg, &l); status = status && (fwrite(s, sizeof(char), l, f) == l); } } return pushresult(L, status, NULL); } static int io_write (lua_State *L) { return g_write(L, getiofile(L, IO_OUTPUT), 1); } static int f_write (lua_State *L) { return g_write(L, tofile(L), 2); } static int f_seek (lua_State *L) { static const int mode[] = {SEEK_SET, SEEK_CUR, SEEK_END}; static const char *const modenames[] = {"set", "cur", "end", NULL}; FILE *f = tofile(L); int op = luaL_checkoption(L, 2, "cur", modenames); long offset = luaL_optlong(L, 3, 0); op = fseek(f, offset, mode[op]); if (op) return pushresult(L, 0, NULL); /* error */ else { lua_pushinteger(L, ftell(f)); return 1; } } static int f_setvbuf (lua_State *L) { static const int mode[] = {_IONBF, _IOFBF, _IOLBF}; static const char *const modenames[] = {"no", "full", "line", NULL}; FILE *f = tofile(L); int op = luaL_checkoption(L, 2, NULL, modenames); lua_Integer sz = luaL_optinteger(L, 3, LUAL_BUFFERSIZE); int res = setvbuf(f, NULL, mode[op], sz); return pushresult(L, res == 0, NULL); } static int io_flush (lua_State *L) { return pushresult(L, fflush(getiofile(L, IO_OUTPUT)) == 0, NULL); } static int f_flush (lua_State *L) { return pushresult(L, fflush(tofile(L)) == 0, NULL); } static const luaL_Reg iolib[] = { {"close", io_close}, {"flush", io_flush}, {"input", io_input}, {"lines", io_lines}, {"open", io_open}, {"output", io_output}, {"popen", io_popen}, {"read", io_read}, {"tmpfile", io_tmpfile}, {"type", io_type}, {"write", io_write}, {NULL, NULL} }; static const luaL_Reg flib[] = { {"close", io_close}, {"flush", f_flush}, {"lines", f_lines}, {"read", f_read}, {"seek", f_seek}, {"setvbuf", f_setvbuf}, {"write", f_write}, {"__gc", io_gc}, {"__tostring", io_tostring}, {NULL, NULL} }; static void createmeta (lua_State *L) { luaL_newmetatable(L, LUA_FILEHANDLE); /* create metatable for file handles */ lua_pushvalue(L, -1); /* push metatable */ lua_setfield(L, -2, "__index"); /* metatable.__index = metatable */ luaL_register(L, NULL, flib); /* file methods */ } static void createstdfile (lua_State *L, FILE *f, int k, const char *fname) { *newfile(L) = f; if (k > 0) { lua_pushvalue(L, -1); lua_rawseti(L, LUA_ENVIRONINDEX, k); } lua_setfield(L, -2, fname); } LUALIB_API int luaopen_io (lua_State *L) { createmeta(L); /* create (private) environment (with fields IO_INPUT, IO_OUTPUT, __close) */ lua_createtable(L, 2, 1); lua_replace(L, LUA_ENVIRONINDEX); /* open library */ luaL_register(L, LUA_IOLIBNAME, iolib); /* create (and set) default files */ createstdfile(L, stdin, IO_INPUT, "stdin"); createstdfile(L, stdout, IO_OUTPUT, "stdout"); createstdfile(L, stderr, 0, "stderr"); /* create environment for 'popen' */ lua_getfield(L, -1, "popen"); lua_createtable(L, 0, 1); lua_pushcfunction(L, io_pclose); lua_setfield(L, -2, "__close"); lua_setfenv(L, -2); lua_pop(L, 1); /* pop 'popen' */ /* set default close function */ lua_pushcfunction(L, io_fclose); lua_setfield(L, LUA_ENVIRONINDEX, "__close"); return 1; } gtk-engines-2.20.2/engines/lua/src/liblua/llex.c0000644000175000017500000003020611451352576016323 00000000000000/* ** $Id$ ** Lexical Analyzer ** See Copyright Notice in lua.h */ #include #include #include #define llex_c #define LUA_CORE #include "lua.h" #include "ldo.h" #include "llex.h" #include "lobject.h" #include "lparser.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "lzio.h" #define next(ls) (ls->current = zgetc(ls->z)) #define currIsNewline(ls) (ls->current == '\n' || ls->current == '\r') /* ORDER RESERVED */ const char *const luaX_tokens [] = { "and", "break", "do", "else", "elseif", "end", "false", "for", "function", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while", "..", "...", "==", ">=", "<=", "~=", "", "", "", "", NULL }; #define save_and_next(ls) (save(ls, ls->current), next(ls)) static void save (LexState *ls, int c) { Mbuffer *b = ls->buff; if (b->n + 1 > b->buffsize) { size_t newsize; if (b->buffsize >= MAX_SIZET/2) luaX_lexerror(ls, "lexical element too long", 0); newsize = b->buffsize * 2; luaZ_resizebuffer(ls->L, b, newsize); } b->buffer[b->n++] = cast(char, c); } void luaX_init (lua_State *L) { int i; for (i=0; itsv.reserved = cast_byte(i+1); /* reserved word */ } } #define MAXSRC 80 const char *luaX_token2str (LexState *ls, int token) { if (token < FIRST_RESERVED) { lua_assert(token == cast(unsigned char, token)); return (iscntrl(token)) ? luaO_pushfstring(ls->L, "char(%d)", token) : luaO_pushfstring(ls->L, "%c", token); } else return luaX_tokens[token-FIRST_RESERVED]; } static const char *txtToken (LexState *ls, int token) { switch (token) { case TK_NAME: case TK_STRING: case TK_NUMBER: save(ls, '\0'); return luaZ_buffer(ls->buff); default: return luaX_token2str(ls, token); } } void luaX_lexerror (LexState *ls, const char *msg, int token) { char buff[MAXSRC]; luaO_chunkid(buff, getstr(ls->source), MAXSRC); msg = luaO_pushfstring(ls->L, "%s:%d: %s", buff, ls->linenumber, msg); if (token) luaO_pushfstring(ls->L, "%s near " LUA_QS, msg, txtToken(ls, token)); luaD_throw(ls->L, LUA_ERRSYNTAX); } void luaX_syntaxerror (LexState *ls, const char *msg) { luaX_lexerror(ls, msg, ls->t.token); } TString *luaX_newstring (LexState *ls, const char *str, size_t l) { lua_State *L = ls->L; TString *ts = luaS_newlstr(L, str, l); TValue *o = luaH_setstr(L, ls->fs->h, ts); /* entry for `str' */ if (ttisnil(o)) setbvalue(o, 1); /* make sure `str' will not be collected */ return ts; } static void inclinenumber (LexState *ls) { int old = ls->current; lua_assert(currIsNewline(ls)); next(ls); /* skip `\n' or `\r' */ if (currIsNewline(ls) && ls->current != old) next(ls); /* skip `\n\r' or `\r\n' */ if (++ls->linenumber >= MAX_INT) luaX_syntaxerror(ls, "chunk has too many lines"); } void luaX_setinput (lua_State *L, LexState *ls, ZIO *z, TString *source) { ls->decpoint = '.'; ls->L = L; ls->lookahead.token = TK_EOS; /* no look-ahead token */ ls->z = z; ls->fs = NULL; ls->linenumber = 1; ls->lastline = 1; ls->source = source; luaZ_resizebuffer(ls->L, ls->buff, LUA_MINBUFFER); /* initialize buffer */ next(ls); /* read first char */ } /* ** ======================================================= ** LEXICAL ANALYZER ** ======================================================= */ static int check_next (LexState *ls, const char *set) { if (!strchr(set, ls->current)) return 0; save_and_next(ls); return 1; } static void buffreplace (LexState *ls, char from, char to) { size_t n = luaZ_bufflen(ls->buff); char *p = luaZ_buffer(ls->buff); while (n--) if (p[n] == from) p[n] = to; } static void trydecpoint (LexState *ls, SemInfo *seminfo) { /* format error: try to update decimal point separator */ struct lconv *cv = localeconv(); char old = ls->decpoint; ls->decpoint = (cv ? cv->decimal_point[0] : '.'); buffreplace(ls, old, ls->decpoint); /* try updated decimal separator */ if (!luaO_str2d(luaZ_buffer(ls->buff), &seminfo->r)) { /* format error with correct decimal point: no more options */ buffreplace(ls, ls->decpoint, '.'); /* undo change (for error message) */ luaX_lexerror(ls, "malformed number", TK_NUMBER); } } /* LUA_NUMBER */ static void read_numeral (LexState *ls, SemInfo *seminfo) { lua_assert(isdigit(ls->current)); do { save_and_next(ls); } while (isdigit(ls->current) || ls->current == '.'); if (check_next(ls, "Ee")) /* `E'? */ check_next(ls, "+-"); /* optional exponent sign */ while (isalnum(ls->current) || ls->current == '_') save_and_next(ls); save(ls, '\0'); buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */ if (!luaO_str2d(luaZ_buffer(ls->buff), &seminfo->r)) /* format error? */ trydecpoint(ls, seminfo); /* try to update decimal point separator */ } static int skip_sep (LexState *ls) { int count = 0; int s = ls->current; lua_assert(s == '[' || s == ']'); save_and_next(ls); while (ls->current == '=') { save_and_next(ls); count++; } return (ls->current == s) ? count : (-count) - 1; } static void read_long_string (LexState *ls, SemInfo *seminfo, int sep) { int cont = 0; (void)(cont); /* avoid warnings when `cont' is not used */ save_and_next(ls); /* skip 2nd `[' */ if (currIsNewline(ls)) /* string starts with a newline? */ inclinenumber(ls); /* skip it */ for (;;) { switch (ls->current) { case EOZ: luaX_lexerror(ls, (seminfo) ? "unfinished long string" : "unfinished long comment", TK_EOS); break; /* to avoid warnings */ #if defined(LUA_COMPAT_LSTR) case '[': { if (skip_sep(ls) == sep) { save_and_next(ls); /* skip 2nd `[' */ cont++; #if LUA_COMPAT_LSTR == 1 if (sep == 0) luaX_lexerror(ls, "nesting of [[...]] is deprecated", '['); #endif } break; } #endif case ']': { if (skip_sep(ls) == sep) { save_and_next(ls); /* skip 2nd `]' */ #if defined(LUA_COMPAT_LSTR) && LUA_COMPAT_LSTR == 2 cont--; if (sep == 0 && cont >= 0) break; #endif goto endloop; } break; } case '\n': case '\r': { save(ls, '\n'); inclinenumber(ls); if (!seminfo) luaZ_resetbuffer(ls->buff); /* avoid wasting space */ break; } default: { if (seminfo) save_and_next(ls); else next(ls); } } } endloop: if (seminfo) seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + (2 + sep), luaZ_bufflen(ls->buff) - 2*(2 + sep)); } static void read_string (LexState *ls, int del, SemInfo *seminfo) { save_and_next(ls); while (ls->current != del) { switch (ls->current) { case EOZ: luaX_lexerror(ls, "unfinished string", TK_EOS); continue; /* to avoid warnings */ case '\n': case '\r': luaX_lexerror(ls, "unfinished string", TK_STRING); continue; /* to avoid warnings */ case '\\': { int c; next(ls); /* do not save the `\' */ switch (ls->current) { case 'a': c = '\a'; break; case 'b': c = '\b'; break; case 'f': c = '\f'; break; case 'n': c = '\n'; break; case 'r': c = '\r'; break; case 't': c = '\t'; break; case 'v': c = '\v'; break; case '\n': /* go through */ case '\r': save(ls, '\n'); inclinenumber(ls); continue; case EOZ: continue; /* will raise an error next loop */ default: { if (!isdigit(ls->current)) save_and_next(ls); /* handles \\, \", \', and \? */ else { /* \xxx */ int i = 0; c = 0; do { c = 10*c + (ls->current-'0'); next(ls); } while (++i<3 && isdigit(ls->current)); if (c > UCHAR_MAX) luaX_lexerror(ls, "escape sequence too large", TK_STRING); save(ls, c); } continue; } } save(ls, c); next(ls); continue; } default: save_and_next(ls); } } save_and_next(ls); /* skip delimiter */ seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + 1, luaZ_bufflen(ls->buff) - 2); } static int llex (LexState *ls, SemInfo *seminfo) { luaZ_resetbuffer(ls->buff); for (;;) { switch (ls->current) { case '\n': case '\r': { inclinenumber(ls); continue; } case '-': { next(ls); if (ls->current != '-') return '-'; /* else is a comment */ next(ls); if (ls->current == '[') { int sep = skip_sep(ls); luaZ_resetbuffer(ls->buff); /* `skip_sep' may dirty the buffer */ if (sep >= 0) { read_long_string(ls, NULL, sep); /* long comment */ luaZ_resetbuffer(ls->buff); continue; } } /* else short comment */ while (!currIsNewline(ls) && ls->current != EOZ) next(ls); continue; } case '[': { int sep = skip_sep(ls); if (sep >= 0) { read_long_string(ls, seminfo, sep); return TK_STRING; } else if (sep == -1) return '['; else luaX_lexerror(ls, "invalid long string delimiter", TK_STRING); } case '=': { next(ls); if (ls->current != '=') return '='; else { next(ls); return TK_EQ; } } case '<': { next(ls); if (ls->current != '=') return '<'; else { next(ls); return TK_LE; } } case '>': { next(ls); if (ls->current != '=') return '>'; else { next(ls); return TK_GE; } } case '~': { next(ls); if (ls->current != '=') return '~'; else { next(ls); return TK_NE; } } case '"': case '\'': { read_string(ls, ls->current, seminfo); return TK_STRING; } case '.': { save_and_next(ls); if (check_next(ls, ".")) { if (check_next(ls, ".")) return TK_DOTS; /* ... */ else return TK_CONCAT; /* .. */ } else if (!isdigit(ls->current)) return '.'; else { read_numeral(ls, seminfo); return TK_NUMBER; } } case EOZ: { return TK_EOS; } default: { if (isspace(ls->current)) { lua_assert(!currIsNewline(ls)); next(ls); continue; } else if (isdigit(ls->current)) { read_numeral(ls, seminfo); return TK_NUMBER; } else if (isalpha(ls->current) || ls->current == '_') { /* identifier or reserved word */ TString *ts; do { save_and_next(ls); } while (isalnum(ls->current) || ls->current == '_'); ts = luaX_newstring(ls, luaZ_buffer(ls->buff), luaZ_bufflen(ls->buff)); if (ts->tsv.reserved > 0) /* reserved word? */ return ts->tsv.reserved - 1 + FIRST_RESERVED; else { seminfo->ts = ts; return TK_NAME; } } else { int c = ls->current; next(ls); return c; /* single-char tokens (+ - / ...) */ } } } } } void luaX_next (LexState *ls) { ls->lastline = ls->linenumber; if (ls->lookahead.token != TK_EOS) { /* is there a look-ahead token? */ ls->t = ls->lookahead; /* use this one */ ls->lookahead.token = TK_EOS; /* and discharge it */ } else ls->t.token = llex(ls, &ls->t.seminfo); /* read next token */ } void luaX_lookahead (LexState *ls) { lua_assert(ls->lookahead.token == TK_EOS); ls->lookahead.token = llex(ls, &ls->lookahead.seminfo); } gtk-engines-2.20.2/engines/lua/src/liblua/lmem.c0000644000175000017500000000411011451352576016304 00000000000000/* ** $Id$ ** Interface to Memory Manager ** See Copyright Notice in lua.h */ #include #define lmem_c #define LUA_CORE #include "lua.h" #include "ldebug.h" #include "ldo.h" #include "lmem.h" #include "lobject.h" #include "lstate.h" /* ** About the realloc function: ** void * frealloc (void *ud, void *ptr, size_t osize, size_t nsize); ** (`osize' is the old size, `nsize' is the new size) ** ** Lua ensures that (ptr == NULL) iff (osize == 0). ** ** * frealloc(ud, NULL, 0, x) creates a new block of size `x' ** ** * frealloc(ud, p, x, 0) frees the block `p' ** (in this specific case, frealloc must return NULL). ** particularly, frealloc(ud, NULL, 0, 0) does nothing ** (which is equivalent to free(NULL) in ANSI C) ** ** frealloc returns NULL if it cannot create or reallocate the area ** (any reallocation to an equal or smaller size cannot fail!) */ #define MINSIZEARRAY 4 void *luaM_growaux_ (lua_State *L, void *block, int *size, size_t size_elems, int limit, const char *errormsg) { void *newblock; int newsize; if (*size >= limit/2) { /* cannot double it? */ if (*size >= limit) /* cannot grow even a little? */ luaG_runerror(L, errormsg); newsize = limit; /* still have at least one free place */ } else { newsize = (*size)*2; if (newsize < MINSIZEARRAY) newsize = MINSIZEARRAY; /* minimum size */ } newblock = luaM_reallocv(L, block, *size, newsize, size_elems); *size = newsize; /* update only when everything else is OK */ return newblock; } void *luaM_toobig (lua_State *L) { luaG_runerror(L, "memory allocation error: block too big"); return NULL; /* to avoid warnings */ } /* ** generic allocation routine. */ void *luaM_realloc_ (lua_State *L, void *block, size_t osize, size_t nsize) { global_State *g = G(L); lua_assert((osize == 0) == (block == NULL)); block = (*g->frealloc)(g->ud, block, osize, nsize); if (block == NULL && nsize > 0) luaD_throw(L, LUA_ERRMEM); lua_assert((nsize == 0) == (block == NULL)); g->totalbytes = (g->totalbytes - osize) + nsize; return block; } gtk-engines-2.20.2/engines/lua/src/liblua/lobject.c0000644000175000017500000001250311451352576017001 00000000000000/* ** $Id$ ** Some generic functions over Lua objects ** See Copyright Notice in lua.h */ #include #include #include #include #include #define lobject_c #define LUA_CORE #include "lua.h" #include "ldo.h" #include "lmem.h" #include "lobject.h" #include "lstate.h" #include "lstring.h" #include "lvm.h" const TValue luaO_nilobject_ = {{NULL}, LUA_TNIL}; /* ** converts an integer to a "floating point byte", represented as ** (eeeeexxx), where the real value is (1xxx) * 2^(eeeee - 1) if ** eeeee != 0 and (xxx) otherwise. */ int luaO_int2fb (unsigned int x) { int e = 0; /* expoent */ while (x >= 16) { x = (x+1) >> 1; e++; } if (x < 8) return x; else return ((e+1) << 3) | (cast_int(x) - 8); } /* converts back */ int luaO_fb2int (int x) { int e = (x >> 3) & 31; if (e == 0) return x; else return ((x & 7)+8) << (e - 1); } int luaO_log2 (unsigned int x) { static const lu_byte log_2[256] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8 }; int l = -1; while (x >= 256) { l += 8; x >>= 8; } return l + log_2[x]; } int luaO_rawequalObj (const TValue *t1, const TValue *t2) { if (ttype(t1) != ttype(t2)) return 0; else switch (ttype(t1)) { case LUA_TNIL: return 1; case LUA_TNUMBER: return luai_numeq(nvalue(t1), nvalue(t2)); case LUA_TBOOLEAN: return bvalue(t1) == bvalue(t2); /* boolean true must be 1 !! */ case LUA_TLIGHTUSERDATA: return pvalue(t1) == pvalue(t2); default: lua_assert(iscollectable(t1)); return gcvalue(t1) == gcvalue(t2); } } int luaO_str2d (const char *s, lua_Number *result) { char *endptr; *result = lua_str2number(s, &endptr); if (endptr == s) return 0; /* conversion failed */ if (*endptr == 'x' || *endptr == 'X') /* maybe an hexadecimal constant? */ *result = cast_num(strtoul(s, &endptr, 16)); if (*endptr == '\0') return 1; /* most common case */ while (isspace(cast(unsigned char, *endptr))) endptr++; if (*endptr != '\0') return 0; /* invalid trailing characters? */ return 1; } static void pushstr (lua_State *L, const char *str) { setsvalue2s(L, L->top, luaS_new(L, str)); incr_top(L); } /* this function handles only `%d', `%c', %f, %p, and `%s' formats */ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) { int n = 1; pushstr(L, ""); for (;;) { const char *e = strchr(fmt, '%'); if (e == NULL) break; setsvalue2s(L, L->top, luaS_newlstr(L, fmt, e-fmt)); incr_top(L); switch (*(e+1)) { case 's': { const char *s = va_arg(argp, char *); if (s == NULL) s = "(null)"; pushstr(L, s); break; } case 'c': { char buff[2]; buff[0] = cast(char, va_arg(argp, int)); buff[1] = '\0'; pushstr(L, buff); break; } case 'd': { setnvalue(L->top, cast_num(va_arg(argp, int))); incr_top(L); break; } case 'f': { setnvalue(L->top, cast_num(va_arg(argp, l_uacNumber))); incr_top(L); break; } case 'p': { char buff[4*sizeof(void *) + 8]; /* should be enough space for a `%p' */ sprintf(buff, "%p", va_arg(argp, void *)); pushstr(L, buff); break; } case '%': { pushstr(L, "%"); break; } default: { char buff[3]; buff[0] = '%'; buff[1] = *(e+1); buff[2] = '\0'; pushstr(L, buff); break; } } n += 2; fmt = e+2; } pushstr(L, fmt); luaV_concat(L, n+1, cast_int(L->top - L->base) - 1); L->top -= n; return svalue(L->top - 1); } const char *luaO_pushfstring (lua_State *L, const char *fmt, ...) { const char *msg; va_list argp; va_start(argp, fmt); msg = luaO_pushvfstring(L, fmt, argp); va_end(argp); return msg; } void luaO_chunkid (char *out, const char *source, size_t bufflen) { if (*source == '=') { strncpy(out, source+1, bufflen); /* remove first char */ out[bufflen-1] = '\0'; /* ensures null termination */ } else { /* out = "source", or "...source" */ if (*source == '@') { size_t l; source++; /* skip the `@' */ bufflen -= sizeof(" '...' "); l = strlen(source); strcpy(out, ""); if (l > bufflen) { source += (l-bufflen); /* get last part of file name */ strcat(out, "..."); } strcat(out, source); } else { /* out = [string "string"] */ size_t len = strcspn(source, "\n\r"); /* stop at first newline */ bufflen -= sizeof(" [string \"...\"] "); if (len > bufflen) len = bufflen; strcpy(out, "[string \""); if (source[len] != '\0') { /* must truncate? */ strncat(out, source, len); strcat(out, "..."); } else strcat(out, source); strcat(out, "\"]"); } } } gtk-engines-2.20.2/engines/lua/src/liblua/lopcodes.c0000644000175000017500000000541411451352576017172 00000000000000/* ** $Id$ ** See Copyright Notice in lua.h */ #define lopcodes_c #define LUA_CORE #include "lopcodes.h" /* ORDER OP */ const char *const luaP_opnames[NUM_OPCODES+1] = { "MOVE", "LOADK", "LOADBOOL", "LOADNIL", "GETUPVAL", "GETGLOBAL", "GETTABLE", "SETGLOBAL", "SETUPVAL", "SETTABLE", "NEWTABLE", "SELF", "ADD", "SUB", "MUL", "DIV", "MOD", "POW", "UNM", "NOT", "LEN", "CONCAT", "JMP", "EQ", "LT", "LE", "TEST", "TESTSET", "CALL", "TAILCALL", "RETURN", "FORLOOP", "FORPREP", "TFORLOOP", "SETLIST", "CLOSE", "CLOSURE", "VARARG", NULL }; #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m)) const lu_byte luaP_opmodes[NUM_OPCODES] = { /* T A B C mode opcode */ opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */ ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */ ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LOADNIL */ ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */ ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_GETGLOBAL */ ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */ ,opmode(0, 0, OpArgK, OpArgN, iABx) /* OP_SETGLOBAL */ ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */ ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */ ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */ ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_ADD */ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SUB */ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MUL */ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ ,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */ ,opmode(0, 0, OpArgR, OpArgN, iAsBx) /* OP_JMP */ ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */ ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */ ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */ ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TEST */ ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */ ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */ ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */ ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */ ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */ ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */ ,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TFORLOOP */ ,opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */ ,opmode(0, 0, OpArgN, OpArgN, iABC) /* OP_CLOSE */ ,opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */ ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */ }; gtk-engines-2.20.2/engines/lua/src/liblua/loslib.c0000644000175000017500000001300711451352576016643 00000000000000/* ** $Id$ ** Standard Operating System library ** See Copyright Notice in lua.h */ #include #include #include #include #include #define loslib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" static int os_pushresult (lua_State *L, int i, const char *filename) { int en = errno; /* calls to Lua API may change this value */ if (i) { lua_pushboolean(L, 1); return 1; } else { lua_pushnil(L); lua_pushfstring(L, "%s: %s", filename, strerror(en)); lua_pushinteger(L, en); return 3; } } static int os_execute (lua_State *L) { lua_pushinteger(L, system(luaL_optstring(L, 1, NULL))); return 1; } static int os_remove (lua_State *L) { const char *filename = luaL_checkstring(L, 1); return os_pushresult(L, remove(filename) == 0, filename); } static int os_rename (lua_State *L) { const char *fromname = luaL_checkstring(L, 1); const char *toname = luaL_checkstring(L, 2); return os_pushresult(L, rename(fromname, toname) == 0, fromname); } static int os_tmpname (lua_State *L) { char buff[LUA_TMPNAMBUFSIZE]; int err; lua_tmpnam(buff, err); if (err) return luaL_error(L, "unable to generate a unique filename"); lua_pushstring(L, buff); return 1; } static int os_getenv (lua_State *L) { lua_pushstring(L, getenv(luaL_checkstring(L, 1))); /* if NULL push nil */ return 1; } static int os_clock (lua_State *L) { lua_pushnumber(L, ((lua_Number)clock())/(lua_Number)CLOCKS_PER_SEC); return 1; } /* ** {====================================================== ** Time/Date operations ** { year=%Y, month=%m, day=%d, hour=%H, min=%M, sec=%S, ** wday=%w+1, yday=%j, isdst=? } ** ======================================================= */ static void setfield (lua_State *L, const char *key, int value) { lua_pushinteger(L, value); lua_setfield(L, -2, key); } static void setboolfield (lua_State *L, const char *key, int value) { if (value < 0) /* undefined? */ return; /* does not set field */ lua_pushboolean(L, value); lua_setfield(L, -2, key); } static int getboolfield (lua_State *L, const char *key) { int res; lua_getfield(L, -1, key); res = lua_isnil(L, -1) ? -1 : lua_toboolean(L, -1); lua_pop(L, 1); return res; } static int getfield (lua_State *L, const char *key, int d) { int res; lua_getfield(L, -1, key); if (lua_isnumber(L, -1)) res = (int)lua_tointeger(L, -1); else { if (d < 0) return luaL_error(L, "field " LUA_QS " missing in date table", key); res = d; } lua_pop(L, 1); return res; } static int os_date (lua_State *L) { const char *s = luaL_optstring(L, 1, "%c"); time_t t = luaL_opt(L, (time_t)luaL_checknumber, 2, time(NULL)); struct tm *stm; if (*s == '!') { /* UTC? */ stm = gmtime(&t); s++; /* skip `!' */ } else stm = localtime(&t); if (stm == NULL) /* invalid date? */ lua_pushnil(L); else if (strcmp(s, "*t") == 0) { lua_createtable(L, 0, 9); /* 9 = number of fields */ setfield(L, "sec", stm->tm_sec); setfield(L, "min", stm->tm_min); setfield(L, "hour", stm->tm_hour); setfield(L, "day", stm->tm_mday); setfield(L, "month", stm->tm_mon+1); setfield(L, "year", stm->tm_year+1900); setfield(L, "wday", stm->tm_wday+1); setfield(L, "yday", stm->tm_yday+1); setboolfield(L, "isdst", stm->tm_isdst); } else { char b[256]; if (strftime(b, sizeof(b), s, stm)) lua_pushstring(L, b); else return luaL_error(L, LUA_QL("date") " format too long"); } return 1; } static int os_time (lua_State *L) { time_t t; if (lua_isnoneornil(L, 1)) /* called without args? */ t = time(NULL); /* get current time */ else { struct tm ts; luaL_checktype(L, 1, LUA_TTABLE); lua_settop(L, 1); /* make sure table is at the top */ ts.tm_sec = getfield(L, "sec", 0); ts.tm_min = getfield(L, "min", 0); ts.tm_hour = getfield(L, "hour", 12); ts.tm_mday = getfield(L, "day", -1); ts.tm_mon = getfield(L, "month", -1) - 1; ts.tm_year = getfield(L, "year", -1) - 1900; ts.tm_isdst = getboolfield(L, "isdst"); t = mktime(&ts); } if (t == (time_t)(-1)) lua_pushnil(L); else lua_pushnumber(L, (lua_Number)t); return 1; } static int os_difftime (lua_State *L) { lua_pushnumber(L, difftime((time_t)(luaL_checknumber(L, 1)), (time_t)(luaL_optnumber(L, 2, 0)))); return 1; } /* }====================================================== */ static int os_setlocale (lua_State *L) { static const int cat[] = {LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME}; static const char *const catnames[] = {"all", "collate", "ctype", "monetary", "numeric", "time", NULL}; const char *l = luaL_optstring(L, 1, NULL); int op = luaL_checkoption(L, 2, "all", catnames); lua_pushstring(L, setlocale(cat[op], l)); return 1; } static int os_exit (lua_State *L) { exit(luaL_optint(L, 1, EXIT_SUCCESS)); return 0; /* to avoid warnings */ } static const luaL_Reg syslib[] = { {"clock", os_clock}, {"date", os_date}, {"difftime", os_difftime}, {"execute", os_execute}, {"exit", os_exit}, {"getenv", os_getenv}, {"remove", os_remove}, {"rename", os_rename}, {"setlocale", os_setlocale}, {"time", os_time}, {"tmpname", os_tmpname}, {NULL, NULL} }; /* }====================================================== */ LUALIB_API int luaopen_os (lua_State *L) { luaL_register(L, LUA_OSLIBNAME, syslib); return 1; } gtk-engines-2.20.2/engines/lua/src/liblua/lparser.c0000644000175000017500000010725711451352576017042 00000000000000/* ** $Id$ ** Lua Parser ** See Copyright Notice in lua.h */ #include #define lparser_c #define LUA_CORE #include "lua.h" #include "lcode.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "llex.h" #include "lmem.h" #include "lobject.h" #include "lopcodes.h" #include "lparser.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #define hasmultret(k) ((k) == VCALL || (k) == VVARARG) #define getlocvar(fs, i) ((fs)->f->locvars[(fs)->actvar[i]]) #define luaY_checklimit(fs,v,l,m) if ((v)>(l)) errorlimit(fs,l,m) /* ** nodes for block list (list of active blocks) */ typedef struct BlockCnt { struct BlockCnt *previous; /* chain */ int breaklist; /* list of jumps out of this loop */ lu_byte nactvar; /* # active locals outside the breakable structure */ lu_byte upval; /* true if some variable in the block is an upvalue */ lu_byte isbreakable; /* true if `block' is a loop */ } BlockCnt; /* ** prototypes for recursive non-terminal functions */ static void chunk (LexState *ls); static void expr (LexState *ls, expdesc *v); static void anchor_token (LexState *ls) { if (ls->t.token == TK_NAME || ls->t.token == TK_STRING) { TString *ts = ls->t.seminfo.ts; luaX_newstring(ls, getstr(ts), ts->tsv.len); } } static void error_expected (LexState *ls, int token) { luaX_syntaxerror(ls, luaO_pushfstring(ls->L, LUA_QS " expected", luaX_token2str(ls, token))); } static void errorlimit (FuncState *fs, int limit, const char *what) { const char *msg = (fs->f->linedefined == 0) ? luaO_pushfstring(fs->L, "main function has more than %d %s", limit, what) : luaO_pushfstring(fs->L, "function at line %d has more than %d %s", fs->f->linedefined, limit, what); luaX_lexerror(fs->ls, msg, 0); } static int testnext (LexState *ls, int c) { if (ls->t.token == c) { luaX_next(ls); return 1; } else return 0; } static void check (LexState *ls, int c) { if (ls->t.token != c) error_expected(ls, c); } static void checknext (LexState *ls, int c) { check(ls, c); luaX_next(ls); } #define check_condition(ls,c,msg) { if (!(c)) luaX_syntaxerror(ls, msg); } static void check_match (LexState *ls, int what, int who, int where) { if (!testnext(ls, what)) { if (where == ls->linenumber) error_expected(ls, what); else { luaX_syntaxerror(ls, luaO_pushfstring(ls->L, LUA_QS " expected (to close " LUA_QS " at line %d)", luaX_token2str(ls, what), luaX_token2str(ls, who), where)); } } } static TString *str_checkname (LexState *ls) { TString *ts; check(ls, TK_NAME); ts = ls->t.seminfo.ts; luaX_next(ls); return ts; } static void init_exp (expdesc *e, expkind k, int i) { e->f = e->t = NO_JUMP; e->k = k; e->u.s.info = i; } static void codestring (LexState *ls, expdesc *e, TString *s) { init_exp(e, VK, luaK_stringK(ls->fs, s)); } static void checkname(LexState *ls, expdesc *e) { codestring(ls, e, str_checkname(ls)); } static int registerlocalvar (LexState *ls, TString *varname) { FuncState *fs = ls->fs; Proto *f = fs->f; int oldsize = f->sizelocvars; luaM_growvector(ls->L, f->locvars, fs->nlocvars, f->sizelocvars, LocVar, SHRT_MAX, "too many local variables"); while (oldsize < f->sizelocvars) f->locvars[oldsize++].varname = NULL; f->locvars[fs->nlocvars].varname = varname; luaC_objbarrier(ls->L, f, varname); return fs->nlocvars++; } #define new_localvarliteral(ls,v,n) \ new_localvar(ls, luaX_newstring(ls, "" v, (sizeof(v)/sizeof(char))-1), n) static void new_localvar (LexState *ls, TString *name, int n) { FuncState *fs = ls->fs; luaY_checklimit(fs, fs->nactvar+n+1, LUAI_MAXVARS, "local variables"); fs->actvar[fs->nactvar+n] = cast(unsigned short, registerlocalvar(ls, name)); } static void adjustlocalvars (LexState *ls, int nvars) { FuncState *fs = ls->fs; fs->nactvar = cast_byte(fs->nactvar + nvars); for (; nvars; nvars--) { getlocvar(fs, fs->nactvar - nvars).startpc = fs->pc; } } static void removevars (LexState *ls, int tolevel) { FuncState *fs = ls->fs; while (fs->nactvar > tolevel) getlocvar(fs, --fs->nactvar).endpc = fs->pc; } static int indexupvalue (FuncState *fs, TString *name, expdesc *v) { int i; Proto *f = fs->f; int oldsize = f->sizeupvalues; for (i=0; inups; i++) { if (fs->upvalues[i].k == v->k && fs->upvalues[i].info == v->u.s.info) { lua_assert(f->upvalues[i] == name); return i; } } /* new one */ luaY_checklimit(fs, f->nups + 1, LUAI_MAXUPVALUES, "upvalues"); luaM_growvector(fs->L, f->upvalues, f->nups, f->sizeupvalues, TString *, MAX_INT, ""); while (oldsize < f->sizeupvalues) f->upvalues[oldsize++] = NULL; f->upvalues[f->nups] = name; luaC_objbarrier(fs->L, f, name); lua_assert(v->k == VLOCAL || v->k == VUPVAL); fs->upvalues[f->nups].k = cast_byte(v->k); fs->upvalues[f->nups].info = cast_byte(v->u.s.info); return f->nups++; } static int searchvar (FuncState *fs, TString *n) { int i; for (i=fs->nactvar-1; i >= 0; i--) { if (n == getlocvar(fs, i).varname) return i; } return -1; /* not found */ } static void markupval (FuncState *fs, int level) { BlockCnt *bl = fs->bl; while (bl && bl->nactvar > level) bl = bl->previous; if (bl) bl->upval = 1; } static int singlevaraux (FuncState *fs, TString *n, expdesc *var, int base) { if (fs == NULL) { /* no more levels? */ init_exp(var, VGLOBAL, NO_REG); /* default is global variable */ return VGLOBAL; } else { int v = searchvar(fs, n); /* look up at current level */ if (v >= 0) { init_exp(var, VLOCAL, v); if (!base) markupval(fs, v); /* local will be used as an upval */ return VLOCAL; } else { /* not found at current level; try upper one */ if (singlevaraux(fs->prev, n, var, 0) == VGLOBAL) return VGLOBAL; var->u.s.info = indexupvalue(fs, n, var); /* else was LOCAL or UPVAL */ var->k = VUPVAL; /* upvalue in this level */ return VUPVAL; } } } static void singlevar (LexState *ls, expdesc *var) { TString *varname = str_checkname(ls); FuncState *fs = ls->fs; if (singlevaraux(fs, varname, var, 1) == VGLOBAL) var->u.s.info = luaK_stringK(fs, varname); /* info points to global name */ } static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) { FuncState *fs = ls->fs; int extra = nvars - nexps; if (hasmultret(e->k)) { extra++; /* includes call itself */ if (extra < 0) extra = 0; luaK_setreturns(fs, e, extra); /* last exp. provides the difference */ if (extra > 1) luaK_reserveregs(fs, extra-1); } else { if (e->k != VVOID) luaK_exp2nextreg(fs, e); /* close last expression */ if (extra > 0) { int reg = fs->freereg; luaK_reserveregs(fs, extra); luaK_nil(fs, reg, extra); } } } static void enterlevel (LexState *ls) { if (++ls->L->nCcalls > LUAI_MAXCCALLS) luaX_lexerror(ls, "chunk has too many syntax levels", 0); } #define leavelevel(ls) ((ls)->L->nCcalls--) static void enterblock (FuncState *fs, BlockCnt *bl, lu_byte isbreakable) { bl->breaklist = NO_JUMP; bl->isbreakable = isbreakable; bl->nactvar = fs->nactvar; bl->upval = 0; bl->previous = fs->bl; fs->bl = bl; lua_assert(fs->freereg == fs->nactvar); } static void leaveblock (FuncState *fs) { BlockCnt *bl = fs->bl; fs->bl = bl->previous; removevars(fs->ls, bl->nactvar); if (bl->upval) luaK_codeABC(fs, OP_CLOSE, bl->nactvar, 0, 0); /* a block either controls scope or breaks (never both) */ lua_assert(!bl->isbreakable || !bl->upval); lua_assert(bl->nactvar == fs->nactvar); fs->freereg = fs->nactvar; /* free registers */ luaK_patchtohere(fs, bl->breaklist); } static void pushclosure (LexState *ls, FuncState *func, expdesc *v) { FuncState *fs = ls->fs; Proto *f = fs->f; int oldsize = f->sizep; int i; luaM_growvector(ls->L, f->p, fs->np, f->sizep, Proto *, MAXARG_Bx, "constant table overflow"); while (oldsize < f->sizep) f->p[oldsize++] = NULL; f->p[fs->np++] = func->f; luaC_objbarrier(ls->L, f, func->f); init_exp(v, VRELOCABLE, luaK_codeABx(fs, OP_CLOSURE, 0, fs->np-1)); for (i=0; if->nups; i++) { OpCode o = (func->upvalues[i].k == VLOCAL) ? OP_MOVE : OP_GETUPVAL; luaK_codeABC(fs, o, 0, func->upvalues[i].info, 0); } } static void open_func (LexState *ls, FuncState *fs) { lua_State *L = ls->L; Proto *f = luaF_newproto(L); fs->f = f; fs->prev = ls->fs; /* linked list of funcstates */ fs->ls = ls; fs->L = L; ls->fs = fs; fs->pc = 0; fs->lasttarget = -1; fs->jpc = NO_JUMP; fs->freereg = 0; fs->nk = 0; fs->np = 0; fs->nlocvars = 0; fs->nactvar = 0; fs->bl = NULL; f->source = ls->source; f->maxstacksize = 2; /* registers 0/1 are always valid */ fs->h = luaH_new(L, 0, 0); /* anchor table of constants and prototype (to avoid being collected) */ sethvalue2s(L, L->top, fs->h); incr_top(L); setptvalue2s(L, L->top, f); incr_top(L); } static void close_func (LexState *ls) { lua_State *L = ls->L; FuncState *fs = ls->fs; Proto *f = fs->f; removevars(ls, 0); luaK_ret(fs, 0, 0); /* final return */ luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction); f->sizecode = fs->pc; luaM_reallocvector(L, f->lineinfo, f->sizelineinfo, fs->pc, int); f->sizelineinfo = fs->pc; luaM_reallocvector(L, f->k, f->sizek, fs->nk, TValue); f->sizek = fs->nk; luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *); f->sizep = fs->np; luaM_reallocvector(L, f->locvars, f->sizelocvars, fs->nlocvars, LocVar); f->sizelocvars = fs->nlocvars; luaM_reallocvector(L, f->upvalues, f->sizeupvalues, f->nups, TString *); f->sizeupvalues = f->nups; lua_assert(luaG_checkcode(f)); lua_assert(fs->bl == NULL); ls->fs = fs->prev; L->top -= 2; /* remove table and prototype from the stack */ /* last token read was anchored in defunct function; must reanchor it */ if (fs) anchor_token(ls); } Proto *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, const char *name) { struct LexState lexstate; struct FuncState funcstate; lexstate.buff = buff; luaX_setinput(L, &lexstate, z, luaS_new(L, name)); open_func(&lexstate, &funcstate); funcstate.f->is_vararg = VARARG_ISVARARG; /* main func. is always vararg */ luaX_next(&lexstate); /* read first token */ chunk(&lexstate); check(&lexstate, TK_EOS); close_func(&lexstate); lua_assert(funcstate.prev == NULL); lua_assert(funcstate.f->nups == 0); lua_assert(lexstate.fs == NULL); return funcstate.f; } /*============================================================*/ /* GRAMMAR RULES */ /*============================================================*/ static void field (LexState *ls, expdesc *v) { /* field -> ['.' | ':'] NAME */ FuncState *fs = ls->fs; expdesc key; luaK_exp2anyreg(fs, v); luaX_next(ls); /* skip the dot or colon */ checkname(ls, &key); luaK_indexed(fs, v, &key); } static void yindex (LexState *ls, expdesc *v) { /* index -> '[' expr ']' */ luaX_next(ls); /* skip the '[' */ expr(ls, v); luaK_exp2val(ls->fs, v); checknext(ls, ']'); } /* ** {====================================================================== ** Rules for Constructors ** ======================================================================= */ struct ConsControl { expdesc v; /* last list item read */ expdesc *t; /* table descriptor */ int nh; /* total number of `record' elements */ int na; /* total number of array elements */ int tostore; /* number of array elements pending to be stored */ }; static void recfield (LexState *ls, struct ConsControl *cc) { /* recfield -> (NAME | `['exp1`]') = exp1 */ FuncState *fs = ls->fs; int reg = ls->fs->freereg; expdesc key, val; int rkkey; if (ls->t.token == TK_NAME) { luaY_checklimit(fs, cc->nh, MAX_INT, "items in a constructor"); checkname(ls, &key); } else /* ls->t.token == '[' */ yindex(ls, &key); cc->nh++; checknext(ls, '='); rkkey = luaK_exp2RK(fs, &key); expr(ls, &val); luaK_codeABC(fs, OP_SETTABLE, cc->t->u.s.info, rkkey, luaK_exp2RK(fs, &val)); fs->freereg = reg; /* free registers */ } static void closelistfield (FuncState *fs, struct ConsControl *cc) { if (cc->v.k == VVOID) return; /* there is no list item */ luaK_exp2nextreg(fs, &cc->v); cc->v.k = VVOID; if (cc->tostore == LFIELDS_PER_FLUSH) { luaK_setlist(fs, cc->t->u.s.info, cc->na, cc->tostore); /* flush */ cc->tostore = 0; /* no more items pending */ } } static void lastlistfield (FuncState *fs, struct ConsControl *cc) { if (cc->tostore == 0) return; if (hasmultret(cc->v.k)) { luaK_setmultret(fs, &cc->v); luaK_setlist(fs, cc->t->u.s.info, cc->na, LUA_MULTRET); cc->na--; /* do not count last expression (unknown number of elements) */ } else { if (cc->v.k != VVOID) luaK_exp2nextreg(fs, &cc->v); luaK_setlist(fs, cc->t->u.s.info, cc->na, cc->tostore); } } static void listfield (LexState *ls, struct ConsControl *cc) { expr(ls, &cc->v); luaY_checklimit(ls->fs, cc->na, MAXARG_Bx, "items in a constructor"); cc->na++; cc->tostore++; } static void constructor (LexState *ls, expdesc *t) { /* constructor -> ?? */ FuncState *fs = ls->fs; int line = ls->linenumber; int pc = luaK_codeABC(fs, OP_NEWTABLE, 0, 0, 0); struct ConsControl cc; cc.na = cc.nh = cc.tostore = 0; cc.t = t; init_exp(t, VRELOCABLE, pc); init_exp(&cc.v, VVOID, 0); /* no value (yet) */ luaK_exp2nextreg(ls->fs, t); /* fix it at stack top (for gc) */ checknext(ls, '{'); do { lua_assert(cc.v.k == VVOID || cc.tostore > 0); if (ls->t.token == '}') break; closelistfield(fs, &cc); switch(ls->t.token) { case TK_NAME: { /* may be listfields or recfields */ luaX_lookahead(ls); if (ls->lookahead.token != '=') /* expression? */ listfield(ls, &cc); else recfield(ls, &cc); break; } case '[': { /* constructor_item -> recfield */ recfield(ls, &cc); break; } default: { /* constructor_part -> listfield */ listfield(ls, &cc); break; } } } while (testnext(ls, ',') || testnext(ls, ';')); check_match(ls, '}', '{', line); lastlistfield(fs, &cc); SETARG_B(fs->f->code[pc], luaO_int2fb(cc.na)); /* set initial array size */ SETARG_C(fs->f->code[pc], luaO_int2fb(cc.nh)); /* set initial table size */ } /* }====================================================================== */ static void parlist (LexState *ls) { /* parlist -> [ param { `,' param } ] */ FuncState *fs = ls->fs; Proto *f = fs->f; int nparams = 0; f->is_vararg = 0; if (ls->t.token != ')') { /* is `parlist' not empty? */ do { switch (ls->t.token) { case TK_NAME: { /* param -> NAME */ new_localvar(ls, str_checkname(ls), nparams++); break; } case TK_DOTS: { /* param -> `...' */ luaX_next(ls); #if defined(LUA_COMPAT_VARARG) /* use `arg' as default name */ new_localvarliteral(ls, "arg", nparams++); f->is_vararg = VARARG_HASARG | VARARG_NEEDSARG; #endif f->is_vararg |= VARARG_ISVARARG; break; } default: luaX_syntaxerror(ls, " or " LUA_QL("...") " expected"); } } while (!f->is_vararg && testnext(ls, ',')); } adjustlocalvars(ls, nparams); f->numparams = cast_byte(fs->nactvar - (f->is_vararg & VARARG_HASARG)); luaK_reserveregs(fs, fs->nactvar); /* reserve register for parameters */ } static void body (LexState *ls, expdesc *e, int needself, int line) { /* body -> `(' parlist `)' chunk END */ FuncState new_fs; open_func(ls, &new_fs); new_fs.f->linedefined = line; checknext(ls, '('); if (needself) { new_localvarliteral(ls, "self", 0); adjustlocalvars(ls, 1); } parlist(ls); checknext(ls, ')'); chunk(ls); new_fs.f->lastlinedefined = ls->linenumber; check_match(ls, TK_END, TK_FUNCTION, line); close_func(ls); pushclosure(ls, &new_fs, e); } static int explist1 (LexState *ls, expdesc *v) { /* explist1 -> expr { `,' expr } */ int n = 1; /* at least one expression */ expr(ls, v); while (testnext(ls, ',')) { luaK_exp2nextreg(ls->fs, v); expr(ls, v); n++; } return n; } static void funcargs (LexState *ls, expdesc *f) { FuncState *fs = ls->fs; expdesc args; int base, nparams; int line = ls->linenumber; switch (ls->t.token) { case '(': { /* funcargs -> `(' [ explist1 ] `)' */ if (line != ls->lastline) luaX_syntaxerror(ls,"ambiguous syntax (function call x new statement)"); luaX_next(ls); if (ls->t.token == ')') /* arg list is empty? */ args.k = VVOID; else { explist1(ls, &args); luaK_setmultret(fs, &args); } check_match(ls, ')', '(', line); break; } case '{': { /* funcargs -> constructor */ constructor(ls, &args); break; } case TK_STRING: { /* funcargs -> STRING */ codestring(ls, &args, ls->t.seminfo.ts); luaX_next(ls); /* must use `seminfo' before `next' */ break; } default: { luaX_syntaxerror(ls, "function arguments expected"); return; } } lua_assert(f->k == VNONRELOC); base = f->u.s.info; /* base register for call */ if (hasmultret(args.k)) nparams = LUA_MULTRET; /* open call */ else { if (args.k != VVOID) luaK_exp2nextreg(fs, &args); /* close last argument */ nparams = fs->freereg - (base+1); } init_exp(f, VCALL, luaK_codeABC(fs, OP_CALL, base, nparams+1, 2)); luaK_fixline(fs, line); fs->freereg = base+1; /* call remove function and arguments and leaves (unless changed) one result */ } /* ** {====================================================================== ** Expression parsing ** ======================================================================= */ static void prefixexp (LexState *ls, expdesc *v) { /* prefixexp -> NAME | '(' expr ')' */ switch (ls->t.token) { case '(': { int line = ls->linenumber; luaX_next(ls); expr(ls, v); check_match(ls, ')', '(', line); luaK_dischargevars(ls->fs, v); return; } case TK_NAME: { singlevar(ls, v); return; } default: { luaX_syntaxerror(ls, "unexpected symbol"); return; } } } static void primaryexp (LexState *ls, expdesc *v) { /* primaryexp -> prefixexp { `.' NAME | `[' exp `]' | `:' NAME funcargs | funcargs } */ FuncState *fs = ls->fs; prefixexp(ls, v); for (;;) { switch (ls->t.token) { case '.': { /* field */ field(ls, v); break; } case '[': { /* `[' exp1 `]' */ expdesc key; luaK_exp2anyreg(fs, v); yindex(ls, &key); luaK_indexed(fs, v, &key); break; } case ':': { /* `:' NAME funcargs */ expdesc key; luaX_next(ls); checkname(ls, &key); luaK_self(fs, v, &key); funcargs(ls, v); break; } case '(': case TK_STRING: case '{': { /* funcargs */ luaK_exp2nextreg(fs, v); funcargs(ls, v); break; } default: return; } } } static void simpleexp (LexState *ls, expdesc *v) { /* simpleexp -> NUMBER | STRING | NIL | true | false | ... | constructor | FUNCTION body | primaryexp */ switch (ls->t.token) { case TK_NUMBER: { init_exp(v, VKNUM, 0); v->u.nval = ls->t.seminfo.r; break; } case TK_STRING: { codestring(ls, v, ls->t.seminfo.ts); break; } case TK_NIL: { init_exp(v, VNIL, 0); break; } case TK_TRUE: { init_exp(v, VTRUE, 0); break; } case TK_FALSE: { init_exp(v, VFALSE, 0); break; } case TK_DOTS: { /* vararg */ FuncState *fs = ls->fs; check_condition(ls, fs->f->is_vararg, "cannot use " LUA_QL("...") " outside a vararg function"); fs->f->is_vararg &= ~VARARG_NEEDSARG; /* don't need 'arg' */ init_exp(v, VVARARG, luaK_codeABC(fs, OP_VARARG, 0, 1, 0)); break; } case '{': { /* constructor */ constructor(ls, v); return; } case TK_FUNCTION: { luaX_next(ls); body(ls, v, 0, ls->linenumber); return; } default: { primaryexp(ls, v); return; } } luaX_next(ls); } static UnOpr getunopr (int op) { switch (op) { case TK_NOT: return OPR_NOT; case '-': return OPR_MINUS; case '#': return OPR_LEN; default: return OPR_NOUNOPR; } } static BinOpr getbinopr (int op) { switch (op) { case '+': return OPR_ADD; case '-': return OPR_SUB; case '*': return OPR_MUL; case '/': return OPR_DIV; case '%': return OPR_MOD; case '^': return OPR_POW; case TK_CONCAT: return OPR_CONCAT; case TK_NE: return OPR_NE; case TK_EQ: return OPR_EQ; case '<': return OPR_LT; case TK_LE: return OPR_LE; case '>': return OPR_GT; case TK_GE: return OPR_GE; case TK_AND: return OPR_AND; case TK_OR: return OPR_OR; default: return OPR_NOBINOPR; } } static const struct { lu_byte left; /* left priority for each binary operator */ lu_byte right; /* right priority */ } priority[] = { /* ORDER OPR */ {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `+' `-' `/' `%' */ {10, 9}, {5, 4}, /* power and concat (right associative) */ {3, 3}, {3, 3}, /* equality and inequality */ {3, 3}, {3, 3}, {3, 3}, {3, 3}, /* order */ {2, 2}, {1, 1} /* logical (and/or) */ }; #define UNARY_PRIORITY 8 /* priority for unary operators */ /* ** subexpr -> (simpleexp | unop subexpr) { binop subexpr } ** where `binop' is any binary operator with a priority higher than `limit' */ static BinOpr subexpr (LexState *ls, expdesc *v, unsigned int limit) { BinOpr op; UnOpr uop; enterlevel(ls); uop = getunopr(ls->t.token); if (uop != OPR_NOUNOPR) { luaX_next(ls); subexpr(ls, v, UNARY_PRIORITY); luaK_prefix(ls->fs, uop, v); } else simpleexp(ls, v); /* expand while operators have priorities higher than `limit' */ op = getbinopr(ls->t.token); while (op != OPR_NOBINOPR && priority[op].left > limit) { expdesc v2; BinOpr nextop; luaX_next(ls); luaK_infix(ls->fs, op, v); /* read sub-expression with higher priority */ nextop = subexpr(ls, &v2, priority[op].right); luaK_posfix(ls->fs, op, v, &v2); op = nextop; } leavelevel(ls); return op; /* return first untreated operator */ } static void expr (LexState *ls, expdesc *v) { subexpr(ls, v, 0); } /* }==================================================================== */ /* ** {====================================================================== ** Rules for Statements ** ======================================================================= */ static int block_follow (int token) { switch (token) { case TK_ELSE: case TK_ELSEIF: case TK_END: case TK_UNTIL: case TK_EOS: return 1; default: return 0; } } static void block (LexState *ls) { /* block -> chunk */ FuncState *fs = ls->fs; BlockCnt bl; enterblock(fs, &bl, 0); chunk(ls); lua_assert(bl.breaklist == NO_JUMP); leaveblock(fs); } /* ** structure to chain all variables in the left-hand side of an ** assignment */ struct LHS_assign { struct LHS_assign *prev; expdesc v; /* variable (global, local, upvalue, or indexed) */ }; /* ** check whether, in an assignment to a local variable, the local variable ** is needed in a previous assignment (to a table). If so, save original ** local value in a safe place and use this safe copy in the previous ** assignment. */ static void check_conflict (LexState *ls, struct LHS_assign *lh, expdesc *v) { FuncState *fs = ls->fs; int extra = fs->freereg; /* eventual position to save local variable */ int conflict = 0; for (; lh; lh = lh->prev) { if (lh->v.k == VINDEXED) { if (lh->v.u.s.info == v->u.s.info) { /* conflict? */ conflict = 1; lh->v.u.s.info = extra; /* previous assignment will use safe copy */ } if (lh->v.u.s.aux == v->u.s.info) { /* conflict? */ conflict = 1; lh->v.u.s.aux = extra; /* previous assignment will use safe copy */ } } } if (conflict) { luaK_codeABC(fs, OP_MOVE, fs->freereg, v->u.s.info, 0); /* make copy */ luaK_reserveregs(fs, 1); } } static void assignment (LexState *ls, struct LHS_assign *lh, int nvars) { expdesc e; check_condition(ls, VLOCAL <= lh->v.k && lh->v.k <= VINDEXED, "syntax error"); if (testnext(ls, ',')) { /* assignment -> `,' primaryexp assignment */ struct LHS_assign nv; nv.prev = lh; primaryexp(ls, &nv.v); if (nv.v.k == VLOCAL) check_conflict(ls, lh, &nv.v); assignment(ls, &nv, nvars+1); } else { /* assignment -> `=' explist1 */ int nexps; checknext(ls, '='); nexps = explist1(ls, &e); if (nexps != nvars) { adjust_assign(ls, nvars, nexps, &e); if (nexps > nvars) ls->fs->freereg -= nexps - nvars; /* remove extra values */ } else { luaK_setoneret(ls->fs, &e); /* close last expression */ luaK_storevar(ls->fs, &lh->v, &e); return; /* avoid default */ } } init_exp(&e, VNONRELOC, ls->fs->freereg-1); /* default assignment */ luaK_storevar(ls->fs, &lh->v, &e); } static int cond (LexState *ls) { /* cond -> exp */ expdesc v; expr(ls, &v); /* read condition */ if (v.k == VNIL) v.k = VFALSE; /* `falses' are all equal here */ luaK_goiftrue(ls->fs, &v); return v.f; } static void breakstat (LexState *ls) { FuncState *fs = ls->fs; BlockCnt *bl = fs->bl; int upval = 0; while (bl && !bl->isbreakable) { upval |= bl->upval; bl = bl->previous; } if (!bl) luaX_syntaxerror(ls, "no loop to break"); if (upval) luaK_codeABC(fs, OP_CLOSE, bl->nactvar, 0, 0); luaK_concat(fs, &bl->breaklist, luaK_jump(fs)); } static void whilestat (LexState *ls, int line) { /* whilestat -> WHILE cond DO block END */ FuncState *fs = ls->fs; int whileinit; int condexit; BlockCnt bl; luaX_next(ls); /* skip WHILE */ whileinit = luaK_getlabel(fs); condexit = cond(ls); enterblock(fs, &bl, 1); checknext(ls, TK_DO); block(ls); luaK_patchlist(fs, luaK_jump(fs), whileinit); check_match(ls, TK_END, TK_WHILE, line); leaveblock(fs); luaK_patchtohere(fs, condexit); /* false conditions finish the loop */ } static void repeatstat (LexState *ls, int line) { /* repeatstat -> REPEAT block UNTIL cond */ int condexit; FuncState *fs = ls->fs; int repeat_init = luaK_getlabel(fs); BlockCnt bl1, bl2; enterblock(fs, &bl1, 1); /* loop block */ enterblock(fs, &bl2, 0); /* scope block */ luaX_next(ls); /* skip REPEAT */ chunk(ls); check_match(ls, TK_UNTIL, TK_REPEAT, line); condexit = cond(ls); /* read condition (inside scope block) */ if (!bl2.upval) { /* no upvalues? */ leaveblock(fs); /* finish scope */ luaK_patchlist(ls->fs, condexit, repeat_init); /* close the loop */ } else { /* complete semantics when there are upvalues */ breakstat(ls); /* if condition then break */ luaK_patchtohere(ls->fs, condexit); /* else... */ leaveblock(fs); /* finish scope... */ luaK_patchlist(ls->fs, luaK_jump(fs), repeat_init); /* and repeat */ } leaveblock(fs); /* finish loop */ } static int exp1 (LexState *ls) { expdesc e; int k; expr(ls, &e); k = e.k; luaK_exp2nextreg(ls->fs, &e); return k; } static void forbody (LexState *ls, int base, int line, int nvars, int isnum) { /* forbody -> DO block */ BlockCnt bl; FuncState *fs = ls->fs; int prep, endfor; adjustlocalvars(ls, 3); /* control variables */ checknext(ls, TK_DO); prep = isnum ? luaK_codeAsBx(fs, OP_FORPREP, base, NO_JUMP) : luaK_jump(fs); enterblock(fs, &bl, 0); /* scope for declared variables */ adjustlocalvars(ls, nvars); luaK_reserveregs(fs, nvars); block(ls); leaveblock(fs); /* end of scope for declared variables */ luaK_patchtohere(fs, prep); endfor = (isnum) ? luaK_codeAsBx(fs, OP_FORLOOP, base, NO_JUMP) : luaK_codeABC(fs, OP_TFORLOOP, base, 0, nvars); luaK_fixline(fs, line); /* pretend that `OP_FOR' starts the loop */ luaK_patchlist(fs, (isnum ? endfor : luaK_jump(fs)), prep + 1); } static void fornum (LexState *ls, TString *varname, int line) { /* fornum -> NAME = exp1,exp1[,exp1] forbody */ FuncState *fs = ls->fs; int base = fs->freereg; new_localvarliteral(ls, "(for index)", 0); new_localvarliteral(ls, "(for limit)", 1); new_localvarliteral(ls, "(for step)", 2); new_localvar(ls, varname, 3); checknext(ls, '='); exp1(ls); /* initial value */ checknext(ls, ','); exp1(ls); /* limit */ if (testnext(ls, ',')) exp1(ls); /* optional step */ else { /* default step = 1 */ luaK_codeABx(fs, OP_LOADK, fs->freereg, luaK_numberK(fs, 1)); luaK_reserveregs(fs, 1); } forbody(ls, base, line, 1, 1); } static void forlist (LexState *ls, TString *indexname) { /* forlist -> NAME {,NAME} IN explist1 forbody */ FuncState *fs = ls->fs; expdesc e; int nvars = 0; int line; int base = fs->freereg; /* create control variables */ new_localvarliteral(ls, "(for generator)", nvars++); new_localvarliteral(ls, "(for state)", nvars++); new_localvarliteral(ls, "(for control)", nvars++); /* create declared variables */ new_localvar(ls, indexname, nvars++); while (testnext(ls, ',')) new_localvar(ls, str_checkname(ls), nvars++); checknext(ls, TK_IN); line = ls->linenumber; adjust_assign(ls, 3, explist1(ls, &e), &e); luaK_checkstack(fs, 3); /* extra space to call generator */ forbody(ls, base, line, nvars - 3, 0); } static void forstat (LexState *ls, int line) { /* forstat -> FOR (fornum | forlist) END */ FuncState *fs = ls->fs; TString *varname; BlockCnt bl; enterblock(fs, &bl, 1); /* scope for loop and control variables */ luaX_next(ls); /* skip `for' */ varname = str_checkname(ls); /* first variable name */ switch (ls->t.token) { case '=': fornum(ls, varname, line); break; case ',': case TK_IN: forlist(ls, varname); break; default: luaX_syntaxerror(ls, LUA_QL("=") " or " LUA_QL("in") " expected"); } check_match(ls, TK_END, TK_FOR, line); leaveblock(fs); /* loop scope (`break' jumps to this point) */ } static int test_then_block (LexState *ls) { /* test_then_block -> [IF | ELSEIF] cond THEN block */ int condexit; luaX_next(ls); /* skip IF or ELSEIF */ condexit = cond(ls); checknext(ls, TK_THEN); block(ls); /* `then' part */ return condexit; } static void ifstat (LexState *ls, int line) { /* ifstat -> IF cond THEN block {ELSEIF cond THEN block} [ELSE block] END */ FuncState *fs = ls->fs; int flist; int escapelist = NO_JUMP; flist = test_then_block(ls); /* IF cond THEN block */ while (ls->t.token == TK_ELSEIF) { luaK_concat(fs, &escapelist, luaK_jump(fs)); luaK_patchtohere(fs, flist); flist = test_then_block(ls); /* ELSEIF cond THEN block */ } if (ls->t.token == TK_ELSE) { luaK_concat(fs, &escapelist, luaK_jump(fs)); luaK_patchtohere(fs, flist); luaX_next(ls); /* skip ELSE (after patch, for correct line info) */ block(ls); /* `else' part */ } else luaK_concat(fs, &escapelist, flist); luaK_patchtohere(fs, escapelist); check_match(ls, TK_END, TK_IF, line); } static void localfunc (LexState *ls) { expdesc v, b; FuncState *fs = ls->fs; new_localvar(ls, str_checkname(ls), 0); init_exp(&v, VLOCAL, fs->freereg); luaK_reserveregs(fs, 1); adjustlocalvars(ls, 1); body(ls, &b, 0, ls->linenumber); luaK_storevar(fs, &v, &b); /* debug information will only see the variable after this point! */ getlocvar(fs, fs->nactvar - 1).startpc = fs->pc; } static void localstat (LexState *ls) { /* stat -> LOCAL NAME {`,' NAME} [`=' explist1] */ int nvars = 0; int nexps; expdesc e; do { new_localvar(ls, str_checkname(ls), nvars++); } while (testnext(ls, ',')); if (testnext(ls, '=')) nexps = explist1(ls, &e); else { e.k = VVOID; nexps = 0; } adjust_assign(ls, nvars, nexps, &e); adjustlocalvars(ls, nvars); } static int funcname (LexState *ls, expdesc *v) { /* funcname -> NAME {field} [`:' NAME] */ int needself = 0; singlevar(ls, v); while (ls->t.token == '.') field(ls, v); if (ls->t.token == ':') { needself = 1; field(ls, v); } return needself; } static void funcstat (LexState *ls, int line) { /* funcstat -> FUNCTION funcname body */ int needself; expdesc v, b; luaX_next(ls); /* skip FUNCTION */ needself = funcname(ls, &v); body(ls, &b, needself, line); luaK_storevar(ls->fs, &v, &b); luaK_fixline(ls->fs, line); /* definition `happens' in the first line */ } static void exprstat (LexState *ls) { /* stat -> func | assignment */ FuncState *fs = ls->fs; struct LHS_assign v; primaryexp(ls, &v.v); if (v.v.k == VCALL) /* stat -> func */ SETARG_C(getcode(fs, &v.v), 1); /* call statement uses no results */ else { /* stat -> assignment */ v.prev = NULL; assignment(ls, &v, 1); } } static void retstat (LexState *ls) { /* stat -> RETURN explist */ FuncState *fs = ls->fs; expdesc e; int first, nret; /* registers with returned values */ luaX_next(ls); /* skip RETURN */ if (block_follow(ls->t.token) || ls->t.token == ';') first = nret = 0; /* return no values */ else { nret = explist1(ls, &e); /* optional return values */ if (hasmultret(e.k)) { luaK_setmultret(fs, &e); if (e.k == VCALL && nret == 1) { /* tail call? */ SET_OPCODE(getcode(fs,&e), OP_TAILCALL); lua_assert(GETARG_A(getcode(fs,&e)) == fs->nactvar); } first = fs->nactvar; nret = LUA_MULTRET; /* return all values */ } else { if (nret == 1) /* only one single value? */ first = luaK_exp2anyreg(fs, &e); else { luaK_exp2nextreg(fs, &e); /* values must go to the `stack' */ first = fs->nactvar; /* return all `active' values */ lua_assert(nret == fs->freereg - first); } } } luaK_ret(fs, first, nret); } static int statement (LexState *ls) { int line = ls->linenumber; /* may be needed for error messages */ switch (ls->t.token) { case TK_IF: { /* stat -> ifstat */ ifstat(ls, line); return 0; } case TK_WHILE: { /* stat -> whilestat */ whilestat(ls, line); return 0; } case TK_DO: { /* stat -> DO block END */ luaX_next(ls); /* skip DO */ block(ls); check_match(ls, TK_END, TK_DO, line); return 0; } case TK_FOR: { /* stat -> forstat */ forstat(ls, line); return 0; } case TK_REPEAT: { /* stat -> repeatstat */ repeatstat(ls, line); return 0; } case TK_FUNCTION: { funcstat(ls, line); /* stat -> funcstat */ return 0; } case TK_LOCAL: { /* stat -> localstat */ luaX_next(ls); /* skip LOCAL */ if (testnext(ls, TK_FUNCTION)) /* local function? */ localfunc(ls); else localstat(ls); return 0; } case TK_RETURN: { /* stat -> retstat */ retstat(ls); return 1; /* must be last statement */ } case TK_BREAK: { /* stat -> breakstat */ luaX_next(ls); /* skip BREAK */ breakstat(ls); return 1; /* must be last statement */ } default: { exprstat(ls); return 0; /* to avoid warnings */ } } } static void chunk (LexState *ls) { /* chunk -> { stat [`;'] } */ int islast = 0; enterlevel(ls); while (!islast && !block_follow(ls->t.token)) { islast = statement(ls); testnext(ls, ';'); lua_assert(ls->fs->f->maxstacksize >= ls->fs->freereg && ls->fs->freereg >= ls->fs->nactvar); ls->fs->freereg = ls->fs->nactvar; /* free registers */ } leavelevel(ls); } /* }====================================================================== */ gtk-engines-2.20.2/engines/lua/src/liblua/lstate.c0000644000175000017500000001272411451352576016660 00000000000000/* ** $Id$ ** Global State ** See Copyright Notice in lua.h */ #include #define lstate_c #define LUA_CORE #include "lua.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "lgc.h" #include "llex.h" #include "lmem.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "ltm.h" #define state_size(x) (sizeof(x) + LUAI_EXTRASPACE) #define fromstate(l) (cast(lu_byte *, (l)) - LUAI_EXTRASPACE) #define tostate(l) (cast(lua_State *, cast(lu_byte *, l) + LUAI_EXTRASPACE)) /* ** Main thread combines a thread state and the global state */ typedef struct LG { lua_State l; global_State g; } LG; static void stack_init (lua_State *L1, lua_State *L) { /* initialize CallInfo array */ L1->base_ci = luaM_newvector(L, BASIC_CI_SIZE, CallInfo); L1->ci = L1->base_ci; L1->size_ci = BASIC_CI_SIZE; L1->end_ci = L1->base_ci + L1->size_ci - 1; /* initialize stack array */ L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, TValue); L1->stacksize = BASIC_STACK_SIZE + EXTRA_STACK; L1->top = L1->stack; L1->stack_last = L1->stack+(L1->stacksize - EXTRA_STACK)-1; /* initialize first ci */ L1->ci->func = L1->top; setnilvalue(L1->top++); /* `function' entry for this `ci' */ L1->base = L1->ci->base = L1->top; L1->ci->top = L1->top + LUA_MINSTACK; } static void freestack (lua_State *L, lua_State *L1) { luaM_freearray(L, L1->base_ci, L1->size_ci, CallInfo); luaM_freearray(L, L1->stack, L1->stacksize, TValue); } /* ** open parts that may cause memory-allocation errors */ static void f_luaopen (lua_State *L, void *ud) { global_State *g = G(L); UNUSED(ud); stack_init(L, L); /* init stack */ sethvalue(L, gt(L), luaH_new(L, 0, 2)); /* table of globals */ sethvalue(L, registry(L), luaH_new(L, 0, 2)); /* registry */ luaS_resize(L, MINSTRTABSIZE); /* initial size of string table */ luaT_init(L); luaX_init(L); luaS_fix(luaS_newliteral(L, MEMERRMSG)); g->GCthreshold = 4*g->totalbytes; } static void preinit_state (lua_State *L, global_State *g) { G(L) = g; L->stack = NULL; L->stacksize = 0; L->errorJmp = NULL; L->hook = NULL; L->hookmask = 0; L->basehookcount = 0; L->allowhook = 1; resethookcount(L); L->openupval = NULL; L->size_ci = 0; L->nCcalls = 0; L->status = 0; L->base_ci = L->ci = NULL; L->savedpc = NULL; L->errfunc = 0; setnilvalue(gt(L)); } static void close_state (lua_State *L) { global_State *g = G(L); luaF_close(L, L->stack); /* close all upvalues for this thread */ luaC_freeall(L); /* collect all objects */ lua_assert(g->rootgc == obj2gco(L)); lua_assert(g->strt.nuse == 0); luaM_freearray(L, G(L)->strt.hash, G(L)->strt.size, TString *); luaZ_freebuffer(L, &g->buff); freestack(L, L); lua_assert(g->totalbytes == sizeof(LG)); (*g->frealloc)(g->ud, fromstate(L), state_size(LG), 0); } lua_State *luaE_newthread (lua_State *L) { lua_State *L1 = tostate(luaM_malloc(L, state_size(lua_State))); luaC_link(L, obj2gco(L1), LUA_TTHREAD); preinit_state(L1, G(L)); stack_init(L1, L); /* init stack */ setobj2n(L, gt(L1), gt(L)); /* share table of globals */ L1->hookmask = L->hookmask; L1->basehookcount = L->basehookcount; L1->hook = L->hook; resethookcount(L1); lua_assert(iswhite(obj2gco(L1))); return L1; } void luaE_freethread (lua_State *L, lua_State *L1) { luaF_close(L1, L1->stack); /* close all upvalues for this thread */ lua_assert(L1->openupval == NULL); luai_userstatefree(L1); freestack(L, L1); luaM_freemem(L, fromstate(L1), state_size(lua_State)); } LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) { int i; lua_State *L; global_State *g; void *l = (*f)(ud, NULL, 0, state_size(LG)); if (l == NULL) return NULL; L = tostate(l); g = &((LG *)L)->g; L->next = NULL; L->tt = LUA_TTHREAD; g->currentwhite = bit2mask(WHITE0BIT, FIXEDBIT); L->marked = luaC_white(g); set2bits(L->marked, FIXEDBIT, SFIXEDBIT); preinit_state(L, g); g->frealloc = f; g->ud = ud; g->mainthread = L; g->uvhead.u.l.prev = &g->uvhead; g->uvhead.u.l.next = &g->uvhead; g->GCthreshold = 0; /* mark it as unfinished state */ g->strt.size = 0; g->strt.nuse = 0; g->strt.hash = NULL; setnilvalue(registry(L)); luaZ_initbuffer(L, &g->buff); g->panic = NULL; g->gcstate = GCSpause; g->rootgc = obj2gco(L); g->sweepstrgc = 0; g->sweepgc = &g->rootgc; g->gray = NULL; g->grayagain = NULL; g->weak = NULL; g->tmudata = NULL; g->totalbytes = sizeof(LG); g->gcpause = LUAI_GCPAUSE; g->gcstepmul = LUAI_GCMUL; g->gcdept = 0; for (i=0; imt[i] = NULL; if (luaD_rawrunprotected(L, f_luaopen, NULL) != 0) { /* memory allocation error: free partial state */ close_state(L); L = NULL; } else luai_userstateopen(L); return L; } static void callallgcTM (lua_State *L, void *ud) { UNUSED(ud); luaC_callGCTM(L); /* call GC metamethods for all udata */ } LUA_API void lua_close (lua_State *L) { L = G(L)->mainthread; /* only the main thread can be closed */ lua_lock(L); luaF_close(L, L->stack); /* close all upvalues for this thread */ luaC_separateudata(L, 1); /* separate udata that have GC metamethods */ L->errfunc = 0; /* no error function during GC metamethods */ do { /* repeat until no more errors */ L->ci = L->base_ci; L->base = L->top = L->ci->base; L->nCcalls = 0; } while (luaD_rawrunprotected(L, callallgcTM, NULL) != 0); lua_assert(G(L)->tmudata == NULL); luai_userstateclose(L); close_state(L); } gtk-engines-2.20.2/engines/lua/src/liblua/lstring.c0000644000175000017500000000576011451352576017050 00000000000000/* ** $Id$ ** String table (keeps all strings handled by Lua) ** See Copyright Notice in lua.h */ #include #define lstring_c #define LUA_CORE #include "lua.h" #include "lmem.h" #include "lobject.h" #include "lstate.h" #include "lstring.h" void luaS_resize (lua_State *L, int newsize) { GCObject **newhash; stringtable *tb; int i; if (G(L)->gcstate == GCSsweepstring) return; /* cannot resize during GC traverse */ newhash = luaM_newvector(L, newsize, GCObject *); tb = &G(L)->strt; for (i=0; isize; i++) { GCObject *p = tb->hash[i]; while (p) { /* for each node in the list */ GCObject *next = p->gch.next; /* save next */ unsigned int h = gco2ts(p)->hash; int h1 = lmod(h, newsize); /* new position */ lua_assert(cast_int(h%newsize) == lmod(h, newsize)); p->gch.next = newhash[h1]; /* chain it */ newhash[h1] = p; p = next; } } luaM_freearray(L, tb->hash, tb->size, TString *); tb->size = newsize; tb->hash = newhash; } static TString *newlstr (lua_State *L, const char *str, size_t l, unsigned int h) { TString *ts; stringtable *tb; if (l+1 > (MAX_SIZET - sizeof(TString))/sizeof(char)) luaM_toobig(L); ts = cast(TString *, luaM_malloc(L, (l+1)*sizeof(char)+sizeof(TString))); ts->tsv.len = l; ts->tsv.hash = h; ts->tsv.marked = luaC_white(G(L)); ts->tsv.tt = LUA_TSTRING; ts->tsv.reserved = 0; memcpy(ts+1, str, l*sizeof(char)); ((char *)(ts+1))[l] = '\0'; /* ending 0 */ tb = &G(L)->strt; h = lmod(h, tb->size); ts->tsv.next = tb->hash[h]; /* chain new entry */ tb->hash[h] = obj2gco(ts); tb->nuse++; if (tb->nuse > cast(lu_int32, tb->size) && tb->size <= MAX_INT/2) luaS_resize(L, tb->size*2); /* too crowded */ return ts; } TString *luaS_newlstr (lua_State *L, const char *str, size_t l) { GCObject *o; unsigned int h = cast(unsigned int, l); /* seed */ size_t step = (l>>5)+1; /* if string is too long, don't hash all its chars */ size_t l1; for (l1=l; l1>=step; l1-=step) /* compute hash */ h = h ^ ((h<<5)+(h>>2)+cast(unsigned char, str[l1-1])); for (o = G(L)->strt.hash[lmod(h, G(L)->strt.size)]; o != NULL; o = o->gch.next) { TString *ts = rawgco2ts(o); if (ts->tsv.len == l && (memcmp(str, getstr(ts), l) == 0)) { /* string may be dead */ if (isdead(G(L), o)) changewhite(o); return ts; } } return newlstr(L, str, l, h); /* not found */ } Udata *luaS_newudata (lua_State *L, size_t s, Table *e) { Udata *u; if (s > MAX_SIZET - sizeof(Udata)) luaM_toobig(L); u = cast(Udata *, luaM_malloc(L, s + sizeof(Udata))); u->uv.marked = luaC_white(G(L)); /* is not finalized */ u->uv.tt = LUA_TUSERDATA; u->uv.len = s; u->uv.metatable = NULL; u->uv.env = e; /* chain it on udata list (after main thread) */ u->uv.next = G(L)->mainthread->next; G(L)->mainthread->next = obj2gco(u); return u; } gtk-engines-2.20.2/engines/lua/src/liblua/lstrlib.c0000644000175000017500000005534211451352576017042 00000000000000/* ** $Id$ ** Standard library for string operations and pattern-matching ** See Copyright Notice in lua.h */ #include #include #include #include #include #define lstrlib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" /* macro to `unsign' a character */ #define uchar(c) ((unsigned char)(c)) static int str_len (lua_State *L) { size_t l; luaL_checklstring(L, 1, &l); lua_pushinteger(L, l); return 1; } static ptrdiff_t posrelat (ptrdiff_t pos, size_t len) { /* relative string position: negative means back from end */ return (pos>=0) ? pos : (ptrdiff_t)len+pos+1; } static int str_sub (lua_State *L) { size_t l; const char *s = luaL_checklstring(L, 1, &l); ptrdiff_t start = posrelat(luaL_checkinteger(L, 2), l); ptrdiff_t end = posrelat(luaL_optinteger(L, 3, -1), l); if (start < 1) start = 1; if (end > (ptrdiff_t)l) end = (ptrdiff_t)l; if (start <= end) lua_pushlstring(L, s+start-1, end-start+1); else lua_pushliteral(L, ""); return 1; } static int str_reverse (lua_State *L) { size_t l; luaL_Buffer b; const char *s = luaL_checklstring(L, 1, &l); luaL_buffinit(L, &b); while (l--) luaL_addchar(&b, s[l]); luaL_pushresult(&b); return 1; } static int str_lower (lua_State *L) { size_t l; size_t i; luaL_Buffer b; const char *s = luaL_checklstring(L, 1, &l); luaL_buffinit(L, &b); for (i=0; i 0) luaL_addlstring(&b, s, l); luaL_pushresult(&b); return 1; } static int str_byte (lua_State *L) { size_t l; const char *s = luaL_checklstring(L, 1, &l); ptrdiff_t posi = posrelat(luaL_optinteger(L, 2, 1), l); ptrdiff_t pose = posrelat(luaL_optinteger(L, 3, posi), l); int n, i; if (posi <= 0) posi = 1; if ((size_t)pose > l) pose = l; if (posi > pose) return 0; /* empty interval; return no values */ n = (int)(pose - posi + 1); if (posi + n <= pose) /* overflow? */ luaL_error(L, "string slice too long"); luaL_checkstack(L, n, "string slice too long"); for (i=0; i= ms->level || ms->capture[l].len == CAP_UNFINISHED) return luaL_error(ms->L, "invalid capture index"); return l; } static int capture_to_close (MatchState *ms) { int level = ms->level; for (level--; level>=0; level--) if (ms->capture[level].len == CAP_UNFINISHED) return level; return luaL_error(ms->L, "invalid pattern capture"); } static const char *classend (MatchState *ms, const char *p) { switch (*p++) { case L_ESC: { if (*p == '\0') luaL_error(ms->L, "malformed pattern (ends with " LUA_QL("%%") ")"); return p+1; } case '[': { if (*p == '^') p++; do { /* look for a `]' */ if (*p == '\0') luaL_error(ms->L, "malformed pattern (missing " LUA_QL("]") ")"); if (*(p++) == L_ESC && *p != '\0') p++; /* skip escapes (e.g. `%]') */ } while (*p != ']'); return p+1; } default: { return p; } } } static int match_class (int c, int cl) { int res; switch (tolower(cl)) { case 'a' : res = isalpha(c); break; case 'c' : res = iscntrl(c); break; case 'd' : res = isdigit(c); break; case 'l' : res = islower(c); break; case 'p' : res = ispunct(c); break; case 's' : res = isspace(c); break; case 'u' : res = isupper(c); break; case 'w' : res = isalnum(c); break; case 'x' : res = isxdigit(c); break; case 'z' : res = (c == 0); break; default: return (cl == c); } return (islower(cl) ? res : !res); } static int matchbracketclass (int c, const char *p, const char *ec) { int sig = 1; if (*(p+1) == '^') { sig = 0; p++; /* skip the `^' */ } while (++p < ec) { if (*p == L_ESC) { p++; if (match_class(c, uchar(*p))) return sig; } else if ((*(p+1) == '-') && (p+2 < ec)) { p+=2; if (uchar(*(p-2)) <= c && c <= uchar(*p)) return sig; } else if (uchar(*p) == c) return sig; } return !sig; } static int singlematch (int c, const char *p, const char *ep) { switch (*p) { case '.': return 1; /* matches any char */ case L_ESC: return match_class(c, uchar(*(p+1))); case '[': return matchbracketclass(c, p, ep-1); default: return (uchar(*p) == c); } } static const char *match (MatchState *ms, const char *s, const char *p); static const char *matchbalance (MatchState *ms, const char *s, const char *p) { if (*p == 0 || *(p+1) == 0) luaL_error(ms->L, "unbalanced pattern"); if (*s != *p) return NULL; else { int b = *p; int e = *(p+1); int cont = 1; while (++s < ms->src_end) { if (*s == e) { if (--cont == 0) return s+1; } else if (*s == b) cont++; } } return NULL; /* string ends out of balance */ } static const char *max_expand (MatchState *ms, const char *s, const char *p, const char *ep) { ptrdiff_t i = 0; /* counts maximum expand for item */ while ((s+i)src_end && singlematch(uchar(*(s+i)), p, ep)) i++; /* keeps trying to match with the maximum repetitions */ while (i>=0) { const char *res = match(ms, (s+i), ep+1); if (res) return res; i--; /* else didn't match; reduce 1 repetition to try again */ } return NULL; } static const char *min_expand (MatchState *ms, const char *s, const char *p, const char *ep) { for (;;) { const char *res = match(ms, s, ep+1); if (res != NULL) return res; else if (ssrc_end && singlematch(uchar(*s), p, ep)) s++; /* try with one more repetition */ else return NULL; } } static const char *start_capture (MatchState *ms, const char *s, const char *p, int what) { const char *res; int level = ms->level; if (level >= LUA_MAXCAPTURES) luaL_error(ms->L, "too many captures"); ms->capture[level].init = s; ms->capture[level].len = what; ms->level = level+1; if ((res=match(ms, s, p)) == NULL) /* match failed? */ ms->level--; /* undo capture */ return res; } static const char *end_capture (MatchState *ms, const char *s, const char *p) { int l = capture_to_close(ms); const char *res; ms->capture[l].len = s - ms->capture[l].init; /* close capture */ if ((res = match(ms, s, p)) == NULL) /* match failed? */ ms->capture[l].len = CAP_UNFINISHED; /* undo capture */ return res; } static const char *match_capture (MatchState *ms, const char *s, int l) { size_t len; l = check_capture(ms, l); len = ms->capture[l].len; if ((size_t)(ms->src_end-s) >= len && memcmp(ms->capture[l].init, s, len) == 0) return s+len; else return NULL; } static const char *match (MatchState *ms, const char *s, const char *p) { init: /* using goto's to optimize tail recursion */ switch (*p) { case '(': { /* start capture */ if (*(p+1) == ')') /* position capture? */ return start_capture(ms, s, p+2, CAP_POSITION); else return start_capture(ms, s, p+1, CAP_UNFINISHED); } case ')': { /* end capture */ return end_capture(ms, s, p+1); } case L_ESC: { switch (*(p+1)) { case 'b': { /* balanced string? */ s = matchbalance(ms, s, p+2); if (s == NULL) return NULL; p+=4; goto init; /* else return match(ms, s, p+4); */ } case 'f': { /* frontier? */ const char *ep; char previous; p += 2; if (*p != '[') luaL_error(ms->L, "missing " LUA_QL("[") " after " LUA_QL("%%f") " in pattern"); ep = classend(ms, p); /* points to what is next */ previous = (s == ms->src_init) ? '\0' : *(s-1); if (matchbracketclass(uchar(previous), p, ep-1) || !matchbracketclass(uchar(*s), p, ep-1)) return NULL; p=ep; goto init; /* else return match(ms, s, ep); */ } default: { if (isdigit(uchar(*(p+1)))) { /* capture results (%0-%9)? */ s = match_capture(ms, s, uchar(*(p+1))); if (s == NULL) return NULL; p+=2; goto init; /* else return match(ms, s, p+2) */ } goto dflt; /* case default */ } } } case '\0': { /* end of pattern */ return s; /* match succeeded */ } case '$': { if (*(p+1) == '\0') /* is the `$' the last char in pattern? */ return (s == ms->src_end) ? s : NULL; /* check end of string */ else goto dflt; } default: dflt: { /* it is a pattern item */ const char *ep = classend(ms, p); /* points to what is next */ int m = ssrc_end && singlematch(uchar(*s), p, ep); switch (*ep) { case '?': { /* optional */ const char *res; if (m && ((res=match(ms, s+1, ep+1)) != NULL)) return res; p=ep+1; goto init; /* else return match(ms, s, ep+1); */ } case '*': { /* 0 or more repetitions */ return max_expand(ms, s, p, ep); } case '+': { /* 1 or more repetitions */ return (m ? max_expand(ms, s+1, p, ep) : NULL); } case '-': { /* 0 or more repetitions (minimum) */ return min_expand(ms, s, p, ep); } default: { if (!m) return NULL; s++; p=ep; goto init; /* else return match(ms, s+1, ep); */ } } } } } static const char *lmemfind (const char *s1, size_t l1, const char *s2, size_t l2) { if (l2 == 0) return s1; /* empty strings are everywhere */ else if (l2 > l1) return NULL; /* avoids a negative `l1' */ else { const char *init; /* to search for a `*s2' inside `s1' */ l2--; /* 1st char will be checked by `memchr' */ l1 = l1-l2; /* `s2' cannot be found after that */ while (l1 > 0 && (init = (const char *)memchr(s1, *s2, l1)) != NULL) { init++; /* 1st char is already checked */ if (memcmp(init, s2+1, l2) == 0) return init-1; else { /* correct `l1' and `s1' to try again */ l1 -= init-s1; s1 = init; } } return NULL; /* not found */ } } static void push_onecapture (MatchState *ms, int i, const char *s, const char *e) { if (i >= ms->level) { if (i == 0) /* ms->level == 0, too */ lua_pushlstring(ms->L, s, e - s); /* add whole match */ else luaL_error(ms->L, "invalid capture index"); } else { ptrdiff_t l = ms->capture[i].len; if (l == CAP_UNFINISHED) luaL_error(ms->L, "unfinished capture"); if (l == CAP_POSITION) lua_pushinteger(ms->L, ms->capture[i].init - ms->src_init + 1); else lua_pushlstring(ms->L, ms->capture[i].init, l); } } static int push_captures (MatchState *ms, const char *s, const char *e) { int i; int nlevels = (ms->level == 0 && s) ? 1 : ms->level; luaL_checkstack(ms->L, nlevels, "too many captures"); for (i = 0; i < nlevels; i++) push_onecapture(ms, i, s, e); return nlevels; /* number of strings pushed */ } static int str_find_aux (lua_State *L, int find) { size_t l1, l2; const char *s = luaL_checklstring(L, 1, &l1); const char *p = luaL_checklstring(L, 2, &l2); ptrdiff_t init = posrelat(luaL_optinteger(L, 3, 1), l1) - 1; if (init < 0) init = 0; else if ((size_t)(init) > l1) init = (ptrdiff_t)l1; if (find && (lua_toboolean(L, 4) || /* explicit request? */ strpbrk(p, SPECIALS) == NULL)) { /* or no special characters? */ /* do a plain search */ const char *s2 = lmemfind(s+init, l1-init, p, l2); if (s2) { lua_pushinteger(L, s2-s+1); lua_pushinteger(L, s2-s+l2); return 2; } } else { MatchState ms; int anchor = (*p == '^') ? (p++, 1) : 0; const char *s1=s+init; ms.L = L; ms.src_init = s; ms.src_end = s+l1; do { const char *res; ms.level = 0; if ((res=match(&ms, s1, p)) != NULL) { if (find) { lua_pushinteger(L, s1-s+1); /* start */ lua_pushinteger(L, res-s); /* end */ return push_captures(&ms, NULL, 0) + 2; } else return push_captures(&ms, s1, res); } } while (s1++ < ms.src_end && !anchor); } lua_pushnil(L); /* not found */ return 1; } static int str_find (lua_State *L) { return str_find_aux(L, 1); } static int str_match (lua_State *L) { return str_find_aux(L, 0); } static int gmatch_aux (lua_State *L) { MatchState ms; size_t ls; const char *s = lua_tolstring(L, lua_upvalueindex(1), &ls); const char *p = lua_tostring(L, lua_upvalueindex(2)); const char *src; ms.L = L; ms.src_init = s; ms.src_end = s+ls; for (src = s + (size_t)lua_tointeger(L, lua_upvalueindex(3)); src <= ms.src_end; src++) { const char *e; ms.level = 0; if ((e = match(&ms, src, p)) != NULL) { lua_Integer newstart = e-s; if (e == src) newstart++; /* empty match? go at least one position */ lua_pushinteger(L, newstart); lua_replace(L, lua_upvalueindex(3)); return push_captures(&ms, src, e); } } return 0; /* not found */ } static int gmatch (lua_State *L) { luaL_checkstring(L, 1); luaL_checkstring(L, 2); lua_settop(L, 2); lua_pushinteger(L, 0); lua_pushcclosure(L, gmatch_aux, 3); return 1; } static int gfind_nodef (lua_State *L) { return luaL_error(L, LUA_QL("string.gfind") " was renamed to " LUA_QL("string.gmatch")); } static void add_s (MatchState *ms, luaL_Buffer *b, const char *s, const char *e) { size_t l, i; const char *news = lua_tolstring(ms->L, 3, &l); for (i = 0; i < l; i++) { if (news[i] != L_ESC) luaL_addchar(b, news[i]); else { i++; /* skip ESC */ if (!isdigit(uchar(news[i]))) luaL_addchar(b, news[i]); else if (news[i] == '0') luaL_addlstring(b, s, e - s); else { push_onecapture(ms, news[i] - '1', s, e); luaL_addvalue(b); /* add capture to accumulated result */ } } } } static void add_value (MatchState *ms, luaL_Buffer *b, const char *s, const char *e) { lua_State *L = ms->L; switch (lua_type(L, 3)) { case LUA_TNUMBER: case LUA_TSTRING: { add_s(ms, b, s, e); return; } case LUA_TFUNCTION: { int n; lua_pushvalue(L, 3); n = push_captures(ms, s, e); lua_call(L, n, 1); break; } case LUA_TTABLE: { push_onecapture(ms, 0, s, e); lua_gettable(L, 3); break; } default: { luaL_argerror(L, 3, "string/function/table expected"); return; } } if (!lua_toboolean(L, -1)) { /* nil or false? */ lua_pop(L, 1); lua_pushlstring(L, s, e - s); /* keep original text */ } else if (!lua_isstring(L, -1)) luaL_error(L, "invalid replacement value (a %s)", luaL_typename(L, -1)); luaL_addvalue(b); /* add result to accumulator */ } static int str_gsub (lua_State *L) { size_t srcl; const char *src = luaL_checklstring(L, 1, &srcl); const char *p = luaL_checkstring(L, 2); int max_s = luaL_optint(L, 4, srcl+1); int anchor = (*p == '^') ? (p++, 1) : 0; int n = 0; MatchState ms; luaL_Buffer b; luaL_buffinit(L, &b); ms.L = L; ms.src_init = src; ms.src_end = src+srcl; while (n < max_s) { const char *e; ms.level = 0; e = match(&ms, src, p); if (e) { n++; add_value(&ms, &b, src, e); } if (e && e>src) /* non empty match? */ src = e; /* skip it */ else if (src < ms.src_end) luaL_addchar(&b, *src++); else break; if (anchor) break; } luaL_addlstring(&b, src, ms.src_end-src); luaL_pushresult(&b); lua_pushinteger(L, n); /* number of substitutions */ return 2; } /* }====================================================== */ /* maximum size of each formatted item (> len(format('%99.99f', -1e308))) */ #define MAX_ITEM 512 /* valid flags in a format specification */ #define FLAGS "-+ #0" /* ** maximum size of each format specification (such as '%-099.99d') ** (+10 accounts for %99.99x plus margin of error) */ #define MAX_FORMAT (sizeof(FLAGS) + sizeof(LUA_INTFRMLEN) + 10) static void addquoted (lua_State *L, luaL_Buffer *b, int arg) { size_t l; const char *s = luaL_checklstring(L, arg, &l); luaL_addchar(b, '"'); while (l--) { switch (*s) { case '"': case '\\': case '\n': { luaL_addchar(b, '\\'); luaL_addchar(b, *s); break; } case '\r': { luaL_addlstring(b, "\\r", 2); break; } case '\0': { luaL_addlstring(b, "\\000", 4); break; } default: { luaL_addchar(b, *s); break; } } s++; } luaL_addchar(b, '"'); } static const char *scanformat (lua_State *L, const char *strfrmt, char *form) { const char *p = strfrmt; while (strchr(FLAGS, *p)) p++; /* skip flags */ if ((size_t)(p - strfrmt) >= sizeof(FLAGS)) luaL_error(L, "invalid format (repeated flags)"); if (isdigit(uchar(*p))) p++; /* skip width */ if (isdigit(uchar(*p))) p++; /* (2 digits at most) */ if (*p == '.') { p++; if (isdigit(uchar(*p))) p++; /* skip precision */ if (isdigit(uchar(*p))) p++; /* (2 digits at most) */ } if (isdigit(uchar(*p))) luaL_error(L, "invalid format (width or precision too long)"); *(form++) = '%'; strncpy(form, strfrmt, p - strfrmt + 1); form += p - strfrmt + 1; *form = '\0'; return p; } static void addintlen (char *form) { size_t l = strlen(form); char spec = form[l - 1]; strcpy(form + l - 1, LUA_INTFRMLEN); form[l + sizeof(LUA_INTFRMLEN) - 2] = spec; form[l + sizeof(LUA_INTFRMLEN) - 1] = '\0'; } static int str_format (lua_State *L) { int arg = 1; size_t sfl; const char *strfrmt = luaL_checklstring(L, arg, &sfl); const char *strfrmt_end = strfrmt+sfl; luaL_Buffer b; luaL_buffinit(L, &b); while (strfrmt < strfrmt_end) { if (*strfrmt != L_ESC) luaL_addchar(&b, *strfrmt++); else if (*++strfrmt == L_ESC) luaL_addchar(&b, *strfrmt++); /* %% */ else { /* format item */ char form[MAX_FORMAT]; /* to store the format (`%...') */ char buff[MAX_ITEM]; /* to store the formatted item */ arg++; strfrmt = scanformat(L, strfrmt, form); switch (*strfrmt++) { case 'c': { sprintf(buff, form, (int)luaL_checknumber(L, arg)); break; } case 'd': case 'i': { addintlen(form); sprintf(buff, form, (LUA_INTFRM_T)luaL_checknumber(L, arg)); break; } case 'o': case 'u': case 'x': case 'X': { addintlen(form); sprintf(buff, form, (unsigned LUA_INTFRM_T)luaL_checknumber(L, arg)); break; } case 'e': case 'E': case 'f': case 'g': case 'G': { sprintf(buff, form, (double)luaL_checknumber(L, arg)); break; } case 'q': { addquoted(L, &b, arg); continue; /* skip the 'addsize' at the end */ } case 's': { size_t l; const char *s = luaL_checklstring(L, arg, &l); if (!strchr(form, '.') && l >= 100) { /* no precision and string is too long to be formatted; keep original string */ lua_pushvalue(L, arg); luaL_addvalue(&b); continue; /* skip the `addsize' at the end */ } else { sprintf(buff, form, s); break; } } default: { /* also treat cases `pnLlh' */ return luaL_error(L, "invalid option " LUA_QL("%%%c") " to " LUA_QL("format"), *(strfrmt - 1)); } } luaL_addlstring(&b, buff, strlen(buff)); } } luaL_pushresult(&b); return 1; } static const luaL_Reg strlib[] = { {"byte", str_byte}, {"char", str_char}, {"dump", str_dump}, {"find", str_find}, {"format", str_format}, {"gfind", gfind_nodef}, {"gmatch", gmatch}, {"gsub", str_gsub}, {"len", str_len}, {"lower", str_lower}, {"match", str_match}, {"rep", str_rep}, {"reverse", str_reverse}, {"sub", str_sub}, {"upper", str_upper}, {NULL, NULL} }; static void createmetatable (lua_State *L) { lua_createtable(L, 0, 1); /* create metatable for strings */ lua_pushliteral(L, ""); /* dummy string */ lua_pushvalue(L, -2); lua_setmetatable(L, -2); /* set string metatable */ lua_pop(L, 1); /* pop dummy string */ lua_pushvalue(L, -2); /* string library... */ lua_setfield(L, -2, "__index"); /* ...is the __index metamethod */ lua_pop(L, 1); /* pop metatable */ } /* ** Open string library */ LUALIB_API int luaopen_string (lua_State *L) { luaL_register(L, LUA_STRLIBNAME, strlib); #if defined(LUA_COMPAT_GFIND) lua_getfield(L, -1, "gmatch"); lua_setfield(L, -2, "gfind"); #endif createmetatable(L); return 1; } gtk-engines-2.20.2/engines/lua/src/liblua/ltable.c0000644000175000017500000003752611451352576016636 00000000000000/* ** $Id$ ** Lua tables (hash) ** See Copyright Notice in lua.h */ /* ** Implementation of tables (aka arrays, objects, or hash tables). ** Tables keep its elements in two parts: an array part and a hash part. ** Non-negative integer keys are all candidates to be kept in the array ** part. The actual size of the array is the largest `n' such that at ** least half the slots between 0 and n are in use. ** Hash uses a mix of chained scatter table with Brent's variation. ** A main invariant of these tables is that, if an element is not ** in its main position (i.e. the `original' position that its hash gives ** to it), then the colliding element is in its own main position. ** Hence even when the load factor reaches 100%, performance remains good. */ #include #include #define ltable_c #define LUA_CORE #include "lua.h" #include "ldebug.h" #include "ldo.h" #include "lgc.h" #include "lmem.h" #include "lobject.h" #include "lstate.h" #include "ltable.h" /* ** max size of array part is 2^MAXBITS */ #if LUAI_BITSINT > 26 #define MAXBITS 26 #else #define MAXBITS (LUAI_BITSINT-2) #endif #define MAXASIZE (1 << MAXBITS) #define hashpow2(t,n) (gnode(t, lmod((n), sizenode(t)))) #define hashstr(t,str) hashpow2(t, (str)->tsv.hash) #define hashboolean(t,p) hashpow2(t, p) /* ** for some types, it is better to avoid modulus by power of 2, as ** they tend to have many 2 factors. */ #define hashmod(t,n) (gnode(t, ((n) % ((sizenode(t)-1)|1)))) #define hashpointer(t,p) hashmod(t, IntPoint(p)) /* ** number of ints inside a lua_Number */ #define numints cast_int(sizeof(lua_Number)/sizeof(int)) #define dummynode (&dummynode_) static const Node dummynode_ = { {{NULL}, LUA_TNIL}, /* value */ {{{NULL}, LUA_TNIL, NULL}} /* key */ }; /* ** hash for lua_Numbers */ static Node *hashnum (const Table *t, lua_Number n) { unsigned int a[numints]; int i; n += 1; /* normalize number (avoid -0) */ lua_assert(sizeof(a) <= sizeof(n)); memcpy(a, &n, sizeof(a)); for (i = 1; i < numints; i++) a[0] += a[i]; return hashmod(t, a[0]); } /* ** returns the `main' position of an element in a table (that is, the index ** of its hash value) */ static Node *mainposition (const Table *t, const TValue *key) { switch (ttype(key)) { case LUA_TNUMBER: return hashnum(t, nvalue(key)); case LUA_TSTRING: return hashstr(t, rawtsvalue(key)); case LUA_TBOOLEAN: return hashboolean(t, bvalue(key)); case LUA_TLIGHTUSERDATA: return hashpointer(t, pvalue(key)); default: return hashpointer(t, gcvalue(key)); } } /* ** returns the index for `key' if `key' is an appropriate key to live in ** the array part of the table, -1 otherwise. */ static int arrayindex (const TValue *key) { if (ttisnumber(key)) { lua_Number n = nvalue(key); int k; lua_number2int(k, n); if (luai_numeq(cast_num(k), n)) return k; } return -1; /* `key' did not match some condition */ } /* ** returns the index of a `key' for table traversals. First goes all ** elements in the array part, then elements in the hash part. The ** beginning of a traversal is signalled by -1. */ static int findindex (lua_State *L, Table *t, StkId key) { int i; if (ttisnil(key)) return -1; /* first iteration */ i = arrayindex(key); if (0 < i && i <= t->sizearray) /* is `key' inside array part? */ return i-1; /* yes; that's the index (corrected to C) */ else { Node *n = mainposition(t, key); do { /* check whether `key' is somewhere in the chain */ /* key may be dead already, but it is ok to use it in `next' */ if (luaO_rawequalObj(key2tval(n), key) || (ttype(gkey(n)) == LUA_TDEADKEY && iscollectable(key) && gcvalue(gkey(n)) == gcvalue(key))) { i = cast_int(n - gnode(t, 0)); /* key index in hash table */ /* hash elements are numbered after array ones */ return i + t->sizearray; } else n = gnext(n); } while (n); luaG_runerror(L, "invalid key to " LUA_QL("next")); /* key not found */ return 0; /* to avoid warnings */ } } int luaH_next (lua_State *L, Table *t, StkId key) { int i = findindex(L, t, key); /* find original element */ for (i++; i < t->sizearray; i++) { /* try first array part */ if (!ttisnil(&t->array[i])) { /* a non-nil value? */ setnvalue(key, cast_num(i+1)); setobj2s(L, key+1, &t->array[i]); return 1; } } for (i -= t->sizearray; i < sizenode(t); i++) { /* then hash part */ if (!ttisnil(gval(gnode(t, i)))) { /* a non-nil value? */ setobj2s(L, key, key2tval(gnode(t, i))); setobj2s(L, key+1, gval(gnode(t, i))); return 1; } } return 0; /* no more elements */ } /* ** {============================================================= ** Rehash ** ============================================================== */ static int computesizes (int nums[], int *narray) { int i; int twotoi; /* 2^i */ int a = 0; /* number of elements smaller than 2^i */ int na = 0; /* number of elements to go to array part */ int n = 0; /* optimal size for array part */ for (i = 0, twotoi = 1; twotoi/2 < *narray; i++, twotoi *= 2) { if (nums[i] > 0) { a += nums[i]; if (a > twotoi/2) { /* more than half elements present? */ n = twotoi; /* optimal size (till now) */ na = a; /* all elements smaller than n will go to array part */ } } if (a == *narray) break; /* all elements already counted */ } *narray = n; lua_assert(*narray/2 <= na && na <= *narray); return na; } static int countint (const TValue *key, int *nums) { int k = arrayindex(key); if (0 < k && k <= MAXASIZE) { /* is `key' an appropriate array index? */ nums[ceillog2(k)]++; /* count as such */ return 1; } else return 0; } static int numusearray (const Table *t, int *nums) { int lg; int ttlg; /* 2^lg */ int ause = 0; /* summation of `nums' */ int i = 1; /* count to traverse all array keys */ for (lg=0, ttlg=1; lg<=MAXBITS; lg++, ttlg*=2) { /* for each slice */ int lc = 0; /* counter */ int lim = ttlg; if (lim > t->sizearray) { lim = t->sizearray; /* adjust upper limit */ if (i > lim) break; /* no more elements to count */ } /* count elements in range (2^(lg-1), 2^lg] */ for (; i <= lim; i++) { if (!ttisnil(&t->array[i-1])) lc++; } nums[lg] += lc; ause += lc; } return ause; } static int numusehash (const Table *t, int *nums, int *pnasize) { int totaluse = 0; /* total number of elements */ int ause = 0; /* summation of `nums' */ int i = sizenode(t); while (i--) { Node *n = &t->node[i]; if (!ttisnil(gval(n))) { ause += countint(key2tval(n), nums); totaluse++; } } *pnasize += ause; return totaluse; } static void setarrayvector (lua_State *L, Table *t, int size) { int i; luaM_reallocvector(L, t->array, t->sizearray, size, TValue); for (i=t->sizearray; iarray[i]); t->sizearray = size; } static void setnodevector (lua_State *L, Table *t, int size) { int lsize; if (size == 0) { /* no elements to hash part? */ t->node = cast(Node *, dummynode); /* use common `dummynode' */ lsize = 0; } else { int i; lsize = ceillog2(size); if (lsize > MAXBITS) luaG_runerror(L, "table overflow"); size = twoto(lsize); t->node = luaM_newvector(L, size, Node); for (i=0; ilsizenode = cast_byte(lsize); t->lastfree = gnode(t, size); /* all positions are free */ } static void resize (lua_State *L, Table *t, int nasize, int nhsize) { int i; int oldasize = t->sizearray; int oldhsize = t->lsizenode; Node *nold = t->node; /* save old hash ... */ if (nasize > oldasize) /* array part must grow? */ setarrayvector(L, t, nasize); /* create new hash part with appropriate size */ setnodevector(L, t, nhsize); if (nasize < oldasize) { /* array part must shrink? */ t->sizearray = nasize; /* re-insert elements from vanishing slice */ for (i=nasize; iarray[i])) setobjt2t(L, luaH_setnum(L, t, i+1), &t->array[i]); } /* shrink array */ luaM_reallocvector(L, t->array, oldasize, nasize, TValue); } /* re-insert elements from hash part */ for (i = twoto(oldhsize) - 1; i >= 0; i--) { Node *old = nold+i; if (!ttisnil(gval(old))) setobjt2t(L, luaH_set(L, t, key2tval(old)), gval(old)); } if (nold != dummynode) luaM_freearray(L, nold, twoto(oldhsize), Node); /* free old array */ } void luaH_resizearray (lua_State *L, Table *t, int nasize) { int nsize = (t->node == dummynode) ? 0 : sizenode(t); resize(L, t, nasize, nsize); } static void rehash (lua_State *L, Table *t, const TValue *ek) { int nasize, na; int nums[MAXBITS+1]; /* nums[i] = number of keys between 2^(i-1) and 2^i */ int i; int totaluse; for (i=0; i<=MAXBITS; i++) nums[i] = 0; /* reset counts */ nasize = numusearray(t, nums); /* count keys in array part */ totaluse = nasize; /* all those keys are integer keys */ totaluse += numusehash(t, nums, &nasize); /* count keys in hash part */ /* count extra key */ nasize += countint(ek, nums); totaluse++; /* compute new size for array part */ na = computesizes(nums, &nasize); /* resize the table to new computed sizes */ resize(L, t, nasize, totaluse - na); } /* ** }============================================================= */ Table *luaH_new (lua_State *L, int narray, int nhash) { Table *t = luaM_new(L, Table); luaC_link(L, obj2gco(t), LUA_TTABLE); t->metatable = NULL; t->flags = cast_byte(~0); /* temporary values (kept only if some malloc fails) */ t->array = NULL; t->sizearray = 0; t->lsizenode = 0; t->node = cast(Node *, dummynode); setarrayvector(L, t, narray); setnodevector(L, t, nhash); return t; } void luaH_free (lua_State *L, Table *t) { if (t->node != dummynode) luaM_freearray(L, t->node, sizenode(t), Node); luaM_freearray(L, t->array, t->sizearray, TValue); luaM_free(L, t); } static Node *getfreepos (Table *t) { while (t->lastfree-- > t->node) { if (ttisnil(gkey(t->lastfree))) return t->lastfree; } return NULL; /* could not find a free place */ } /* ** inserts a new key into a hash table; first, check whether key's main ** position is free. If not, check whether colliding node is in its main ** position or not: if it is not, move colliding node to an empty place and ** put new key in its main position; otherwise (colliding node is in its main ** position), new key goes to an empty position. */ static TValue *newkey (lua_State *L, Table *t, const TValue *key) { Node *mp = mainposition(t, key); if (!ttisnil(gval(mp)) || mp == dummynode) { Node *othern; Node *n = getfreepos(t); /* get a free place */ if (n == NULL) { /* cannot find a free place? */ rehash(L, t, key); /* grow table */ return luaH_set(L, t, key); /* re-insert key into grown table */ } lua_assert(n != dummynode); othern = mainposition(t, key2tval(mp)); if (othern != mp) { /* is colliding node out of its main position? */ /* yes; move colliding node into free position */ while (gnext(othern) != mp) othern = gnext(othern); /* find previous */ gnext(othern) = n; /* redo the chain with `n' in place of `mp' */ *n = *mp; /* copy colliding node into free pos. (mp->next also goes) */ gnext(mp) = NULL; /* now `mp' is free */ setnilvalue(gval(mp)); } else { /* colliding node is in its own main position */ /* new node will go into free position */ gnext(n) = gnext(mp); /* chain new position */ gnext(mp) = n; mp = n; } } gkey(mp)->value = key->value; gkey(mp)->tt = key->tt; luaC_barriert(L, t, key); lua_assert(ttisnil(gval(mp))); return gval(mp); } /* ** search function for integers */ const TValue *luaH_getnum (Table *t, int key) { /* (1 <= key && key <= t->sizearray) */ if (cast(unsigned int, key-1) < cast(unsigned int, t->sizearray)) return &t->array[key-1]; else { lua_Number nk = cast_num(key); Node *n = hashnum(t, nk); do { /* check whether `key' is somewhere in the chain */ if (ttisnumber(gkey(n)) && luai_numeq(nvalue(gkey(n)), nk)) return gval(n); /* that's it */ else n = gnext(n); } while (n); return luaO_nilobject; } } /* ** search function for strings */ const TValue *luaH_getstr (Table *t, TString *key) { Node *n = hashstr(t, key); do { /* check whether `key' is somewhere in the chain */ if (ttisstring(gkey(n)) && rawtsvalue(gkey(n)) == key) return gval(n); /* that's it */ else n = gnext(n); } while (n); return luaO_nilobject; } /* ** main search function */ const TValue *luaH_get (Table *t, const TValue *key) { switch (ttype(key)) { case LUA_TNIL: return luaO_nilobject; case LUA_TSTRING: return luaH_getstr(t, rawtsvalue(key)); case LUA_TNUMBER: { int k; lua_Number n = nvalue(key); lua_number2int(k, n); if (luai_numeq(cast_num(k), nvalue(key))) /* index is int? */ return luaH_getnum(t, k); /* use specialized version */ /* else go through */ } default: { Node *n = mainposition(t, key); do { /* check whether `key' is somewhere in the chain */ if (luaO_rawequalObj(key2tval(n), key)) return gval(n); /* that's it */ else n = gnext(n); } while (n); return luaO_nilobject; } } } TValue *luaH_set (lua_State *L, Table *t, const TValue *key) { const TValue *p = luaH_get(t, key); t->flags = 0; if (p != luaO_nilobject) return cast(TValue *, p); else { if (ttisnil(key)) luaG_runerror(L, "table index is nil"); else if (ttisnumber(key) && luai_numisnan(nvalue(key))) luaG_runerror(L, "table index is NaN"); return newkey(L, t, key); } } TValue *luaH_setnum (lua_State *L, Table *t, int key) { const TValue *p = luaH_getnum(t, key); if (p != luaO_nilobject) return cast(TValue *, p); else { TValue k; setnvalue(&k, cast_num(key)); return newkey(L, t, &k); } } TValue *luaH_setstr (lua_State *L, Table *t, TString *key) { const TValue *p = luaH_getstr(t, key); if (p != luaO_nilobject) return cast(TValue *, p); else { TValue k; setsvalue(L, &k, key); return newkey(L, t, &k); } } static int unbound_search (Table *t, unsigned int j) { unsigned int i = j; /* i is zero or a present index */ j++; /* find `i' and `j' such that i is present and j is not */ while (!ttisnil(luaH_getnum(t, j))) { i = j; j *= 2; if (j > cast(unsigned int, MAX_INT)) { /* overflow? */ /* table was built with bad purposes: resort to linear search */ i = 1; while (!ttisnil(luaH_getnum(t, i))) i++; return i - 1; } } /* now do a binary search between them */ while (j - i > 1) { unsigned int m = (i+j)/2; if (ttisnil(luaH_getnum(t, m))) j = m; else i = m; } return i; } /* ** Try to find a boundary in table `t'. A `boundary' is an integer index ** such that t[i] is non-nil and t[i+1] is nil (and 0 if t[1] is nil). */ int luaH_getn (Table *t) { unsigned int j = t->sizearray; if (j > 0 && ttisnil(&t->array[j - 1])) { /* there is a boundary in the array part: (binary) search for it */ unsigned int i = 0; while (j - i > 1) { unsigned int m = (i+j)/2; if (ttisnil(&t->array[m - 1])) j = m; else i = m; } return i; } /* else must find a boundary in hash part */ else if (t->node == dummynode) /* hash part is empty? */ return j; /* that is easy... */ else return unbound_search(t, j); } #if defined(LUA_DEBUG) Node *luaH_mainposition (const Table *t, const TValue *key) { return mainposition(t, key); } int luaH_isdummy (Node *n) { return n == dummynode; } #endif gtk-engines-2.20.2/engines/lua/src/liblua/ltablib.c0000644000175000017500000001552611451352576017000 00000000000000/* ** $Id$ ** Library for Table Manipulation ** See Copyright Notice in lua.h */ #include #define ltablib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" #define aux_getn(L,n) (luaL_checktype(L, n, LUA_TTABLE), luaL_getn(L, n)) static int foreachi (lua_State *L) { int i; int n = aux_getn(L, 1); luaL_checktype(L, 2, LUA_TFUNCTION); for (i=1; i <= n; i++) { lua_pushvalue(L, 2); /* function */ lua_pushinteger(L, i); /* 1st argument */ lua_rawgeti(L, 1, i); /* 2nd argument */ lua_call(L, 2, 1); if (!lua_isnil(L, -1)) return 1; lua_pop(L, 1); /* remove nil result */ } return 0; } static int foreach (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); luaL_checktype(L, 2, LUA_TFUNCTION); lua_pushnil(L); /* first key */ while (lua_next(L, 1)) { lua_pushvalue(L, 2); /* function */ lua_pushvalue(L, -3); /* key */ lua_pushvalue(L, -3); /* value */ lua_call(L, 2, 1); if (!lua_isnil(L, -1)) return 1; lua_pop(L, 2); /* remove value and result */ } return 0; } static int maxn (lua_State *L) { lua_Number max = 0; luaL_checktype(L, 1, LUA_TTABLE); lua_pushnil(L); /* first key */ while (lua_next(L, 1)) { lua_pop(L, 1); /* remove value */ if (lua_type(L, -1) == LUA_TNUMBER) { lua_Number v = lua_tonumber(L, -1); if (v > max) max = v; } } lua_pushnumber(L, max); return 1; } static int getn (lua_State *L) { lua_pushinteger(L, aux_getn(L, 1)); return 1; } static int setn (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); #ifndef luaL_setn luaL_setn(L, 1, luaL_checkint(L, 2)); #else luaL_error(L, LUA_QL("setn") " is obsolete"); #endif lua_pushvalue(L, 1); return 1; } static int tinsert (lua_State *L) { int e = aux_getn(L, 1) + 1; /* first empty element */ int pos; /* where to insert new element */ switch (lua_gettop(L)) { case 2: { /* called with only 2 arguments */ pos = e; /* insert new element at the end */ break; } case 3: { int i; pos = luaL_checkint(L, 2); /* 2nd argument is the position */ if (pos > e) e = pos; /* `grow' array if necessary */ for (i = e; i > pos; i--) { /* move up elements */ lua_rawgeti(L, 1, i-1); lua_rawseti(L, 1, i); /* t[i] = t[i-1] */ } break; } default: { return luaL_error(L, "wrong number of arguments to " LUA_QL("insert")); } } luaL_setn(L, 1, e); /* new size */ lua_rawseti(L, 1, pos); /* t[pos] = v */ return 0; } static int tremove (lua_State *L) { int e = aux_getn(L, 1); int pos = luaL_optint(L, 2, e); if (e == 0) return 0; /* table is `empty' */ luaL_setn(L, 1, e - 1); /* t.n = n-1 */ lua_rawgeti(L, 1, pos); /* result = t[pos] */ for ( ;pos= P */ while (lua_rawgeti(L, 1, ++i), sort_comp(L, -1, -2)) { if (i>u) luaL_error(L, "invalid order function for sorting"); lua_pop(L, 1); /* remove a[i] */ } /* repeat --j until a[j] <= P */ while (lua_rawgeti(L, 1, --j), sort_comp(L, -3, -1)) { if (j #define ltm_c #define LUA_CORE #include "lua.h" #include "lobject.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "ltm.h" const char *const luaT_typenames[] = { "nil", "boolean", "userdata", "number", "string", "table", "function", "userdata", "thread", "proto", "upval" }; void luaT_init (lua_State *L) { static const char *const luaT_eventname[] = { /* ORDER TM */ "__index", "__newindex", "__gc", "__mode", "__eq", "__add", "__sub", "__mul", "__div", "__mod", "__pow", "__unm", "__len", "__lt", "__le", "__concat", "__call" }; int i; for (i=0; itmname[i] = luaS_new(L, luaT_eventname[i]); luaS_fix(G(L)->tmname[i]); /* never collect these names */ } } /* ** function to be used with macro "fasttm": optimized for absence of ** tag methods */ const TValue *luaT_gettm (Table *events, TMS event, TString *ename) { const TValue *tm = luaH_getstr(events, ename); lua_assert(event <= TM_EQ); if (ttisnil(tm)) { /* no tag method? */ events->flags |= cast_byte(1u<metatable; break; case LUA_TUSERDATA: mt = uvalue(o)->metatable; break; default: mt = G(L)->mt[ttype(o)]; } return (mt ? luaH_getstr(mt, G(L)->tmname[event]) : luaO_nilobject); } gtk-engines-2.20.2/engines/lua/src/liblua/lundump.c0000644000175000017500000001056111451352576017045 00000000000000/* ** $Id$ ** load precompiled Lua chunks ** See Copyright Notice in lua.h */ #include #define lundump_c #define LUA_CORE #include "lua.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "lmem.h" #include "lobject.h" #include "lstring.h" #include "lundump.h" #include "lzio.h" typedef struct { lua_State* L; ZIO* Z; Mbuffer* b; const char* name; } LoadState; #ifdef LUAC_TRUST_BINARIES #define IF(c,s) #else #define IF(c,s) if (c) error(S,s) static void error(LoadState* S, const char* why) { luaO_pushfstring(S->L,"%s: %s in precompiled chunk",S->name,why); luaD_throw(S->L,LUA_ERRSYNTAX); } #endif #define LoadMem(S,b,n,size) LoadBlock(S,b,(n)*(size)) #define LoadByte(S) (lu_byte)LoadChar(S) #define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x)) #define LoadVector(S,b,n,size) LoadMem(S,b,n,size) static void LoadBlock(LoadState* S, void* b, size_t size) { size_t r=luaZ_read(S->Z,b,size); IF (r!=0, "unexpected end"); } static int LoadChar(LoadState* S) { char x; LoadVar(S,x); return x; } static int LoadInt(LoadState* S) { int x; LoadVar(S,x); IF (x<0, "bad integer"); return x; } static lua_Number LoadNumber(LoadState* S) { lua_Number x; LoadVar(S,x); return x; } static TString* LoadString(LoadState* S) { size_t size; LoadVar(S,size); if (size==0) return NULL; else { char* s=luaZ_openspace(S->L,S->b,size); LoadBlock(S,s,size); return luaS_newlstr(S->L,s,size-1); /* remove trailing '\0' */ } } static void LoadCode(LoadState* S, Proto* f) { int n=LoadInt(S); f->code=luaM_newvector(S->L,n,Instruction); f->sizecode=n; LoadVector(S,f->code,n,sizeof(Instruction)); } static Proto* LoadFunction(LoadState* S, TString* p); static void LoadConstants(LoadState* S, Proto* f) { int i,n; n=LoadInt(S); f->k=luaM_newvector(S->L,n,TValue); f->sizek=n; for (i=0; ik[i]); for (i=0; ik[i]; int t=LoadChar(S); switch (t) { case LUA_TNIL: setnilvalue(o); break; case LUA_TBOOLEAN: setbvalue(o,LoadChar(S)); break; case LUA_TNUMBER: setnvalue(o,LoadNumber(S)); break; case LUA_TSTRING: setsvalue2n(S->L,o,LoadString(S)); break; default: IF (1, "bad constant"); break; } } n=LoadInt(S); f->p=luaM_newvector(S->L,n,Proto*); f->sizep=n; for (i=0; ip[i]=NULL; for (i=0; ip[i]=LoadFunction(S,f->source); } static void LoadDebug(LoadState* S, Proto* f) { int i,n; n=LoadInt(S); f->lineinfo=luaM_newvector(S->L,n,int); f->sizelineinfo=n; LoadVector(S,f->lineinfo,n,sizeof(int)); n=LoadInt(S); f->locvars=luaM_newvector(S->L,n,LocVar); f->sizelocvars=n; for (i=0; ilocvars[i].varname=NULL; for (i=0; ilocvars[i].varname=LoadString(S); f->locvars[i].startpc=LoadInt(S); f->locvars[i].endpc=LoadInt(S); } n=LoadInt(S); f->upvalues=luaM_newvector(S->L,n,TString*); f->sizeupvalues=n; for (i=0; iupvalues[i]=NULL; for (i=0; iupvalues[i]=LoadString(S); } static Proto* LoadFunction(LoadState* S, TString* p) { Proto* f=luaF_newproto(S->L); setptvalue2s(S->L,S->L->top,f); incr_top(S->L); f->source=LoadString(S); if (f->source==NULL) f->source=p; f->linedefined=LoadInt(S); f->lastlinedefined=LoadInt(S); f->nups=LoadByte(S); f->numparams=LoadByte(S); f->is_vararg=LoadByte(S); f->maxstacksize=LoadByte(S); LoadCode(S,f); LoadConstants(S,f); LoadDebug(S,f); IF (!luaG_checkcode(f), "bad code"); S->L->top--; return f; } static void LoadHeader(LoadState* S) { char h[LUAC_HEADERSIZE]; char s[LUAC_HEADERSIZE]; luaU_header(h); LoadBlock(S,s,LUAC_HEADERSIZE); IF (memcmp(h,s,LUAC_HEADERSIZE)!=0, "bad header"); } /* ** load precompiled chunk */ Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name) { LoadState S; if (*name=='@' || *name=='=') S.name=name+1; else if (*name==LUA_SIGNATURE[0]) S.name="binary string"; else S.name=name; S.L=L; S.Z=Z; S.b=buff; LoadHeader(&S); return LoadFunction(&S,luaS_newliteral(L,"=?")); } /* * make header */ void luaU_header (char* h) { int x=1; memcpy(h,LUA_SIGNATURE,sizeof(LUA_SIGNATURE)-1); h+=sizeof(LUA_SIGNATURE)-1; *h++=(char)LUAC_VERSION; *h++=(char)LUAC_FORMAT; *h++=(char)*(char*)&x; /* endianness */ *h++=(char)sizeof(int); *h++=(char)sizeof(size_t); *h++=(char)sizeof(Instruction); *h++=(char)sizeof(lua_Number); *h++=(char)(((lua_Number)0.5)==0); /* is lua_Number integral? */ } gtk-engines-2.20.2/engines/lua/src/liblua/lvm.c0000644000175000017500000005475611451352576016175 00000000000000/* ** $Id$ ** Lua virtual machine ** See Copyright Notice in lua.h */ #include #include #include #define lvm_c #define LUA_CORE #include "lua.h" #include "ldebug.h" #include "ldo.h" #include "lfunc.h" #include "lgc.h" #include "lobject.h" #include "lopcodes.h" #include "lstate.h" #include "lstring.h" #include "ltable.h" #include "ltm.h" #include "lvm.h" /* limit for table tag-method chains (to avoid loops) */ #define MAXTAGLOOP 100 const TValue *luaV_tonumber (const TValue *obj, TValue *n) { lua_Number num; if (ttisnumber(obj)) return obj; if (ttisstring(obj) && luaO_str2d(svalue(obj), &num)) { setnvalue(n, num); return n; } else return NULL; } int luaV_tostring (lua_State *L, StkId obj) { if (!ttisnumber(obj)) return 0; else { char s[LUAI_MAXNUMBER2STR]; lua_Number n = nvalue(obj); lua_number2str(s, n); setsvalue2s(L, obj, luaS_new(L, s)); return 1; } } static void traceexec (lua_State *L, const Instruction *pc) { lu_byte mask = L->hookmask; const Instruction *oldpc = L->savedpc; L->savedpc = pc; if (mask > LUA_MASKLINE) { /* instruction-hook set? */ if (L->hookcount == 0) { resethookcount(L); luaD_callhook(L, LUA_HOOKCOUNT, -1); } } if (mask & LUA_MASKLINE) { Proto *p = ci_func(L->ci)->l.p; int npc = pcRel(pc, p); int newline = getline(p, npc); /* call linehook when enter a new function, when jump back (loop), or when enter a new line */ if (npc == 0 || pc <= oldpc || newline != getline(p, pcRel(oldpc, p))) luaD_callhook(L, LUA_HOOKLINE, newline); } } static void callTMres (lua_State *L, StkId res, const TValue *f, const TValue *p1, const TValue *p2) { ptrdiff_t result = savestack(L, res); setobj2s(L, L->top, f); /* push function */ setobj2s(L, L->top+1, p1); /* 1st argument */ setobj2s(L, L->top+2, p2); /* 2nd argument */ luaD_checkstack(L, 3); L->top += 3; luaD_call(L, L->top - 3, 1); res = restorestack(L, result); L->top--; setobjs2s(L, res, L->top); } static void callTM (lua_State *L, const TValue *f, const TValue *p1, const TValue *p2, const TValue *p3) { setobj2s(L, L->top, f); /* push function */ setobj2s(L, L->top+1, p1); /* 1st argument */ setobj2s(L, L->top+2, p2); /* 2nd argument */ setobj2s(L, L->top+3, p3); /* 3th argument */ luaD_checkstack(L, 4); L->top += 4; luaD_call(L, L->top - 4, 0); } void luaV_gettable (lua_State *L, const TValue *t, TValue *key, StkId val) { int loop; for (loop = 0; loop < MAXTAGLOOP; loop++) { const TValue *tm; if (ttistable(t)) { /* `t' is a table? */ Table *h = hvalue(t); const TValue *res = luaH_get(h, key); /* do a primitive get */ if (!ttisnil(res) || /* result is no nil? */ (tm = fasttm(L, h->metatable, TM_INDEX)) == NULL) { /* or no TM? */ setobj2s(L, val, res); return; } /* else will try the tag method */ } else if (ttisnil(tm = luaT_gettmbyobj(L, t, TM_INDEX))) luaG_typeerror(L, t, "index"); if (ttisfunction(tm)) { callTMres(L, val, tm, t, key); return; } t = tm; /* else repeat with `tm' */ } luaG_runerror(L, "loop in gettable"); } void luaV_settable (lua_State *L, const TValue *t, TValue *key, StkId val) { int loop; for (loop = 0; loop < MAXTAGLOOP; loop++) { const TValue *tm; if (ttistable(t)) { /* `t' is a table? */ Table *h = hvalue(t); TValue *oldval = luaH_set(L, h, key); /* do a primitive set */ if (!ttisnil(oldval) || /* result is no nil? */ (tm = fasttm(L, h->metatable, TM_NEWINDEX)) == NULL) { /* or no TM? */ setobj2t(L, oldval, val); luaC_barriert(L, h, val); return; } /* else will try the tag method */ } else if (ttisnil(tm = luaT_gettmbyobj(L, t, TM_NEWINDEX))) luaG_typeerror(L, t, "index"); if (ttisfunction(tm)) { callTM(L, tm, t, key, val); return; } t = tm; /* else repeat with `tm' */ } luaG_runerror(L, "loop in settable"); } static int call_binTM (lua_State *L, const TValue *p1, const TValue *p2, StkId res, TMS event) { const TValue *tm = luaT_gettmbyobj(L, p1, event); /* try first operand */ if (ttisnil(tm)) tm = luaT_gettmbyobj(L, p2, event); /* try second operand */ if (!ttisfunction(tm)) return 0; callTMres(L, res, tm, p1, p2); return 1; } static const TValue *get_compTM (lua_State *L, Table *mt1, Table *mt2, TMS event) { const TValue *tm1 = fasttm(L, mt1, event); const TValue *tm2; if (tm1 == NULL) return NULL; /* no metamethod */ if (mt1 == mt2) return tm1; /* same metatables => same metamethods */ tm2 = fasttm(L, mt2, event); if (tm2 == NULL) return NULL; /* no metamethod */ if (luaO_rawequalObj(tm1, tm2)) /* same metamethods? */ return tm1; return NULL; } static int call_orderTM (lua_State *L, const TValue *p1, const TValue *p2, TMS event) { const TValue *tm1 = luaT_gettmbyobj(L, p1, event); const TValue *tm2; if (ttisnil(tm1)) return -1; /* no metamethod? */ tm2 = luaT_gettmbyobj(L, p2, event); if (!luaO_rawequalObj(tm1, tm2)) /* different metamethods? */ return -1; callTMres(L, L->top, tm1, p1, p2); return !l_isfalse(L->top); } static int l_strcmp (const TString *ls, const TString *rs) { const char *l = getstr(ls); size_t ll = ls->tsv.len; const char *r = getstr(rs); size_t lr = rs->tsv.len; for (;;) { int temp = strcoll(l, r); if (temp != 0) return temp; else { /* strings are equal up to a `\0' */ size_t len = strlen(l); /* index of first `\0' in both strings */ if (len == lr) /* r is finished? */ return (len == ll) ? 0 : 1; else if (len == ll) /* l is finished? */ return -1; /* l is smaller than r (because r is not finished) */ /* both strings longer than `len'; go on comparing (after the `\0') */ len++; l += len; ll -= len; r += len; lr -= len; } } } int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r) { int res; if (ttype(l) != ttype(r)) return luaG_ordererror(L, l, r); else if (ttisnumber(l)) return luai_numlt(nvalue(l), nvalue(r)); else if (ttisstring(l)) return l_strcmp(rawtsvalue(l), rawtsvalue(r)) < 0; else if ((res = call_orderTM(L, l, r, TM_LT)) != -1) return res; return luaG_ordererror(L, l, r); } static int lessequal (lua_State *L, const TValue *l, const TValue *r) { int res; if (ttype(l) != ttype(r)) return luaG_ordererror(L, l, r); else if (ttisnumber(l)) return luai_numle(nvalue(l), nvalue(r)); else if (ttisstring(l)) return l_strcmp(rawtsvalue(l), rawtsvalue(r)) <= 0; else if ((res = call_orderTM(L, l, r, TM_LE)) != -1) /* first try `le' */ return res; else if ((res = call_orderTM(L, r, l, TM_LT)) != -1) /* else try `lt' */ return !res; return luaG_ordererror(L, l, r); } int luaV_equalval (lua_State *L, const TValue *t1, const TValue *t2) { const TValue *tm; lua_assert(ttype(t1) == ttype(t2)); switch (ttype(t1)) { case LUA_TNIL: return 1; case LUA_TNUMBER: return luai_numeq(nvalue(t1), nvalue(t2)); case LUA_TBOOLEAN: return bvalue(t1) == bvalue(t2); /* true must be 1 !! */ case LUA_TLIGHTUSERDATA: return pvalue(t1) == pvalue(t2); case LUA_TUSERDATA: { if (uvalue(t1) == uvalue(t2)) return 1; tm = get_compTM(L, uvalue(t1)->metatable, uvalue(t2)->metatable, TM_EQ); break; /* will try TM */ } case LUA_TTABLE: { if (hvalue(t1) == hvalue(t2)) return 1; tm = get_compTM(L, hvalue(t1)->metatable, hvalue(t2)->metatable, TM_EQ); break; /* will try TM */ } default: return gcvalue(t1) == gcvalue(t2); } if (tm == NULL) return 0; /* no TM? */ callTMres(L, L->top, tm, t1, t2); /* call TM */ return !l_isfalse(L->top); } void luaV_concat (lua_State *L, int total, int last) { do { StkId top = L->base + last + 1; int n = 2; /* number of elements handled in this pass (at least 2) */ if (!tostring(L, top-2) || !tostring(L, top-1)) { if (!call_binTM(L, top-2, top-1, top-2, TM_CONCAT)) luaG_concaterror(L, top-2, top-1); } else if (tsvalue(top-1)->len > 0) { /* if len=0, do nothing */ /* at least two string values; get as many as possible */ size_t tl = tsvalue(top-1)->len; char *buffer; int i; /* collect total length */ for (n = 1; n < total && tostring(L, top-n-1); n++) { size_t l = tsvalue(top-n-1)->len; if (l >= MAX_SIZET - tl) luaG_runerror(L, "string length overflow"); tl += l; } buffer = luaZ_openspace(L, &G(L)->buff, tl); tl = 0; for (i=n; i>0; i--) { /* concat all strings */ size_t l = tsvalue(top-i)->len; memcpy(buffer+tl, svalue(top-i), l); tl += l; } setsvalue2s(L, top-n, luaS_newlstr(L, buffer, tl)); } total -= n-1; /* got `n' strings to create 1 new */ last -= n-1; } while (total > 1); /* repeat until only 1 result left */ } static void Arith (lua_State *L, StkId ra, const TValue *rb, const TValue *rc, TMS op) { TValue tempb, tempc; const TValue *b, *c; if ((b = luaV_tonumber(rb, &tempb)) != NULL && (c = luaV_tonumber(rc, &tempc)) != NULL) { lua_Number nb = nvalue(b), nc = nvalue(c); switch (op) { case TM_ADD: setnvalue(ra, luai_numadd(nb, nc)); break; case TM_SUB: setnvalue(ra, luai_numsub(nb, nc)); break; case TM_MUL: setnvalue(ra, luai_nummul(nb, nc)); break; case TM_DIV: setnvalue(ra, luai_numdiv(nb, nc)); break; case TM_MOD: setnvalue(ra, luai_nummod(nb, nc)); break; case TM_POW: setnvalue(ra, luai_numpow(nb, nc)); break; case TM_UNM: setnvalue(ra, luai_numunm(nb)); break; default: lua_assert(0); break; } } else if (!call_binTM(L, rb, rc, ra, op)) luaG_aritherror(L, rb, rc); } /* ** some macros for common tasks in `luaV_execute' */ #define runtime_check(L, c) { if (!(c)) break; } #define RA(i) (base+GETARG_A(i)) /* to be used after possible stack reallocation */ #define RB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgR, base+GETARG_B(i)) #define RC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgR, base+GETARG_C(i)) #define RKB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgK, \ ISK(GETARG_B(i)) ? k+INDEXK(GETARG_B(i)) : base+GETARG_B(i)) #define RKC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgK, \ ISK(GETARG_C(i)) ? k+INDEXK(GETARG_C(i)) : base+GETARG_C(i)) #define KBx(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgK, k+GETARG_Bx(i)) #define dojump(L,pc,i) {(pc) += (i); luai_threadyield(L);} #define Protect(x) { L->savedpc = pc; {x;}; base = L->base; } #define arith_op(op,tm) { \ TValue *rb = RKB(i); \ TValue *rc = RKC(i); \ if (ttisnumber(rb) && ttisnumber(rc)) { \ lua_Number nb = nvalue(rb), nc = nvalue(rc); \ setnvalue(ra, op(nb, nc)); \ } \ else \ Protect(Arith(L, ra, rb, rc, tm)); \ } void luaV_execute (lua_State *L, int nexeccalls) { LClosure *cl; StkId base; TValue *k; const Instruction *pc; reentry: /* entry point */ lua_assert(isLua(L->ci)); pc = L->savedpc; cl = &clvalue(L->ci->func)->l; base = L->base; k = cl->p->k; /* main loop of interpreter */ for (;;) { const Instruction i = *pc++; StkId ra; if ((L->hookmask & (LUA_MASKLINE | LUA_MASKCOUNT)) && (--L->hookcount == 0 || L->hookmask & LUA_MASKLINE)) { traceexec(L, pc); if (L->status == LUA_YIELD) { /* did hook yield? */ L->savedpc = pc - 1; return; } base = L->base; } /* warning!! several calls may realloc the stack and invalidate `ra' */ ra = RA(i); lua_assert(base == L->base && L->base == L->ci->base); lua_assert(base <= L->top && L->top <= L->stack + L->stacksize); lua_assert(L->top == L->ci->top || luaG_checkopenop(i)); switch (GET_OPCODE(i)) { case OP_MOVE: { setobjs2s(L, ra, RB(i)); continue; } case OP_LOADK: { setobj2s(L, ra, KBx(i)); continue; } case OP_LOADBOOL: { setbvalue(ra, GETARG_B(i)); if (GETARG_C(i)) pc++; /* skip next instruction (if C) */ continue; } case OP_LOADNIL: { TValue *rb = RB(i); do { setnilvalue(rb--); } while (rb >= ra); continue; } case OP_GETUPVAL: { int b = GETARG_B(i); setobj2s(L, ra, cl->upvals[b]->v); continue; } case OP_GETGLOBAL: { TValue g; TValue *rb = KBx(i); sethvalue(L, &g, cl->env); lua_assert(ttisstring(rb)); Protect(luaV_gettable(L, &g, rb, ra)); continue; } case OP_GETTABLE: { Protect(luaV_gettable(L, RB(i), RKC(i), ra)); continue; } case OP_SETGLOBAL: { TValue g; sethvalue(L, &g, cl->env); lua_assert(ttisstring(KBx(i))); Protect(luaV_settable(L, &g, KBx(i), ra)); continue; } case OP_SETUPVAL: { UpVal *uv = cl->upvals[GETARG_B(i)]; setobj(L, uv->v, ra); luaC_barrier(L, uv, ra); continue; } case OP_SETTABLE: { Protect(luaV_settable(L, ra, RKB(i), RKC(i))); continue; } case OP_NEWTABLE: { int b = GETARG_B(i); int c = GETARG_C(i); sethvalue(L, ra, luaH_new(L, luaO_fb2int(b), luaO_fb2int(c))); Protect(luaC_checkGC(L)); continue; } case OP_SELF: { StkId rb = RB(i); setobjs2s(L, ra+1, rb); Protect(luaV_gettable(L, rb, RKC(i), ra)); continue; } case OP_ADD: { arith_op(luai_numadd, TM_ADD); continue; } case OP_SUB: { arith_op(luai_numsub, TM_SUB); continue; } case OP_MUL: { arith_op(luai_nummul, TM_MUL); continue; } case OP_DIV: { arith_op(luai_numdiv, TM_DIV); continue; } case OP_MOD: { arith_op(luai_nummod, TM_MOD); continue; } case OP_POW: { arith_op(luai_numpow, TM_POW); continue; } case OP_UNM: { TValue *rb = RB(i); if (ttisnumber(rb)) { lua_Number nb = nvalue(rb); setnvalue(ra, luai_numunm(nb)); } else { Protect(Arith(L, ra, rb, rb, TM_UNM)); } continue; } case OP_NOT: { int res = l_isfalse(RB(i)); /* next assignment may change this value */ setbvalue(ra, res); continue; } case OP_LEN: { const TValue *rb = RB(i); switch (ttype(rb)) { case LUA_TTABLE: { setnvalue(ra, cast_num(luaH_getn(hvalue(rb)))); break; } case LUA_TSTRING: { setnvalue(ra, cast_num(tsvalue(rb)->len)); break; } default: { /* try metamethod */ Protect( if (!call_binTM(L, rb, luaO_nilobject, ra, TM_LEN)) luaG_typeerror(L, rb, "get length of"); ) } } continue; } case OP_CONCAT: { int b = GETARG_B(i); int c = GETARG_C(i); Protect(luaV_concat(L, c-b+1, c); luaC_checkGC(L)); setobjs2s(L, RA(i), base+b); continue; } case OP_JMP: { dojump(L, pc, GETARG_sBx(i)); continue; } case OP_EQ: { TValue *rb = RKB(i); TValue *rc = RKC(i); Protect( if (equalobj(L, rb, rc) == GETARG_A(i)) dojump(L, pc, GETARG_sBx(*pc)); ) pc++; continue; } case OP_LT: { Protect( if (luaV_lessthan(L, RKB(i), RKC(i)) == GETARG_A(i)) dojump(L, pc, GETARG_sBx(*pc)); ) pc++; continue; } case OP_LE: { Protect( if (lessequal(L, RKB(i), RKC(i)) == GETARG_A(i)) dojump(L, pc, GETARG_sBx(*pc)); ) pc++; continue; } case OP_TEST: { if (l_isfalse(ra) != GETARG_C(i)) dojump(L, pc, GETARG_sBx(*pc)); pc++; continue; } case OP_TESTSET: { TValue *rb = RB(i); if (l_isfalse(rb) != GETARG_C(i)) { setobjs2s(L, ra, rb); dojump(L, pc, GETARG_sBx(*pc)); } pc++; continue; } case OP_CALL: { int b = GETARG_B(i); int nresults = GETARG_C(i) - 1; if (b != 0) L->top = ra+b; /* else previous instruction set top */ L->savedpc = pc; switch (luaD_precall(L, ra, nresults)) { case PCRLUA: { nexeccalls++; goto reentry; /* restart luaV_execute over new Lua function */ } case PCRC: { /* it was a C function (`precall' called it); adjust results */ if (nresults >= 0) L->top = L->ci->top; base = L->base; continue; } default: { return; /* yield */ } } } case OP_TAILCALL: { int b = GETARG_B(i); if (b != 0) L->top = ra+b; /* else previous instruction set top */ L->savedpc = pc; lua_assert(GETARG_C(i) - 1 == LUA_MULTRET); switch (luaD_precall(L, ra, LUA_MULTRET)) { case PCRLUA: { /* tail call: put new frame in place of previous one */ CallInfo *ci = L->ci - 1; /* previous frame */ int aux; StkId func = ci->func; StkId pfunc = (ci+1)->func; /* previous function index */ if (L->openupval) luaF_close(L, ci->base); L->base = ci->base = ci->func + ((ci+1)->base - pfunc); for (aux = 0; pfunc+aux < L->top; aux++) /* move frame down */ setobjs2s(L, func+aux, pfunc+aux); ci->top = L->top = func+aux; /* correct top */ lua_assert(L->top == L->base + clvalue(func)->l.p->maxstacksize); ci->savedpc = L->savedpc; ci->tailcalls++; /* one more call lost */ L->ci--; /* remove new frame */ goto reentry; } case PCRC: { /* it was a C function (`precall' called it) */ base = L->base; continue; } default: { return; /* yield */ } } } case OP_RETURN: { int b = GETARG_B(i); if (b != 0) L->top = ra+b-1; if (L->openupval) luaF_close(L, base); L->savedpc = pc; b = luaD_poscall(L, ra); if (--nexeccalls == 0) /* was previous function running `here'? */ return; /* no: return */ else { /* yes: continue its execution */ if (b) L->top = L->ci->top; lua_assert(isLua(L->ci)); lua_assert(GET_OPCODE(*((L->ci)->savedpc - 1)) == OP_CALL); goto reentry; } } case OP_FORLOOP: { lua_Number step = nvalue(ra+2); lua_Number idx = luai_numadd(nvalue(ra), step); /* increment index */ lua_Number limit = nvalue(ra+1); if (luai_numlt(0, step) ? luai_numle(idx, limit) : luai_numle(limit, idx)) { dojump(L, pc, GETARG_sBx(i)); /* jump back */ setnvalue(ra, idx); /* update internal index... */ setnvalue(ra+3, idx); /* ...and external index */ } continue; } case OP_FORPREP: { const TValue *init = ra; const TValue *plimit = ra+1; const TValue *pstep = ra+2; L->savedpc = pc; /* next steps may throw errors */ if (!tonumber(init, ra)) luaG_runerror(L, LUA_QL("for") " initial value must be a number"); else if (!tonumber(plimit, ra+1)) luaG_runerror(L, LUA_QL("for") " limit must be a number"); else if (!tonumber(pstep, ra+2)) luaG_runerror(L, LUA_QL("for") " step must be a number"); setnvalue(ra, luai_numsub(nvalue(ra), nvalue(pstep))); dojump(L, pc, GETARG_sBx(i)); continue; } case OP_TFORLOOP: { StkId cb = ra + 3; /* call base */ setobjs2s(L, cb+2, ra+2); setobjs2s(L, cb+1, ra+1); setobjs2s(L, cb, ra); L->top = cb+3; /* func. + 2 args (state and index) */ Protect(luaD_call(L, cb, GETARG_C(i))); L->top = L->ci->top; cb = RA(i) + 3; /* previous call may change the stack */ if (!ttisnil(cb)) { /* continue loop? */ setobjs2s(L, cb-1, cb); /* save control variable */ dojump(L, pc, GETARG_sBx(*pc)); /* jump back */ } pc++; continue; } case OP_SETLIST: { int n = GETARG_B(i); int c = GETARG_C(i); int last; Table *h; if (n == 0) { n = cast_int(L->top - ra) - 1; L->top = L->ci->top; } if (c == 0) c = cast_int(*pc++); runtime_check(L, ttistable(ra)); h = hvalue(ra); last = ((c-1)*LFIELDS_PER_FLUSH) + n; if (last > h->sizearray) /* needs more space? */ luaH_resizearray(L, h, last); /* pre-alloc it at once */ for (; n > 0; n--) { TValue *val = ra+n; setobj2t(L, luaH_setnum(L, h, last--), val); luaC_barriert(L, h, val); } continue; } case OP_CLOSE: { luaF_close(L, ra); continue; } case OP_CLOSURE: { Proto *p; Closure *ncl; int nup, j; p = cl->p->p[GETARG_Bx(i)]; nup = p->nups; ncl = luaF_newLclosure(L, nup, cl->env); ncl->l.p = p; for (j=0; jl.upvals[j] = cl->upvals[GETARG_B(*pc)]; else { lua_assert(GET_OPCODE(*pc) == OP_MOVE); ncl->l.upvals[j] = luaF_findupval(L, base + GETARG_B(*pc)); } } setclvalue(L, ra, ncl); Protect(luaC_checkGC(L)); continue; } case OP_VARARG: { int b = GETARG_B(i) - 1; int j; CallInfo *ci = L->ci; int n = cast_int(ci->base - ci->func) - cl->p->numparams - 1; if (b == LUA_MULTRET) { Protect(luaD_checkstack(L, n)); ra = RA(i); /* previous call may change the stack */ b = n; L->top = ra + n; } for (j = 0; j < b; j++) { if (j < n) { setobjs2s(L, ra + j, ci->base - n + j); } else { setnilvalue(ra + j); } } continue; } } } } gtk-engines-2.20.2/engines/lua/src/liblua/lzio.c0000644000175000017500000000305011451352576016331 00000000000000/* ** $Id$ ** a generic input stream interface ** See Copyright Notice in lua.h */ #include #define lzio_c #define LUA_CORE #include "lua.h" #include "llimits.h" #include "lmem.h" #include "lstate.h" #include "lzio.h" int luaZ_fill (ZIO *z) { size_t size; lua_State *L = z->L; const char *buff; lua_unlock(L); buff = z->reader(L, z->data, &size); lua_lock(L); if (buff == NULL || size == 0) return EOZ; z->n = size - 1; z->p = buff; return char2int(*(z->p++)); } int luaZ_lookahead (ZIO *z) { if (z->n == 0) { if (luaZ_fill(z) == EOZ) return EOZ; else { z->n++; /* luaZ_fill removed first byte; put back it */ z->p--; } } return char2int(*z->p); } void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, void *data) { z->L = L; z->reader = reader; z->data = data; z->n = 0; z->p = NULL; } /* --------------------------------------------------------------- read --- */ size_t luaZ_read (ZIO *z, void *b, size_t n) { while (n) { size_t m; if (luaZ_lookahead(z) == EOZ) return n; /* return number of missing bytes */ m = (n <= z->n) ? n : z->n; /* min. between n and z->n */ memcpy(b, z->p, m); z->n -= m; z->p += m; b = (char *)b + m; n -= m; } return 0; } /* ------------------------------------------------------------------------ */ char *luaZ_openspace (lua_State *L, Mbuffer *buff, size_t n) { if (n > buff->buffsize) { if (n < LUA_MINBUFFER) n = LUA_MINBUFFER; luaZ_resizebuffer(L, buff, n); } return buff->buffer; } gtk-engines-2.20.2/engines/lua/src/liblua/lauxlib.c0000644000175000017500000004174711451352576017033 00000000000000/* ** $Id$ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h */ #include #include #include #include #include #include /* This file uses only the official API of Lua. ** Any function declared here could be written as an application function. */ #define lauxlib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #define FREELIST_REF 0 /* free list of references */ /* convert a stack index to positive */ #define abs_index(L, i) ((i) > 0 || (i) <= LUA_REGISTRYINDEX ? (i) : \ lua_gettop(L) + (i) + 1) /* ** {====================================================== ** Error-report functions ** ======================================================= */ LUALIB_API int luaL_argerror (lua_State *L, int narg, const char *extramsg) { lua_Debug ar; if (!lua_getstack(L, 0, &ar)) /* no stack frame? */ return luaL_error(L, "bad argument #%d (%s)", narg, extramsg); lua_getinfo(L, "n", &ar); if (strcmp(ar.namewhat, "method") == 0) { narg--; /* do not count `self' */ if (narg == 0) /* error is in the self argument itself? */ return luaL_error(L, "calling " LUA_QS " on bad self (%s)", ar.name, extramsg); } if (ar.name == NULL) ar.name = "?"; return luaL_error(L, "bad argument #%d to " LUA_QS " (%s)", narg, ar.name, extramsg); } LUALIB_API int luaL_typerror (lua_State *L, int narg, const char *tname) { const char *msg = lua_pushfstring(L, "%s expected, got %s", tname, luaL_typename(L, narg)); return luaL_argerror(L, narg, msg); } static void tag_error (lua_State *L, int narg, int tag) { luaL_typerror(L, narg, lua_typename(L, tag)); } LUALIB_API void luaL_where (lua_State *L, int level) { lua_Debug ar; if (lua_getstack(L, level, &ar)) { /* check function at level */ lua_getinfo(L, "Sl", &ar); /* get info about it */ if (ar.currentline > 0) { /* is there info? */ lua_pushfstring(L, "%s:%d: ", ar.short_src, ar.currentline); return; } } lua_pushliteral(L, ""); /* else, no information available... */ } LUALIB_API int luaL_error (lua_State *L, const char *fmt, ...) { va_list argp; va_start(argp, fmt); luaL_where(L, 1); lua_pushvfstring(L, fmt, argp); va_end(argp); lua_concat(L, 2); return lua_error(L); } /* }====================================================== */ LUALIB_API int luaL_checkoption (lua_State *L, int narg, const char *def, const char *const lst[]) { const char *name = (def) ? luaL_optstring(L, narg, def) : luaL_checkstring(L, narg); int i; for (i=0; lst[i]; i++) if (strcmp(lst[i], name) == 0) return i; return luaL_argerror(L, narg, lua_pushfstring(L, "invalid option " LUA_QS, name)); } LUALIB_API int luaL_newmetatable (lua_State *L, const char *tname) { lua_getfield(L, LUA_REGISTRYINDEX, tname); /* get registry.name */ if (!lua_isnil(L, -1)) /* name already in use? */ return 0; /* leave previous value on top, but return 0 */ lua_pop(L, 1); lua_newtable(L); /* create metatable */ lua_pushvalue(L, -1); lua_setfield(L, LUA_REGISTRYINDEX, tname); /* registry.name = metatable */ return 1; } LUALIB_API void *luaL_checkudata (lua_State *L, int ud, const char *tname) { void *p = lua_touserdata(L, ud); if (p != NULL) { /* value is a userdata? */ if (lua_getmetatable(L, ud)) { /* does it have a metatable? */ lua_getfield(L, LUA_REGISTRYINDEX, tname); /* get correct metatable */ if (lua_rawequal(L, -1, -2)) { /* does it have the correct mt? */ lua_pop(L, 2); /* remove both metatables */ return p; } } } luaL_typerror(L, ud, tname); /* else error */ return NULL; /* to avoid warnings */ } LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *mes) { if (!lua_checkstack(L, space)) luaL_error(L, "stack overflow (%s)", mes); } LUALIB_API void luaL_checktype (lua_State *L, int narg, int t) { if (lua_type(L, narg) != t) tag_error(L, narg, t); } LUALIB_API void luaL_checkany (lua_State *L, int narg) { if (lua_type(L, narg) == LUA_TNONE) luaL_argerror(L, narg, "value expected"); } LUALIB_API const char *luaL_checklstring (lua_State *L, int narg, size_t *len) { const char *s = lua_tolstring(L, narg, len); if (!s) tag_error(L, narg, LUA_TSTRING); return s; } LUALIB_API const char *luaL_optlstring (lua_State *L, int narg, const char *def, size_t *len) { if (lua_isnoneornil(L, narg)) { if (len) *len = (def ? strlen(def) : 0); return def; } else return luaL_checklstring(L, narg, len); } LUALIB_API lua_Number luaL_checknumber (lua_State *L, int narg) { lua_Number d = lua_tonumber(L, narg); if (d == 0 && !lua_isnumber(L, narg)) /* avoid extra test when d is not 0 */ tag_error(L, narg, LUA_TNUMBER); return d; } LUALIB_API lua_Number luaL_optnumber (lua_State *L, int narg, lua_Number def) { return luaL_opt(L, luaL_checknumber, narg, def); } LUALIB_API lua_Integer luaL_checkinteger (lua_State *L, int narg) { lua_Integer d = lua_tointeger(L, narg); if (d == 0 && !lua_isnumber(L, narg)) /* avoid extra test when d is not 0 */ tag_error(L, narg, LUA_TNUMBER); return d; } LUALIB_API lua_Integer luaL_optinteger (lua_State *L, int narg, lua_Integer def) { return luaL_opt(L, luaL_checkinteger, narg, def); } LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *event) { if (!lua_getmetatable(L, obj)) /* no metatable? */ return 0; lua_pushstring(L, event); lua_rawget(L, -2); if (lua_isnil(L, -1)) { lua_pop(L, 2); /* remove metatable and metafield */ return 0; } else { lua_remove(L, -2); /* remove only metatable */ return 1; } } LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event) { obj = abs_index(L, obj); if (!luaL_getmetafield(L, obj, event)) /* no metafield? */ return 0; lua_pushvalue(L, obj); lua_call(L, 1, 1); return 1; } LUALIB_API void (luaL_register) (lua_State *L, const char *libname, const luaL_Reg *l) { luaI_openlib(L, libname, l, 0); } static int libsize (const luaL_Reg *l) { int size = 0; for (; l->name; l++) size++; return size; } LUALIB_API void luaI_openlib (lua_State *L, const char *libname, const luaL_Reg *l, int nup) { if (libname) { int size = libsize(l); /* check whether lib already exists */ luaL_findtable(L, LUA_REGISTRYINDEX, "_LOADED", size); lua_getfield(L, -1, libname); /* get _LOADED[libname] */ if (!lua_istable(L, -1)) { /* not found? */ lua_pop(L, 1); /* remove previous result */ /* try global variable (and create one if it does not exist) */ if (luaL_findtable(L, LUA_GLOBALSINDEX, libname, size) != NULL) luaL_error(L, "name conflict for module " LUA_QS, libname); lua_pushvalue(L, -1); lua_setfield(L, -3, libname); /* _LOADED[libname] = new table */ } lua_remove(L, -2); /* remove _LOADED table */ lua_insert(L, -(nup+1)); /* move library table to below upvalues */ } for (; l->name; l++) { int i; for (i=0; ifunc, nup); lua_setfield(L, -(nup+2), l->name); } lua_pop(L, nup); /* remove upvalues */ } /* ** {====================================================== ** getn-setn: size for arrays ** ======================================================= */ #if defined(LUA_COMPAT_GETN) static int checkint (lua_State *L, int topop) { int n = (lua_type(L, -1) == LUA_TNUMBER) ? lua_tointeger(L, -1) : -1; lua_pop(L, topop); return n; } static void getsizes (lua_State *L) { lua_getfield(L, LUA_REGISTRYINDEX, "LUA_SIZES"); if (lua_isnil(L, -1)) { /* no `size' table? */ lua_pop(L, 1); /* remove nil */ lua_newtable(L); /* create it */ lua_pushvalue(L, -1); /* `size' will be its own metatable */ lua_setmetatable(L, -2); lua_pushliteral(L, "kv"); lua_setfield(L, -2, "__mode"); /* metatable(N).__mode = "kv" */ lua_pushvalue(L, -1); lua_setfield(L, LUA_REGISTRYINDEX, "LUA_SIZES"); /* store in register */ } } LUALIB_API void luaL_setn (lua_State *L, int t, int n) { t = abs_index(L, t); lua_pushliteral(L, "n"); lua_rawget(L, t); if (checkint(L, 1) >= 0) { /* is there a numeric field `n'? */ lua_pushliteral(L, "n"); /* use it */ lua_pushinteger(L, n); lua_rawset(L, t); } else { /* use `sizes' */ getsizes(L); lua_pushvalue(L, t); lua_pushinteger(L, n); lua_rawset(L, -3); /* sizes[t] = n */ lua_pop(L, 1); /* remove `sizes' */ } } LUALIB_API int luaL_getn (lua_State *L, int t) { int n; t = abs_index(L, t); lua_pushliteral(L, "n"); /* try t.n */ lua_rawget(L, t); if ((n = checkint(L, 1)) >= 0) return n; getsizes(L); /* else try sizes[t] */ lua_pushvalue(L, t); lua_rawget(L, -2); if ((n = checkint(L, 2)) >= 0) return n; return (int)lua_objlen(L, t); } #endif /* }====================================================== */ LUALIB_API const char *luaL_gsub (lua_State *L, const char *s, const char *p, const char *r) { const char *wild; size_t l = strlen(p); luaL_Buffer b; luaL_buffinit(L, &b); while ((wild = strstr(s, p)) != NULL) { luaL_addlstring(&b, s, wild - s); /* push prefix */ luaL_addstring(&b, r); /* push replacement in place of pattern */ s = wild + l; /* continue after `p' */ } luaL_addstring(&b, s); /* push last suffix */ luaL_pushresult(&b); return lua_tostring(L, -1); } LUALIB_API const char *luaL_findtable (lua_State *L, int idx, const char *fname, int szhint) { const char *e; lua_pushvalue(L, idx); do { e = strchr(fname, '.'); if (e == NULL) e = fname + strlen(fname); lua_pushlstring(L, fname, e - fname); lua_rawget(L, -2); if (lua_isnil(L, -1)) { /* no such field? */ lua_pop(L, 1); /* remove this nil */ lua_createtable(L, 0, (*e == '.' ? 1 : szhint)); /* new table for field */ lua_pushlstring(L, fname, e - fname); lua_pushvalue(L, -2); lua_settable(L, -4); /* set new table into field */ } else if (!lua_istable(L, -1)) { /* field has a non-table value? */ lua_pop(L, 2); /* remove table and value */ return fname; /* return problematic part of the name */ } lua_remove(L, -2); /* remove previous table */ fname = e + 1; } while (*e == '.'); return NULL; } /* ** {====================================================== ** Generic Buffer manipulation ** ======================================================= */ #define bufflen(B) ((B)->p - (B)->buffer) #define bufffree(B) ((size_t)(LUAL_BUFFERSIZE - bufflen(B))) #define LIMIT (LUA_MINSTACK/2) static int emptybuffer (luaL_Buffer *B) { size_t l = bufflen(B); if (l == 0) return 0; /* put nothing on stack */ else { lua_pushlstring(B->L, B->buffer, l); B->p = B->buffer; B->lvl++; return 1; } } static void adjuststack (luaL_Buffer *B) { if (B->lvl > 1) { lua_State *L = B->L; int toget = 1; /* number of levels to concat */ size_t toplen = lua_strlen(L, -1); do { size_t l = lua_strlen(L, -(toget+1)); if (B->lvl - toget + 1 >= LIMIT || toplen > l) { toplen += l; toget++; } else break; } while (toget < B->lvl); lua_concat(L, toget); B->lvl = B->lvl - toget + 1; } } LUALIB_API char *luaL_prepbuffer (luaL_Buffer *B) { if (emptybuffer(B)) adjuststack(B); return B->buffer; } LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) { while (l--) luaL_addchar(B, *s++); } LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s) { luaL_addlstring(B, s, strlen(s)); } LUALIB_API void luaL_pushresult (luaL_Buffer *B) { emptybuffer(B); lua_concat(B->L, B->lvl); B->lvl = 1; } LUALIB_API void luaL_addvalue (luaL_Buffer *B) { lua_State *L = B->L; size_t vl; const char *s = lua_tolstring(L, -1, &vl); if (vl <= bufffree(B)) { /* fit into buffer? */ memcpy(B->p, s, vl); /* put it there */ B->p += vl; lua_pop(L, 1); /* remove from stack */ } else { if (emptybuffer(B)) lua_insert(L, -2); /* put buffer before new value */ B->lvl++; /* add new value into B stack */ adjuststack(B); } } LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) { B->L = L; B->p = B->buffer; B->lvl = 0; } /* }====================================================== */ LUALIB_API int luaL_ref (lua_State *L, int t) { int ref; t = abs_index(L, t); if (lua_isnil(L, -1)) { lua_pop(L, 1); /* remove from stack */ return LUA_REFNIL; /* `nil' has a unique fixed reference */ } lua_rawgeti(L, t, FREELIST_REF); /* get first free element */ ref = (int)lua_tointeger(L, -1); /* ref = t[FREELIST_REF] */ lua_pop(L, 1); /* remove it from stack */ if (ref != 0) { /* any free element? */ lua_rawgeti(L, t, ref); /* remove it from list */ lua_rawseti(L, t, FREELIST_REF); /* (t[FREELIST_REF] = t[ref]) */ } else { /* no free elements */ ref = (int)lua_objlen(L, t); ref++; /* create new reference */ } lua_rawseti(L, t, ref); return ref; } LUALIB_API void luaL_unref (lua_State *L, int t, int ref) { if (ref >= 0) { t = abs_index(L, t); lua_rawgeti(L, t, FREELIST_REF); lua_rawseti(L, t, ref); /* t[ref] = t[FREELIST_REF] */ lua_pushinteger(L, ref); lua_rawseti(L, t, FREELIST_REF); /* t[FREELIST_REF] = ref */ } } /* ** {====================================================== ** Load functions ** ======================================================= */ typedef struct LoadF { int extraline; FILE *f; char buff[LUAL_BUFFERSIZE]; } LoadF; static const char *getF (lua_State *L, void *ud, size_t *size) { LoadF *lf = (LoadF *)ud; (void)L; if (lf->extraline) { lf->extraline = 0; *size = 1; return "\n"; } if (feof(lf->f)) return NULL; *size = fread(lf->buff, 1, LUAL_BUFFERSIZE, lf->f); return (*size > 0) ? lf->buff : NULL; } static int errfile (lua_State *L, const char *what, int fnameindex) { const char *serr = strerror(errno); const char *filename = lua_tostring(L, fnameindex) + 1; lua_pushfstring(L, "cannot %s %s: %s", what, filename, serr); lua_remove(L, fnameindex); return LUA_ERRFILE; } LUALIB_API int luaL_loadfile (lua_State *L, const char *filename) { LoadF lf; int status, readstatus; int c; int fnameindex = lua_gettop(L) + 1; /* index of filename on the stack */ lf.extraline = 0; if (filename == NULL) { lua_pushliteral(L, "=stdin"); lf.f = stdin; } else { lua_pushfstring(L, "@%s", filename); lf.f = fopen(filename, "r"); if (lf.f == NULL) return errfile(L, "open", fnameindex); } c = getc(lf.f); if (c == '#') { /* Unix exec. file? */ lf.extraline = 1; while ((c = getc(lf.f)) != EOF && c != '\n') ; /* skip first line */ if (c == '\n') c = getc(lf.f); } if (c == LUA_SIGNATURE[0] && lf.f != stdin) { /* binary file? */ fclose(lf.f); lf.f = fopen(filename, "rb"); /* reopen in binary mode */ if (lf.f == NULL) return errfile(L, "reopen", fnameindex); /* skip eventual `#!...' */ while ((c = getc(lf.f)) != EOF && c != LUA_SIGNATURE[0]) ; lf.extraline = 0; } ungetc(c, lf.f); status = lua_load(L, getF, &lf, lua_tostring(L, -1)); readstatus = ferror(lf.f); if (lf.f != stdin) fclose(lf.f); /* close file (even in case of errors) */ if (readstatus) { lua_settop(L, fnameindex); /* ignore results from `lua_load' */ return errfile(L, "read", fnameindex); } lua_remove(L, fnameindex); return status; } typedef struct LoadS { const char *s; size_t size; } LoadS; static const char *getS (lua_State *L, void *ud, size_t *size) { LoadS *ls = (LoadS *)ud; (void)L; if (ls->size == 0) return NULL; *size = ls->size; ls->size = 0; return ls->s; } LUALIB_API int luaL_loadbuffer (lua_State *L, const char *buff, size_t size, const char *name) { LoadS ls; ls.s = buff; ls.size = size; return lua_load(L, getS, &ls, name); } LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s) { return luaL_loadbuffer(L, s, strlen(s), s); } /* }====================================================== */ static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) { (void)ud; (void)osize; if (nsize == 0) { free(ptr); return NULL; } else return realloc(ptr, nsize); } static int panic (lua_State *L) { (void)L; /* to avoid warnings */ fprintf(stderr, "PANIC: unprotected error in call to Lua API (%s)\n", lua_tostring(L, -1)); return 0; } LUALIB_API lua_State *luaL_newstate (void) { lua_State *L = lua_newstate(l_alloc, NULL); if (L) lua_atpanic(L, &panic); return L; } gtk-engines-2.20.2/engines/lua/src/liblua/lbaselib.c0000644000175000017500000004033111451352576017134 00000000000000/* ** $Id$ ** Basic library ** See Copyright Notice in lua.h */ #include #include #include #include #define lbaselib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" /* ** If your system does not support `stdout', you can just remove this function. ** If you need, you can define your own `print' function, following this ** model but changing `fputs' to put the strings at a proper place ** (a console window or a log file, for instance). */ static int luaB_print (lua_State *L) { int n = lua_gettop(L); /* number of arguments */ int i; lua_getglobal(L, "tostring"); for (i=1; i<=n; i++) { const char *s; lua_pushvalue(L, -1); /* function to be called */ lua_pushvalue(L, i); /* value to print */ lua_call(L, 1, 1); s = lua_tostring(L, -1); /* get result */ if (s == NULL) return luaL_error(L, LUA_QL("tostring") " must return a string to " LUA_QL("print")); if (i>1) fputs("\t", stdout); fputs(s, stdout); lua_pop(L, 1); /* pop result */ } fputs("\n", stdout); return 0; } static int luaB_tonumber (lua_State *L) { int base = luaL_optint(L, 2, 10); if (base == 10) { /* standard conversion */ luaL_checkany(L, 1); if (lua_isnumber(L, 1)) { lua_pushnumber(L, lua_tonumber(L, 1)); return 1; } } else { const char *s1 = luaL_checkstring(L, 1); char *s2; unsigned long n; luaL_argcheck(L, 2 <= base && base <= 36, 2, "base out of range"); n = strtoul(s1, &s2, base); if (s1 != s2) { /* at least one valid digit? */ while (isspace((unsigned char)(*s2))) s2++; /* skip trailing spaces */ if (*s2 == '\0') { /* no invalid trailing characters? */ lua_pushnumber(L, (lua_Number)n); return 1; } } } lua_pushnil(L); /* else not a number */ return 1; } static int luaB_error (lua_State *L) { int level = luaL_optint(L, 2, 1); lua_settop(L, 1); if (lua_isstring(L, 1) && level > 0) { /* add extra information? */ luaL_where(L, level); lua_pushvalue(L, 1); lua_concat(L, 2); } return lua_error(L); } static int luaB_getmetatable (lua_State *L) { luaL_checkany(L, 1); if (!lua_getmetatable(L, 1)) { lua_pushnil(L); return 1; /* no metatable */ } luaL_getmetafield(L, 1, "__metatable"); return 1; /* returns either __metatable field (if present) or metatable */ } static int luaB_setmetatable (lua_State *L) { int t = lua_type(L, 2); luaL_checktype(L, 1, LUA_TTABLE); luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2, "nil or table expected"); if (luaL_getmetafield(L, 1, "__metatable")) luaL_error(L, "cannot change a protected metatable"); lua_settop(L, 2); lua_setmetatable(L, 1); return 1; } static void getfunc (lua_State *L) { if (lua_isfunction(L, 1)) lua_pushvalue(L, 1); else { lua_Debug ar; int level = luaL_optint(L, 1, 1); luaL_argcheck(L, level >= 0, 1, "level must be non-negative"); if (lua_getstack(L, level, &ar) == 0) luaL_argerror(L, 1, "invalid level"); lua_getinfo(L, "f", &ar); if (lua_isnil(L, -1)) luaL_error(L, "no function environment for tail call at level %d", level); } } static int luaB_getfenv (lua_State *L) { getfunc(L); if (lua_iscfunction(L, -1)) /* is a C function? */ lua_pushvalue(L, LUA_GLOBALSINDEX); /* return the thread's global env. */ else lua_getfenv(L, -1); return 1; } static int luaB_setfenv (lua_State *L) { luaL_checktype(L, 2, LUA_TTABLE); getfunc(L); lua_pushvalue(L, 2); if (lua_isnumber(L, 1) && lua_tonumber(L, 1) == 0) { /* change environment of current thread */ lua_pushthread(L); lua_insert(L, -2); lua_setfenv(L, -2); return 0; } else if (lua_iscfunction(L, -2) || lua_setfenv(L, -2) == 0) luaL_error(L, LUA_QL("setfenv") " cannot change environment of given object"); return 1; } static int luaB_rawequal (lua_State *L) { luaL_checkany(L, 1); luaL_checkany(L, 2); lua_pushboolean(L, lua_rawequal(L, 1, 2)); return 1; } static int luaB_rawget (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); luaL_checkany(L, 2); lua_settop(L, 2); lua_rawget(L, 1); return 1; } static int luaB_rawset (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); luaL_checkany(L, 2); luaL_checkany(L, 3); lua_settop(L, 3); lua_rawset(L, 1); return 1; } static int luaB_gcinfo (lua_State *L) { lua_pushinteger(L, lua_getgccount(L)); return 1; } static int luaB_collectgarbage (lua_State *L) { static const char *const opts[] = {"stop", "restart", "collect", "count", "step", "setpause", "setstepmul", NULL}; static const int optsnum[] = {LUA_GCSTOP, LUA_GCRESTART, LUA_GCCOLLECT, LUA_GCCOUNT, LUA_GCSTEP, LUA_GCSETPAUSE, LUA_GCSETSTEPMUL}; int o = luaL_checkoption(L, 1, "collect", opts); int ex = luaL_optint(L, 2, 0); int res = lua_gc(L, optsnum[o], ex); switch (optsnum[o]) { case LUA_GCCOUNT: { int b = lua_gc(L, LUA_GCCOUNTB, 0); lua_pushnumber(L, res + ((lua_Number)b/1024)); return 1; } case LUA_GCSTEP: { lua_pushboolean(L, res); return 1; } default: { lua_pushnumber(L, res); return 1; } } } static int luaB_type (lua_State *L) { luaL_checkany(L, 1); lua_pushstring(L, luaL_typename(L, 1)); return 1; } static int luaB_next (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); lua_settop(L, 2); /* create a 2nd argument if there isn't one */ if (lua_next(L, 1)) return 2; else { lua_pushnil(L); return 1; } } static int luaB_pairs (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); lua_pushvalue(L, lua_upvalueindex(1)); /* return generator, */ lua_pushvalue(L, 1); /* state, */ lua_pushnil(L); /* and initial value */ return 3; } static int ipairsaux (lua_State *L) { int i = luaL_checkint(L, 2); luaL_checktype(L, 1, LUA_TTABLE); i++; /* next value */ lua_pushinteger(L, i); lua_rawgeti(L, 1, i); return (lua_isnil(L, -1)) ? 0 : 2; } static int luaB_ipairs (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); lua_pushvalue(L, lua_upvalueindex(1)); /* return generator, */ lua_pushvalue(L, 1); /* state, */ lua_pushinteger(L, 0); /* and initial value */ return 3; } static int load_aux (lua_State *L, int status) { if (status == 0) /* OK? */ return 1; else { lua_pushnil(L); lua_insert(L, -2); /* put before error message */ return 2; /* return nil plus error message */ } } static int luaB_loadstring (lua_State *L) { size_t l; const char *s = luaL_checklstring(L, 1, &l); const char *chunkname = luaL_optstring(L, 2, s); return load_aux(L, luaL_loadbuffer(L, s, l, chunkname)); } static int luaB_loadfile (lua_State *L) { const char *fname = luaL_optstring(L, 1, NULL); return load_aux(L, luaL_loadfile(L, fname)); } /* ** Reader for generic `load' function: `lua_load' uses the ** stack for internal stuff, so the reader cannot change the ** stack top. Instead, it keeps its resulting string in a ** reserved slot inside the stack. */ static const char *generic_reader (lua_State *L, void *ud, size_t *size) { (void)ud; /* to avoid warnings */ luaL_checkstack(L, 2, "too many nested functions"); lua_pushvalue(L, 1); /* get function */ lua_call(L, 0, 1); /* call it */ if (lua_isnil(L, -1)) { *size = 0; return NULL; } else if (lua_isstring(L, -1)) { lua_replace(L, 3); /* save string in a reserved stack slot */ return lua_tolstring(L, 3, size); } else luaL_error(L, "reader function must return a string"); return NULL; /* to avoid warnings */ } static int luaB_load (lua_State *L) { int status; const char *cname = luaL_optstring(L, 2, "=(load)"); luaL_checktype(L, 1, LUA_TFUNCTION); lua_settop(L, 3); /* function, eventual name, plus one reserved slot */ status = lua_load(L, generic_reader, NULL, cname); return load_aux(L, status); } static int luaB_dofile (lua_State *L) { const char *fname = luaL_optstring(L, 1, NULL); int n = lua_gettop(L); if (luaL_loadfile(L, fname) != 0) lua_error(L); lua_call(L, 0, LUA_MULTRET); return lua_gettop(L) - n; } static int luaB_assert (lua_State *L) { luaL_checkany(L, 1); if (!lua_toboolean(L, 1)) return luaL_error(L, "%s", luaL_optstring(L, 2, "assertion failed!")); return lua_gettop(L); } static int luaB_unpack (lua_State *L) { int i, e, n; luaL_checktype(L, 1, LUA_TTABLE); i = luaL_optint(L, 2, 1); e = luaL_opt(L, luaL_checkint, 3, luaL_getn(L, 1)); n = e - i + 1; /* number of elements */ if (n <= 0) return 0; /* empty range */ luaL_checkstack(L, n, "table too big to unpack"); for (; i<=e; i++) /* push arg[i...e] */ lua_rawgeti(L, 1, i); return n; } static int luaB_select (lua_State *L) { int n = lua_gettop(L); if (lua_type(L, 1) == LUA_TSTRING && *lua_tostring(L, 1) == '#') { lua_pushinteger(L, n-1); return 1; } else { int i = luaL_checkint(L, 1); if (i < 0) i = n + i; else if (i > n) i = n; luaL_argcheck(L, 1 <= i, 1, "index out of range"); return n - i; } } static int luaB_pcall (lua_State *L) { int status; luaL_checkany(L, 1); status = lua_pcall(L, lua_gettop(L) - 1, LUA_MULTRET, 0); lua_pushboolean(L, (status == 0)); lua_insert(L, 1); return lua_gettop(L); /* return status + all results */ } static int luaB_xpcall (lua_State *L) { int status; luaL_checkany(L, 2); lua_settop(L, 2); lua_insert(L, 1); /* put error function under function to be called */ status = lua_pcall(L, 0, LUA_MULTRET, 1); lua_pushboolean(L, (status == 0)); lua_replace(L, 1); return lua_gettop(L); /* return status + all results */ } static int luaB_tostring (lua_State *L) { luaL_checkany(L, 1); if (luaL_callmeta(L, 1, "__tostring")) /* is there a metafield? */ return 1; /* use its value */ switch (lua_type(L, 1)) { case LUA_TNUMBER: lua_pushstring(L, lua_tostring(L, 1)); break; case LUA_TSTRING: lua_pushvalue(L, 1); break; case LUA_TBOOLEAN: lua_pushstring(L, (lua_toboolean(L, 1) ? "true" : "false")); break; case LUA_TNIL: lua_pushliteral(L, "nil"); break; default: lua_pushfstring(L, "%s: %p", luaL_typename(L, 1), lua_topointer(L, 1)); break; } return 1; } static int luaB_newproxy (lua_State *L) { lua_settop(L, 1); lua_newuserdata(L, 0); /* create proxy */ if (lua_toboolean(L, 1) == 0) return 1; /* no metatable */ else if (lua_isboolean(L, 1)) { lua_newtable(L); /* create a new metatable `m' ... */ lua_pushvalue(L, -1); /* ... and mark `m' as a valid metatable */ lua_pushboolean(L, 1); lua_rawset(L, lua_upvalueindex(1)); /* weaktable[m] = true */ } else { int validproxy = 0; /* to check if weaktable[metatable(u)] == true */ if (lua_getmetatable(L, 1)) { lua_rawget(L, lua_upvalueindex(1)); validproxy = lua_toboolean(L, -1); lua_pop(L, 1); /* remove value */ } luaL_argcheck(L, validproxy, 1, "boolean or proxy expected"); lua_getmetatable(L, 1); /* metatable is valid; get it */ } lua_setmetatable(L, 2); return 1; } static const luaL_Reg base_funcs[] = { {"assert", luaB_assert}, {"collectgarbage", luaB_collectgarbage}, {"dofile", luaB_dofile}, {"error", luaB_error}, {"gcinfo", luaB_gcinfo}, {"getfenv", luaB_getfenv}, {"getmetatable", luaB_getmetatable}, {"loadfile", luaB_loadfile}, {"load", luaB_load}, {"loadstring", luaB_loadstring}, {"next", luaB_next}, {"pcall", luaB_pcall}, {"print", luaB_print}, {"rawequal", luaB_rawequal}, {"rawget", luaB_rawget}, {"rawset", luaB_rawset}, {"select", luaB_select}, {"setfenv", luaB_setfenv}, {"setmetatable", luaB_setmetatable}, {"tonumber", luaB_tonumber}, {"tostring", luaB_tostring}, {"type", luaB_type}, {"unpack", luaB_unpack}, {"xpcall", luaB_xpcall}, {NULL, NULL} }; /* ** {====================================================== ** Coroutine library ** ======================================================= */ static int auxresume (lua_State *L, lua_State *co, int narg) { int status; if (!lua_checkstack(co, narg)) luaL_error(L, "too many arguments to resume"); if (lua_status(co) == 0 && lua_gettop(co) == 0) { lua_pushliteral(L, "cannot resume dead coroutine"); return -1; /* error flag */ } lua_xmove(L, co, narg); status = lua_resume(co, narg); if (status == 0 || status == LUA_YIELD) { int nres = lua_gettop(co); if (!lua_checkstack(L, nres)) luaL_error(L, "too many results to resume"); lua_xmove(co, L, nres); /* move yielded values */ return nres; } else { lua_xmove(co, L, 1); /* move error message */ return -1; /* error flag */ } } static int luaB_coresume (lua_State *L) { lua_State *co = lua_tothread(L, 1); int r; luaL_argcheck(L, co, 1, "coroutine expected"); r = auxresume(L, co, lua_gettop(L) - 1); if (r < 0) { lua_pushboolean(L, 0); lua_insert(L, -2); return 2; /* return false + error message */ } else { lua_pushboolean(L, 1); lua_insert(L, -(r + 1)); return r + 1; /* return true + `resume' returns */ } } static int luaB_auxwrap (lua_State *L) { lua_State *co = lua_tothread(L, lua_upvalueindex(1)); int r = auxresume(L, co, lua_gettop(L)); if (r < 0) { if (lua_isstring(L, -1)) { /* error object is a string? */ luaL_where(L, 1); /* add extra info */ lua_insert(L, -2); lua_concat(L, 2); } lua_error(L); /* propagate error */ } return r; } static int luaB_cocreate (lua_State *L) { lua_State *NL = lua_newthread(L); luaL_argcheck(L, lua_isfunction(L, 1) && !lua_iscfunction(L, 1), 1, "Lua function expected"); lua_pushvalue(L, 1); /* move function to top */ lua_xmove(L, NL, 1); /* move function from L to NL */ return 1; } static int luaB_cowrap (lua_State *L) { luaB_cocreate(L); lua_pushcclosure(L, luaB_auxwrap, 1); return 1; } static int luaB_yield (lua_State *L) { return lua_yield(L, lua_gettop(L)); } static int luaB_costatus (lua_State *L) { lua_State *co = lua_tothread(L, 1); luaL_argcheck(L, co, 1, "coroutine expected"); if (L == co) lua_pushliteral(L, "running"); else { switch (lua_status(co)) { case LUA_YIELD: lua_pushliteral(L, "suspended"); break; case 0: { lua_Debug ar; if (lua_getstack(co, 0, &ar) > 0) /* does it have frames? */ lua_pushliteral(L, "normal"); /* it is running */ else if (lua_gettop(co) == 0) lua_pushliteral(L, "dead"); else lua_pushliteral(L, "suspended"); /* initial state */ break; } default: /* some error occured */ lua_pushliteral(L, "dead"); break; } } return 1; } static int luaB_corunning (lua_State *L) { if (lua_pushthread(L)) return 0; /* main thread is not a coroutine */ else return 1; } static const luaL_Reg co_funcs[] = { {"create", luaB_cocreate}, {"resume", luaB_coresume}, {"running", luaB_corunning}, {"status", luaB_costatus}, {"wrap", luaB_cowrap}, {"yield", luaB_yield}, {NULL, NULL} }; /* }====================================================== */ static void auxopen (lua_State *L, const char *name, lua_CFunction f, lua_CFunction u) { lua_pushcfunction(L, u); lua_pushcclosure(L, f, 1); lua_setfield(L, -2, name); } static void base_open (lua_State *L) { /* set global _G */ lua_pushvalue(L, LUA_GLOBALSINDEX); lua_setglobal(L, "_G"); /* open lib into global table */ luaL_register(L, "_G", base_funcs); lua_pushliteral(L, LUA_VERSION); lua_setglobal(L, "_VERSION"); /* set global _VERSION */ /* `ipairs' and `pairs' need auxliliary functions as upvalues */ auxopen(L, "ipairs", luaB_ipairs, ipairsaux); auxopen(L, "pairs", luaB_pairs, luaB_next); /* `newproxy' needs a weaktable as upvalue */ lua_createtable(L, 0, 1); /* new table `w' */ lua_pushvalue(L, -1); /* `w' will be its own metatable */ lua_setmetatable(L, -2); lua_pushliteral(L, "kv"); lua_setfield(L, -2, "__mode"); /* metatable(w).__mode = "kv" */ lua_pushcclosure(L, luaB_newproxy, 1); lua_setglobal(L, "newproxy"); /* set global `newproxy' */ } LUALIB_API int luaopen_base (lua_State *L) { base_open(L); luaL_register(L, LUA_COLIBNAME, co_funcs); return 2; } gtk-engines-2.20.2/engines/lua/src/liblua/ldblib.c0000644000175000017500000002341211451352576016610 00000000000000/* ** $Id$ ** Interface from Lua to its debug API ** See Copyright Notice in lua.h */ #include #include #include #define ldblib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" static int db_getregistry (lua_State *L) { lua_pushvalue(L, LUA_REGISTRYINDEX); return 1; } static int db_getmetatable (lua_State *L) { luaL_checkany(L, 1); if (!lua_getmetatable(L, 1)) { lua_pushnil(L); /* no metatable */ } return 1; } static int db_setmetatable (lua_State *L) { int t = lua_type(L, 2); luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2, "nil or table expected"); lua_settop(L, 2); lua_pushboolean(L, lua_setmetatable(L, 1)); return 1; } static int db_getfenv (lua_State *L) { lua_getfenv(L, 1); return 1; } static int db_setfenv (lua_State *L) { luaL_checktype(L, 2, LUA_TTABLE); lua_settop(L, 2); if (lua_setfenv(L, 1) == 0) luaL_error(L, LUA_QL("setfenv") " cannot change environment of given object"); return 1; } static void settabss (lua_State *L, const char *i, const char *v) { lua_pushstring(L, v); lua_setfield(L, -2, i); } static void settabsi (lua_State *L, const char *i, int v) { lua_pushinteger(L, v); lua_setfield(L, -2, i); } static lua_State *getthread (lua_State *L, int *arg) { if (lua_isthread(L, 1)) { *arg = 1; return lua_tothread(L, 1); } else { *arg = 0; return L; } } static void treatstackoption (lua_State *L, lua_State *L1, const char *fname) { if (L == L1) { lua_pushvalue(L, -2); lua_remove(L, -3); } else lua_xmove(L1, L, 1); lua_setfield(L, -2, fname); } static int db_getinfo (lua_State *L) { lua_Debug ar; int arg; lua_State *L1 = getthread(L, &arg); const char *options = luaL_optstring(L, arg+2, "flnSu"); if (lua_isnumber(L, arg+1)) { if (!lua_getstack(L1, (int)lua_tointeger(L, arg+1), &ar)) { lua_pushnil(L); /* level out of range */ return 1; } } else if (lua_isfunction(L, arg+1)) { lua_pushfstring(L, ">%s", options); options = lua_tostring(L, -1); lua_pushvalue(L, arg+1); lua_xmove(L, L1, 1); } else return luaL_argerror(L, arg+1, "function or level expected"); if (!lua_getinfo(L1, options, &ar)) return luaL_argerror(L, arg+2, "invalid option"); lua_createtable(L, 0, 2); if (strchr(options, 'S')) { settabss(L, "source", ar.source); settabss(L, "short_src", ar.short_src); settabsi(L, "linedefined", ar.linedefined); settabsi(L, "lastlinedefined", ar.lastlinedefined); settabss(L, "what", ar.what); } if (strchr(options, 'l')) settabsi(L, "currentline", ar.currentline); if (strchr(options, 'u')) settabsi(L, "nups", ar.nups); if (strchr(options, 'n')) { settabss(L, "name", ar.name); settabss(L, "namewhat", ar.namewhat); } if (strchr(options, 'L')) treatstackoption(L, L1, "activelines"); if (strchr(options, 'f')) treatstackoption(L, L1, "func"); return 1; /* return table */ } static int db_getlocal (lua_State *L) { int arg; lua_State *L1 = getthread(L, &arg); lua_Debug ar; const char *name; if (!lua_getstack(L1, luaL_checkint(L, arg+1), &ar)) /* out of range? */ return luaL_argerror(L, arg+1, "level out of range"); name = lua_getlocal(L1, &ar, luaL_checkint(L, arg+2)); if (name) { lua_xmove(L1, L, 1); lua_pushstring(L, name); lua_pushvalue(L, -2); return 2; } else { lua_pushnil(L); return 1; } } static int db_setlocal (lua_State *L) { int arg; lua_State *L1 = getthread(L, &arg); lua_Debug ar; if (!lua_getstack(L1, luaL_checkint(L, arg+1), &ar)) /* out of range? */ return luaL_argerror(L, arg+1, "level out of range"); luaL_checkany(L, arg+3); lua_settop(L, arg+3); lua_xmove(L, L1, 1); lua_pushstring(L, lua_setlocal(L1, &ar, luaL_checkint(L, arg+2))); return 1; } static int auxupvalue (lua_State *L, int get) { const char *name; int n = luaL_checkint(L, 2); luaL_checktype(L, 1, LUA_TFUNCTION); if (lua_iscfunction(L, 1)) return 0; /* cannot touch C upvalues from Lua */ name = get ? lua_getupvalue(L, 1, n) : lua_setupvalue(L, 1, n); if (name == NULL) return 0; lua_pushstring(L, name); lua_insert(L, -(get+1)); return get + 1; } static int db_getupvalue (lua_State *L) { return auxupvalue(L, 1); } static int db_setupvalue (lua_State *L) { luaL_checkany(L, 3); return auxupvalue(L, 0); } static const char KEY_HOOK = 'h'; static void hookf (lua_State *L, lua_Debug *ar) { static const char *const hooknames[] = {"call", "return", "line", "count", "tail return"}; lua_pushlightuserdata(L, (void *)&KEY_HOOK); lua_rawget(L, LUA_REGISTRYINDEX); lua_pushlightuserdata(L, L); lua_rawget(L, -2); if (lua_isfunction(L, -1)) { lua_pushstring(L, hooknames[(int)ar->event]); if (ar->currentline >= 0) lua_pushinteger(L, ar->currentline); else lua_pushnil(L); lua_assert(lua_getinfo(L, "lS", ar)); lua_call(L, 2, 0); } } static int makemask (const char *smask, int count) { int mask = 0; if (strchr(smask, 'c')) mask |= LUA_MASKCALL; if (strchr(smask, 'r')) mask |= LUA_MASKRET; if (strchr(smask, 'l')) mask |= LUA_MASKLINE; if (count > 0) mask |= LUA_MASKCOUNT; return mask; } static char *unmakemask (int mask, char *smask) { int i = 0; if (mask & LUA_MASKCALL) smask[i++] = 'c'; if (mask & LUA_MASKRET) smask[i++] = 'r'; if (mask & LUA_MASKLINE) smask[i++] = 'l'; smask[i] = '\0'; return smask; } static void gethooktable (lua_State *L) { lua_pushlightuserdata(L, (void *)&KEY_HOOK); lua_rawget(L, LUA_REGISTRYINDEX); if (!lua_istable(L, -1)) { lua_pop(L, 1); lua_createtable(L, 0, 1); lua_pushlightuserdata(L, (void *)&KEY_HOOK); lua_pushvalue(L, -2); lua_rawset(L, LUA_REGISTRYINDEX); } } static int db_sethook (lua_State *L) { int arg; lua_State *L1 = getthread(L, &arg); if (lua_isnoneornil(L, arg+1)) { lua_settop(L, arg+1); lua_sethook(L1, NULL, 0, 0); /* turn off hooks */ } else { const char *smask = luaL_checkstring(L, arg+2); int count = luaL_optint(L, arg+3, 0); luaL_checktype(L, arg+1, LUA_TFUNCTION); lua_sethook(L1, hookf, makemask(smask, count), count); } gethooktable(L1); lua_pushlightuserdata(L1, L1); lua_pushvalue(L, arg+1); lua_xmove(L, L1, 1); lua_rawset(L1, -3); /* set new hook */ lua_pop(L1, 1); /* remove hook table */ return 0; } static int db_gethook (lua_State *L) { int arg; lua_State *L1 = getthread(L, &arg); char buff[5]; int mask = lua_gethookmask(L1); lua_Hook hook = lua_gethook(L1); if (hook != NULL && hook != hookf) /* external hook? */ lua_pushliteral(L, "external hook"); else { gethooktable(L1); lua_pushlightuserdata(L1, L1); lua_rawget(L1, -2); /* get hook */ lua_remove(L1, -2); /* remove hook table */ lua_xmove(L1, L, 1); } lua_pushstring(L, unmakemask(mask, buff)); lua_pushinteger(L, lua_gethookcount(L1)); return 3; } static int db_debug (lua_State *L) { for (;;) { char buffer[250]; fputs("lua_debug> ", stderr); if (fgets(buffer, sizeof(buffer), stdin) == 0 || strcmp(buffer, "cont\n") == 0) return 0; if (luaL_loadbuffer(L, buffer, strlen(buffer), "=(debug command)") || lua_pcall(L, 0, 0, 0)) { fputs(lua_tostring(L, -1), stderr); fputs("\n", stderr); } lua_settop(L, 0); /* remove eventual returns */ } } #define LEVELS1 12 /* size of the first part of the stack */ #define LEVELS2 10 /* size of the second part of the stack */ static int db_errorfb (lua_State *L) { int level; int firstpart = 1; /* still before eventual `...' */ int arg; lua_State *L1 = getthread(L, &arg); lua_Debug ar; if (lua_isnumber(L, arg+2)) { level = (int)lua_tointeger(L, arg+2); lua_pop(L, 1); } else level = (L == L1) ? 1 : 0; /* level 0 may be this own function */ if (lua_gettop(L) == arg) lua_pushliteral(L, ""); else if (!lua_isstring(L, arg+1)) return 1; /* message is not a string */ else lua_pushliteral(L, "\n"); lua_pushliteral(L, "stack traceback:"); while (lua_getstack(L1, level++, &ar)) { if (level > LEVELS1 && firstpart) { /* no more than `LEVELS2' more levels? */ if (!lua_getstack(L1, level+LEVELS2, &ar)) level--; /* keep going */ else { lua_pushliteral(L, "\n\t..."); /* too many levels */ while (lua_getstack(L1, level+LEVELS2, &ar)) /* find last levels */ level++; } firstpart = 0; continue; } lua_pushliteral(L, "\n\t"); lua_getinfo(L1, "Snl", &ar); lua_pushfstring(L, "%s:", ar.short_src); if (ar.currentline > 0) lua_pushfstring(L, "%d:", ar.currentline); if (*ar.namewhat != '\0') /* is there a name? */ lua_pushfstring(L, " in function " LUA_QS, ar.name); else { if (*ar.what == 'm') /* main? */ lua_pushfstring(L, " in main chunk"); else if (*ar.what == 'C' || *ar.what == 't') lua_pushliteral(L, " ?"); /* C function or tail call */ else lua_pushfstring(L, " in function <%s:%d>", ar.short_src, ar.linedefined); } lua_concat(L, lua_gettop(L) - arg); } lua_concat(L, lua_gettop(L) - arg); return 1; } static const luaL_Reg dblib[] = { {"debug", db_debug}, {"getfenv", db_getfenv}, {"gethook", db_gethook}, {"getinfo", db_getinfo}, {"getlocal", db_getlocal}, {"getregistry", db_getregistry}, {"getmetatable", db_getmetatable}, {"getupvalue", db_getupvalue}, {"setfenv", db_setfenv}, {"sethook", db_sethook}, {"setlocal", db_setlocal}, {"setmetatable", db_setmetatable}, {"setupvalue", db_setupvalue}, {"traceback", db_errorfb}, {NULL, NULL} }; LUALIB_API int luaopen_debug (lua_State *L) { luaL_register(L, LUA_DBLIBNAME, dblib); return 1; } gtk-engines-2.20.2/engines/lua/src/liblua/lmathlib.c0000644000175000017500000001321711451352576017156 00000000000000/* ** $Id$ ** Standard mathematical library ** See Copyright Notice in lua.h */ #include #include #define lmathlib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" #undef PI #define PI (3.14159265358979323846) #define RADIANS_PER_DEGREE (PI/180.0) static int math_abs (lua_State *L) { lua_pushnumber(L, fabs(luaL_checknumber(L, 1))); return 1; } static int math_sin (lua_State *L) { lua_pushnumber(L, sin(luaL_checknumber(L, 1))); return 1; } static int math_sinh (lua_State *L) { lua_pushnumber(L, sinh(luaL_checknumber(L, 1))); return 1; } static int math_cos (lua_State *L) { lua_pushnumber(L, cos(luaL_checknumber(L, 1))); return 1; } static int math_cosh (lua_State *L) { lua_pushnumber(L, cosh(luaL_checknumber(L, 1))); return 1; } static int math_tan (lua_State *L) { lua_pushnumber(L, tan(luaL_checknumber(L, 1))); return 1; } static int math_tanh (lua_State *L) { lua_pushnumber(L, tanh(luaL_checknumber(L, 1))); return 1; } static int math_asin (lua_State *L) { lua_pushnumber(L, asin(luaL_checknumber(L, 1))); return 1; } static int math_acos (lua_State *L) { lua_pushnumber(L, acos(luaL_checknumber(L, 1))); return 1; } static int math_atan (lua_State *L) { lua_pushnumber(L, atan(luaL_checknumber(L, 1))); return 1; } static int math_atan2 (lua_State *L) { lua_pushnumber(L, atan2(luaL_checknumber(L, 1), luaL_checknumber(L, 2))); return 1; } static int math_ceil (lua_State *L) { lua_pushnumber(L, ceil(luaL_checknumber(L, 1))); return 1; } static int math_floor (lua_State *L) { lua_pushnumber(L, floor(luaL_checknumber(L, 1))); return 1; } static int math_fmod (lua_State *L) { lua_pushnumber(L, fmod(luaL_checknumber(L, 1), luaL_checknumber(L, 2))); return 1; } static int math_modf (lua_State *L) { double ip; double fp = modf(luaL_checknumber(L, 1), &ip); lua_pushnumber(L, ip); lua_pushnumber(L, fp); return 2; } static int math_sqrt (lua_State *L) { lua_pushnumber(L, sqrt(luaL_checknumber(L, 1))); return 1; } static int math_pow (lua_State *L) { lua_pushnumber(L, pow(luaL_checknumber(L, 1), luaL_checknumber(L, 2))); return 1; } static int math_log (lua_State *L) { lua_pushnumber(L, log(luaL_checknumber(L, 1))); return 1; } static int math_log10 (lua_State *L) { lua_pushnumber(L, log10(luaL_checknumber(L, 1))); return 1; } static int math_exp (lua_State *L) { lua_pushnumber(L, exp(luaL_checknumber(L, 1))); return 1; } static int math_deg (lua_State *L) { lua_pushnumber(L, luaL_checknumber(L, 1)/RADIANS_PER_DEGREE); return 1; } static int math_rad (lua_State *L) { lua_pushnumber(L, luaL_checknumber(L, 1)*RADIANS_PER_DEGREE); return 1; } static int math_frexp (lua_State *L) { int e; lua_pushnumber(L, frexp(luaL_checknumber(L, 1), &e)); lua_pushinteger(L, e); return 2; } static int math_ldexp (lua_State *L) { lua_pushnumber(L, ldexp(luaL_checknumber(L, 1), luaL_checkint(L, 2))); return 1; } static int math_min (lua_State *L) { int n = lua_gettop(L); /* number of arguments */ lua_Number dmin = luaL_checknumber(L, 1); int i; for (i=2; i<=n; i++) { lua_Number d = luaL_checknumber(L, i); if (d < dmin) dmin = d; } lua_pushnumber(L, dmin); return 1; } static int math_max (lua_State *L) { int n = lua_gettop(L); /* number of arguments */ lua_Number dmax = luaL_checknumber(L, 1); int i; for (i=2; i<=n; i++) { lua_Number d = luaL_checknumber(L, i); if (d > dmax) dmax = d; } lua_pushnumber(L, dmax); return 1; } static int math_random (lua_State *L) { /* the `%' avoids the (rare) case of r==1, and is needed also because on some systems (SunOS!) `rand()' may return a value larger than RAND_MAX */ lua_Number r = (lua_Number)(rand()%RAND_MAX) / (lua_Number)RAND_MAX; switch (lua_gettop(L)) { /* check number of arguments */ case 0: { /* no arguments */ lua_pushnumber(L, r); /* Number between 0 and 1 */ break; } case 1: { /* only upper limit */ int u = luaL_checkint(L, 1); luaL_argcheck(L, 1<=u, 1, "interval is empty"); lua_pushnumber(L, floor(r*u)+1); /* int between 1 and `u' */ break; } case 2: { /* lower and upper limits */ int l = luaL_checkint(L, 1); int u = luaL_checkint(L, 2); luaL_argcheck(L, l<=u, 2, "interval is empty"); lua_pushnumber(L, floor(r*(u-l+1))+l); /* int between `l' and `u' */ break; } default: return luaL_error(L, "wrong number of arguments"); } return 1; } static int math_randomseed (lua_State *L) { srand(luaL_checkint(L, 1)); return 0; } static const luaL_Reg mathlib[] = { {"abs", math_abs}, {"acos", math_acos}, {"asin", math_asin}, {"atan2", math_atan2}, {"atan", math_atan}, {"ceil", math_ceil}, {"cosh", math_cosh}, {"cos", math_cos}, {"deg", math_deg}, {"exp", math_exp}, {"floor", math_floor}, {"fmod", math_fmod}, {"frexp", math_frexp}, {"ldexp", math_ldexp}, {"log10", math_log10}, {"log", math_log}, {"max", math_max}, {"min", math_min}, {"modf", math_modf}, {"pow", math_pow}, {"rad", math_rad}, {"random", math_random}, {"randomseed", math_randomseed}, {"sinh", math_sinh}, {"sin", math_sin}, {"sqrt", math_sqrt}, {"tanh", math_tanh}, {"tan", math_tan}, {NULL, NULL} }; /* ** Open math library */ LUALIB_API int luaopen_math (lua_State *L) { luaL_register(L, LUA_MATHLIBNAME, mathlib); lua_pushnumber(L, PI); lua_setfield(L, -2, "pi"); lua_pushnumber(L, HUGE_VAL); lua_setfield(L, -2, "huge"); #if defined(LUA_COMPAT_MOD) lua_getfield(L, -1, "fmod"); lua_setfield(L, -2, "mod"); #endif return 1; } gtk-engines-2.20.2/engines/lua/src/liblua/loadlib.c0000644000175000017500000004500411451352576016767 00000000000000/* ** $Id$ ** Dynamic library loader for Lua ** See Copyright Notice in lua.h ** ** This module contains an implementation of loadlib for Unix systems ** that have dlfcn, an implementation for Darwin (Mac OS X), an ** implementation for Windows, and a stub for other systems. */ #include #include #define loadlib_c #define LUA_LIB #include "lauxlib.h" #include "lobject.h" #include "lua.h" #include "lualib.h" /* prefix for open functions in C libraries */ #define LUA_POF "luaopen_" /* separator for open functions in C libraries */ #define LUA_OFSEP "_" #define LIBPREFIX "LOADLIB: " #define POF LUA_POF #define LIB_FAIL "open" /* error codes for ll_loadfunc */ #define ERRLIB 1 #define ERRFUNC 2 #define setprogdir(L) ((void)0) static void ll_unloadlib (void *lib); static void *ll_load (lua_State *L, const char *path); static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym); #if defined(LUA_DL_DLOPEN) /* ** {======================================================================== ** This is an implementation of loadlib based on the dlfcn interface. ** The dlfcn interface is available in Linux, SunOS, Solaris, IRIX, FreeBSD, ** NetBSD, AIX 4.2, HPUX 11, and probably most other Unix flavors, at least ** as an emulation layer on top of native functions. ** ========================================================================= */ #include static void ll_unloadlib (void *lib) { dlclose(lib); } static void *ll_load (lua_State *L, const char *path) { void *lib = dlopen(path, RTLD_NOW); if (lib == NULL) lua_pushstring(L, dlerror()); return lib; } static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { lua_CFunction f = (lua_CFunction)dlsym(lib, sym); if (f == NULL) lua_pushstring(L, dlerror()); return f; } /* }====================================================== */ #elif defined(LUA_DL_DLL) /* ** {====================================================================== ** This is an implementation of loadlib for Windows using native functions. ** ======================================================================= */ #include #undef setprogdir static void setprogdir (lua_State *L) { char buff[MAX_PATH + 1]; char *lb; DWORD nsize = sizeof(buff)/sizeof(char); DWORD n = GetModuleFileName(NULL, buff, nsize); if (n == 0 || n == nsize || (lb = strrchr(buff, '\\')) == NULL) luaL_error(L, "unable to get ModuleFileName"); else { *lb = '\0'; luaL_gsub(L, lua_tostring(L, -1), LUA_EXECDIR, buff); lua_remove(L, -2); /* remove original string */ } } static void pusherror (lua_State *L) { int error = GetLastError(); char buffer[128]; if (FormatMessage(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, NULL, error, 0, buffer, sizeof(buffer), NULL)) lua_pushstring(L, buffer); else lua_pushfstring(L, "system error %d\n", error); } static void ll_unloadlib (void *lib) { FreeLibrary((HINSTANCE)lib); } static void *ll_load (lua_State *L, const char *path) { HINSTANCE lib = LoadLibrary(path); if (lib == NULL) pusherror(L); return lib; } static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { lua_CFunction f = (lua_CFunction)GetProcAddress((HINSTANCE)lib, sym); if (f == NULL) pusherror(L); return f; } /* }====================================================== */ #elif defined(LUA_DL_DYLD) /* ** {====================================================================== ** Native Mac OS X / Darwin Implementation ** ======================================================================= */ #include /* Mac appends a `_' before C function names */ #undef POF #define POF "_" LUA_POF static void pusherror (lua_State *L) { const char *err_str; const char *err_file; NSLinkEditErrors err; int err_num; NSLinkEditError(&err, &err_num, &err_file, &err_str); lua_pushstring(L, err_str); } static const char *errorfromcode (NSObjectFileImageReturnCode ret) { switch (ret) { case NSObjectFileImageInappropriateFile: return "file is not a bundle"; case NSObjectFileImageArch: return "library is for wrong CPU type"; case NSObjectFileImageFormat: return "bad format"; case NSObjectFileImageAccess: return "cannot access file"; case NSObjectFileImageFailure: default: return "unable to load library"; } } static void ll_unloadlib (void *lib) { NSUnLinkModule((NSModule)lib, NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES); } static void *ll_load (lua_State *L, const char *path) { NSObjectFileImage img; NSObjectFileImageReturnCode ret; /* this would be a rare case, but prevents crashing if it happens */ if(!_dyld_present()) { lua_pushliteral(L, "dyld not present"); return NULL; } ret = NSCreateObjectFileImageFromFile(path, &img); if (ret == NSObjectFileImageSuccess) { NSModule mod = NSLinkModule(img, path, NSLINKMODULE_OPTION_PRIVATE | NSLINKMODULE_OPTION_RETURN_ON_ERROR); NSDestroyObjectFileImage(img); if (mod == NULL) pusherror(L); return mod; } lua_pushstring(L, errorfromcode(ret)); return NULL; } static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { NSSymbol nss = NSLookupSymbolInModule((NSModule)lib, sym); if (nss == NULL) { lua_pushfstring(L, "symbol " LUA_QS " not found", sym); return NULL; } return (lua_CFunction)NSAddressOfSymbol(nss); } /* }====================================================== */ #else /* ** {====================================================== ** Fallback for other systems ** ======================================================= */ #undef LIB_FAIL #define LIB_FAIL "absent" #define DLMSG "dynamic libraries not enabled; check your Lua installation" static void ll_unloadlib (void *lib) { (void)lib; /* to avoid warnings */ } static void *ll_load (lua_State *L, const char *path) { (void)path; /* to avoid warnings */ lua_pushliteral(L, DLMSG); return NULL; } static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { (void)lib; (void)sym; /* to avoid warnings */ lua_pushliteral(L, DLMSG); return NULL; } /* }====================================================== */ #endif static void **ll_register (lua_State *L, const char *path) { void **plib; lua_pushfstring(L, "%s%s", LIBPREFIX, path); lua_gettable(L, LUA_REGISTRYINDEX); /* check library in registry? */ if (!lua_isnil(L, -1)) /* is there an entry? */ plib = (void **)lua_touserdata(L, -1); else { /* no entry yet; create one */ lua_pop(L, 1); plib = (void **)lua_newuserdata(L, sizeof(const void *)); *plib = NULL; luaL_getmetatable(L, "_LOADLIB"); lua_setmetatable(L, -2); lua_pushfstring(L, "%s%s", LIBPREFIX, path); lua_pushvalue(L, -2); lua_settable(L, LUA_REGISTRYINDEX); } return plib; } /* ** __gc tag method: calls library's `ll_unloadlib' function with the lib ** handle */ static int gctm (lua_State *L) { void **lib = (void **)luaL_checkudata(L, 1, "_LOADLIB"); if (*lib) ll_unloadlib(*lib); *lib = NULL; /* mark library as closed */ return 0; } static int ll_loadfunc (lua_State *L, const char *path, const char *sym) { void **reg = ll_register(L, path); if (*reg == NULL) *reg = ll_load(L, path); if (*reg == NULL) return ERRLIB; /* unable to load library */ else { lua_CFunction f = ll_sym(L, *reg, sym); if (f == NULL) return ERRFUNC; /* unable to find function */ lua_pushcfunction(L, f); return 0; /* return function */ } } static int ll_loadlib (lua_State *L) { const char *path = luaL_checkstring(L, 1); const char *init = luaL_checkstring(L, 2); int stat = ll_loadfunc(L, path, init); if (stat == 0) /* no errors? */ return 1; /* return the loaded function */ else { /* error; error message is on stack top */ lua_pushnil(L); lua_insert(L, -2); lua_pushstring(L, (stat == ERRLIB) ? LIB_FAIL : "init"); return 3; /* return nil, error message, and where */ } } /* ** {====================================================== ** 'require' function ** ======================================================= */ static int readable (const char *filename) { FILE *f = fopen(filename, "r"); /* try to open file */ if (f == NULL) return 0; /* open failed */ fclose(f); return 1; } static const char *pushnexttemplate (lua_State *L, const char *path) { const char *l; while (*path == *LUA_PATHSEP) path++; /* skip separators */ if (*path == '\0') return NULL; /* no more templates */ l = strchr(path, *LUA_PATHSEP); /* find next separator */ if (l == NULL) l = path + strlen(path); lua_pushlstring(L, path, l - path); /* template */ return l; } static const char *findfile (lua_State *L, const char *name, const char *pname) { const char *path; name = luaL_gsub(L, name, ".", LUA_DIRSEP); lua_getfield(L, LUA_ENVIRONINDEX, pname); path = lua_tostring(L, -1); if (path == NULL) luaL_error(L, LUA_QL("package.%s") " must be a string", pname); lua_pushstring(L, ""); /* error accumulator */ while ((path = pushnexttemplate(L, path)) != NULL) { const char *filename; filename = luaL_gsub(L, lua_tostring(L, -1), LUA_PATH_MARK, name); if (readable(filename)) /* does file exist and is readable? */ return filename; /* return that file name */ lua_pop(L, 2); /* remove path template and file name */ luaO_pushfstring(L, "\n\tno file " LUA_QS, filename); lua_concat(L, 2); } return NULL; /* not found */ } static void loaderror (lua_State *L, const char *filename) { luaL_error(L, "error loading module " LUA_QS " from file " LUA_QS ":\n\t%s", lua_tostring(L, 1), filename, lua_tostring(L, -1)); } static int loader_Lua (lua_State *L) { const char *filename; const char *name = luaL_checkstring(L, 1); filename = findfile(L, name, "path"); if (filename == NULL) return 1; /* library not found in this path */ if (luaL_loadfile(L, filename) != 0) loaderror(L, filename); return 1; /* library loaded successfully */ } static const char *mkfuncname (lua_State *L, const char *modname) { const char *funcname; const char *mark = strchr(modname, *LUA_IGMARK); if (mark) modname = mark + 1; funcname = luaL_gsub(L, modname, ".", LUA_OFSEP); funcname = lua_pushfstring(L, POF"%s", funcname); lua_remove(L, -2); /* remove 'gsub' result */ return funcname; } static int loader_C (lua_State *L) { const char *funcname; const char *name = luaL_checkstring(L, 1); const char *filename = findfile(L, name, "cpath"); if (filename == NULL) return 1; /* library not found in this path */ funcname = mkfuncname(L, name); if (ll_loadfunc(L, filename, funcname) != 0) loaderror(L, filename); return 1; /* library loaded successfully */ } static int loader_Croot (lua_State *L) { const char *funcname; const char *filename; const char *name = luaL_checkstring(L, 1); const char *p = strchr(name, '.'); int stat; if (p == NULL) return 0; /* is root */ lua_pushlstring(L, name, p - name); filename = findfile(L, lua_tostring(L, -1), "cpath"); if (filename == NULL) return 1; /* root not found */ funcname = mkfuncname(L, name); if ((stat = ll_loadfunc(L, filename, funcname)) != 0) { if (stat != ERRFUNC) loaderror(L, filename); /* real error */ luaO_pushfstring(L, "\n\tno module " LUA_QS " in file " LUA_QS, name, filename); return 1; /* function not found */ } return 1; } static int loader_preload (lua_State *L) { const char *name = luaL_checkstring(L, 1); lua_getfield(L, LUA_ENVIRONINDEX, "preload"); if (!lua_istable(L, -1)) luaL_error(L, LUA_QL("package.preload") " must be a table"); lua_getfield(L, -1, name); if (lua_isnil(L, -1)) /* not found? */ luaO_pushfstring(L, "\n\tno field package.preload['%s']", name); return 1; } static const int sentinel_ = 0; #define sentinel ((void *)&sentinel_) static int ll_require (lua_State *L) { const char *name = luaL_checkstring(L, 1); int i; lua_settop(L, 1); /* _LOADED table will be at index 2 */ lua_getfield(L, LUA_REGISTRYINDEX, "_LOADED"); lua_getfield(L, 2, name); if (lua_toboolean(L, -1)) { /* is it there? */ if (lua_touserdata(L, -1) == sentinel) /* check loops */ luaL_error(L, "loop or previous error loading module " LUA_QS, name); return 1; /* package is already loaded */ } /* else must load it; iterate over available loaders */ lua_getfield(L, LUA_ENVIRONINDEX, "loaders"); if (!lua_istable(L, -1)) luaL_error(L, LUA_QL("package.loaders") " must be a table"); lua_pushstring(L, ""); /* error message accumulator */ for (i=1; ; i++) { lua_rawgeti(L, -2, i); /* get a loader */ if (lua_isnil(L, -1)) luaL_error(L, "module " LUA_QS " not found:%s", name, lua_tostring(L, -2)); lua_pushstring(L, name); lua_call(L, 1, 1); /* call it */ if (lua_isfunction(L, -1)) /* did it find module? */ break; /* module loaded successfully */ else if (lua_isstring(L, -1)) /* loader returned error message? */ lua_concat(L, 2); /* accumulate it */ else lua_pop(L, 1); } lua_pushlightuserdata(L, sentinel); lua_setfield(L, 2, name); /* _LOADED[name] = sentinel */ lua_pushstring(L, name); /* pass name as argument to module */ lua_call(L, 1, 1); /* run loaded module */ if (!lua_isnil(L, -1)) /* non-nil return? */ lua_setfield(L, 2, name); /* _LOADED[name] = returned value */ lua_getfield(L, 2, name); if (lua_touserdata(L, -1) == sentinel) { /* module did not set a value? */ lua_pushboolean(L, 1); /* use true as result */ lua_pushvalue(L, -1); /* extra copy to be returned */ lua_setfield(L, 2, name); /* _LOADED[name] = true */ } return 1; } /* }====================================================== */ /* ** {====================================================== ** 'module' function ** ======================================================= */ static void setfenv (lua_State *L) { lua_Debug ar; lua_getstack(L, 1, &ar); lua_getinfo(L, "f", &ar); lua_pushvalue(L, -2); lua_setfenv(L, -2); lua_pop(L, 1); } static void dooptions (lua_State *L, int n) { int i; for (i = 2; i <= n; i++) { lua_pushvalue(L, i); /* get option (a function) */ lua_pushvalue(L, -2); /* module */ lua_call(L, 1, 0); } } static void modinit (lua_State *L, const char *modname) { const char *dot; lua_pushvalue(L, -1); lua_setfield(L, -2, "_M"); /* module._M = module */ lua_pushstring(L, modname); lua_setfield(L, -2, "_NAME"); dot = strrchr(modname, '.'); /* look for last dot in module name */ if (dot == NULL) dot = modname; else dot++; /* set _PACKAGE as package name (full module name minus last part) */ lua_pushlstring(L, modname, dot - modname); lua_setfield(L, -2, "_PACKAGE"); } static int ll_module (lua_State *L) { const char *modname = luaL_checkstring(L, 1); int loaded = lua_gettop(L) + 1; /* index of _LOADED table */ lua_getfield(L, LUA_REGISTRYINDEX, "_LOADED"); lua_getfield(L, loaded, modname); /* get _LOADED[modname] */ if (!lua_istable(L, -1)) { /* not found? */ lua_pop(L, 1); /* remove previous result */ /* try global variable (and create one if it does not exist) */ if (luaL_findtable(L, LUA_GLOBALSINDEX, modname, 1) != NULL) return luaL_error(L, "name conflict for module " LUA_QS, modname); lua_pushvalue(L, -1); lua_setfield(L, loaded, modname); /* _LOADED[modname] = new table */ } /* check whether table already has a _NAME field */ lua_getfield(L, -1, "_NAME"); if (!lua_isnil(L, -1)) /* is table an initialized module? */ lua_pop(L, 1); else { /* no; initialize it */ lua_pop(L, 1); modinit(L, modname); } lua_pushvalue(L, -1); setfenv(L); dooptions(L, loaded - 1); return 0; } static int ll_seeall (lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); if (!lua_getmetatable(L, 1)) { lua_createtable(L, 0, 1); /* create new metatable */ lua_pushvalue(L, -1); lua_setmetatable(L, 1); } lua_pushvalue(L, LUA_GLOBALSINDEX); lua_setfield(L, -2, "__index"); /* mt.__index = _G */ return 0; } /* }====================================================== */ /* auxiliary mark (for internal use) */ #define AUXMARK "\1" static void setpath (lua_State *L, const char *fieldname, const char *envname, const char *def) { const char *path = getenv(envname); if (path == NULL) /* no environment variable? */ lua_pushstring(L, def); /* use default */ else { /* replace ";;" by ";AUXMARK;" and then AUXMARK by default path */ path = luaL_gsub(L, path, LUA_PATHSEP LUA_PATHSEP, LUA_PATHSEP AUXMARK LUA_PATHSEP); luaL_gsub(L, path, AUXMARK, def); lua_remove(L, -2); } setprogdir(L); lua_setfield(L, -2, fieldname); } static const luaL_Reg pk_funcs[] = { {"loadlib", ll_loadlib}, {"seeall", ll_seeall}, {NULL, NULL} }; static const luaL_Reg ll_funcs[] = { {"module", ll_module}, {"require", ll_require}, {NULL, NULL} }; static const lua_CFunction loaders[] = {loader_preload, loader_Lua, loader_C, loader_Croot, NULL}; LUALIB_API int luaopen_package (lua_State *L) { int i; /* create new type _LOADLIB */ luaL_newmetatable(L, "_LOADLIB"); lua_pushcfunction(L, gctm); lua_setfield(L, -2, "__gc"); /* create `package' table */ luaL_register(L, LUA_LOADLIBNAME, pk_funcs); #if defined(LUA_COMPAT_LOADLIB) lua_getfield(L, -1, "loadlib"); lua_setfield(L, LUA_GLOBALSINDEX, "loadlib"); #endif lua_pushvalue(L, -1); lua_replace(L, LUA_ENVIRONINDEX); /* create `loaders' table */ lua_createtable(L, 0, sizeof(loaders)/sizeof(loaders[0]) - 1); /* fill it with pre-defined loaders */ for (i=0; loaders[i] != NULL; i++) { lua_pushcfunction(L, loaders[i]); lua_rawseti(L, -2, i+1); } lua_setfield(L, -2, "loaders"); /* put it in field `loaders' */ setpath(L, "path", LUA_PATH, LUA_PATH_DEFAULT); /* set field `path' */ setpath(L, "cpath", LUA_CPATH, LUA_CPATH_DEFAULT); /* set field `cpath' */ /* store config information */ lua_pushstring(L, LUA_DIRSEP "\n" LUA_PATHSEP "\n" LUA_PATH_MARK "\n" LUA_EXECDIR "\n" LUA_IGMARK); lua_setfield(L, -2, "config"); /* set field `loaded' */ luaL_findtable(L, LUA_REGISTRYINDEX, "_LOADED", 2); lua_setfield(L, -2, "loaded"); /* set field `preload' */ lua_newtable(L); lua_setfield(L, -2, "preload"); lua_pushvalue(L, LUA_GLOBALSINDEX); luaL_register(L, NULL, ll_funcs); /* open lib into global table */ lua_pop(L, 1); return 1; /* return 'package' table */ } gtk-engines-2.20.2/engines/lua/src/liblua/linit.c0000644000175000017500000000131011451352576016470 00000000000000/* ** $Id$ ** Initialization of libraries for lua.c ** See Copyright Notice in lua.h */ #define linit_c #define LUA_LIB #include "lua.h" #include "lualib.h" #include "lauxlib.h" static const luaL_Reg lualibs[] = { {"", luaopen_base}, {LUA_LOADLIBNAME, luaopen_package}, {LUA_TABLIBNAME, luaopen_table}, {LUA_IOLIBNAME, luaopen_io}, {LUA_OSLIBNAME, luaopen_os}, {LUA_STRLIBNAME, luaopen_string}, {LUA_MATHLIBNAME, luaopen_math}, {LUA_DBLIBNAME, luaopen_debug}, {NULL, NULL} }; LUALIB_API void luaL_openlibs (lua_State *L) { const luaL_Reg *lib = lualibs; for (; lib->func; lib++) { lua_pushcfunction(L, lib->func); lua_pushstring(L, lib->name); lua_call(L, 1, 0); } } gtk-engines-2.20.2/engines/lua/src/draw_lib.c0000644000175000017500000002501311451352576015672 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "draw_lib.h" #include "lauxlib.h" #include "lualib.h" #include "lua_utils.h" #include "draw_utils.h" static gdouble fetch_number_arg (lua_State *L, gchar *name, gdouble def) { gdouble ret; lua_getfield (L, 1, name); if (lua_isnumber (L, -1)) ret = lua_tonumber (L, -1); else ret = def; lua_pop (L, 1); return ret; } static gdouble fetch_boolean_arg (lua_State *L, gchar *name, gboolean def) { gboolean ret; lua_getfield (L, 1, name); if (lua_isboolean (L, -1)) ret = lua_toboolean (L, -1); else ret = def; lua_pop (L, 1); return ret; } static BezierPoint fetch_point (lua_State *L) { BezierPoint b; lua_rawgeti (L, -1, 1); b.x = luaL_checknumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, -1, 2); b.y = luaL_checknumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, -1, 3); if (!lua_isnumber (L, -1)) { b.is_bezier = FALSE; lua_pop (L, 1); return b; } else { b.is_bezier = TRUE; b.x1 = luaL_checknumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, -1, 4); b.y1 = luaL_checknumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, -1, 5); b.x2 = luaL_checknumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, -1, 6); b.y2 = luaL_checknumber (L, -1); lua_pop (L, 1); return b; } } static gboolean fetch_color (lua_State *L, gint index, CairoColor *color) { if (!lua_istable (L, index)) return FALSE; lua_rawgeti (L, index, 1); if (!lua_isnumber (L, -1)) return FALSE; color->r = lua_tonumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, index, 2); if (!lua_isnumber (L, -1)) return FALSE; color->g = lua_tonumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, index, 3); if (!lua_isnumber (L, -1)) return FALSE; color->b = lua_tonumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, index, 4); color->a = luaL_optnumber (L, -1, 1); lua_pop (L, 1); return TRUE; } static void push_color (lua_State *L, CairoColor color) { lua_newtable (L); lua_pushnumber (L, color.r); lua_rawseti (L, -2, 1); lua_pushnumber (L, color.g); lua_rawseti (L, -2, 2); lua_pushnumber (L, color.b); lua_rawseti (L, -2, 3); lua_pushnumber (L, color.a); lua_rawseti (L, -2, 4); } static void set_color_from (lua_State *L, gint index) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); CairoColor color; if (!lua_istable (L, index)) return; fetch_color (L, index, &color); cairo_set_source_rgba (cr, color.r, color.g, color.b, color.a); } static void set_gradient_from (lua_State *L, gint index) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); cairo_pattern_t *pattern = lua_utils_fetch_pointer (L, "pattern"); gdouble x1, y1, x2, y2, r1, r2; gboolean is_radial = TRUE; int i; gdouble a; CairoColor color; if (!lua_istable (L, index)) return; lua_getfield (L, index, "x1"); x1 = lua_tonumber (L, -1); lua_pop (L, 1); lua_getfield (L, index, "y1"); y1 = lua_tonumber (L, -1); lua_pop (L, 1); lua_getfield (L, index, "x2"); x2 = lua_tonumber (L, -1); lua_pop (L, 1); lua_getfield (L, index, "y2"); y2 = lua_tonumber (L, -1); lua_pop (L, 1); lua_getfield (L, index, "r1"); if (!lua_isnumber (L, -1)) is_radial = FALSE; else r1 = lua_tonumber (L, -1); lua_pop (L, 1); lua_getfield (L, index, "r2"); if (!lua_isnumber (L, -1)) is_radial = FALSE; else r2 = lua_tonumber (L, -1); lua_pop (L, 1); if (pattern) cairo_pattern_destroy (pattern); if (is_radial) pattern = cairo_pattern_create_radial (x1, y1, r1, x2, y2, r2); else pattern = cairo_pattern_create_linear (x1, y1, x2, y2); i = 1; while (TRUE) { lua_rawgeti (L, -1, i); if (!lua_istable (L, -1)) break; lua_rawgeti (L, -1, 1); a = lua_tonumber (L, -1); lua_pop (L, 1); lua_rawgeti (L, -1, 2); fetch_color (L, -1, &color); lua_pop (L, 1); cairo_pattern_add_color_stop_rgba (pattern, a, color.r, color.g, color.b, color.a); lua_pop (L, 1); i++; } cairo_set_source (cr, pattern); lua_utils_push_pointer (L, "pattern", pattern); } static void set_source_from_args (lua_State *L) { lua_getfield (L, 1, "color"); set_color_from (L, -1); lua_getfield (L, 1, "gradient"); set_gradient_from (L, -1); } /* Library functions start here */ static int alpha (lua_State *L) { CairoColor color; gdouble alpha; if (!fetch_color (L, 1, &color)) luaL_error (L, "Invalid color argument."); alpha = luaL_checknumber (L, 2); color.a = alpha; push_color (L, color); return 1; } static int shade (lua_State *L) { CairoColor color; gdouble adjust; if (!fetch_color (L, 1, &color)) luaL_error (L, "Invalid color argument."); adjust = luaL_checknumber (L, 2); ge_shade_color (&color, adjust, &color); push_color (L, color); return 1; } static int lighter (lua_State *L) { CairoColor color; if (!fetch_color (L, 1, &color)) luaL_error (L, "Invalid color argument."); ge_shade_color (&color, 1.3, &color); push_color (L, color); return 1; } static int darker (lua_State *L) { CairoColor color; if (!fetch_color (L, 1, &color)) luaL_error (L, "Invalid color argument."); ge_shade_color (&color, 0.7, &color); push_color (L, color); return 1; } static gint set_color (lua_State *L) { set_color_from (L, 1); } static gint set_gradient (lua_State *L) { set_gradient_from (L, 1); } static gint line (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); gdouble x1, y1, x2, y2; if (!lua_istable (L, 1)) return luaL_error (L, "Line function expects a table parameter.\n"); x1 = fetch_number_arg (L, "x1", 0); y1 = fetch_number_arg (L, "y1", 0); x2 = fetch_number_arg (L, "x2", 0); y2 = fetch_number_arg (L, "y2", 0); set_source_from_args (L); cairo_move_to (cr, x1+0.5, y1+0.5); cairo_line_to (cr, x2+0.5, y2+0.5); cairo_stroke (cr); } static gint rectangle (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); gdouble x, y, width, height, radius; gboolean filled, tl, tr, bl, br; if (!lua_istable (L, 1)) return luaL_error (L, "Rectangle function expects a table parameter.\n"); x = fetch_number_arg (L, "x", 0); y = fetch_number_arg (L, "y", 0); width = fetch_number_arg (L, "width", 0); height = fetch_number_arg (L, "height", 0); radius = fetch_number_arg (L, "radius", 0); tl = fetch_boolean_arg (L, "corner_topleft", TRUE); tr = fetch_boolean_arg (L, "corner_topright", TRUE); bl = fetch_boolean_arg (L, "corner_bottomleft", TRUE); br = fetch_boolean_arg (L, "corner bottomright", TRUE); filled = fetch_boolean_arg (L, "filled", FALSE); set_source_from_args (L); if (!filled) { gdouble lw = cairo_get_line_width (cr); x += lw/2.0; y += lw/2.0; width -= lw; height -= lw; } draw_rectangle (cr, x, y, width, height, radius, tl, tr, bl, br, filled); } static gint arc (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); gdouble x, y, radius, angle1, angle2; gboolean filled; if (!lua_istable (L, 1)) return luaL_error (L, "Arc function expects a table parameter.\n"); x = fetch_number_arg (L, "x", 0); y = fetch_number_arg (L, "y", 0); radius = fetch_number_arg (L, "radius", 0); angle1 = fetch_number_arg (L, "angle1", 0); angle2 = fetch_number_arg (L, "angle2", 0); filled = fetch_boolean_arg (L, "filled", FALSE); set_source_from_args (L); cairo_arc (cr, x, y, radius, angle1, angle2); if (filled) cairo_fill (cr); else cairo_stroke (cr); } static gint shape (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); BezierPoint sp, p; gboolean filled, closed; gboolean first = TRUE; gint i = 1; if (!lua_istable (L, 1)) return luaL_error (L, "Shape function expects a table parameter.\n"); filled = fetch_boolean_arg (L, "filled", FALSE); closed = fetch_boolean_arg (L, "closed", FALSE); set_source_from_args (L); cairo_save (cr); if (!filled) { gdouble lw = cairo_get_line_width (cr); cairo_translate (cr, lw/2.0, lw/2.0); } while (TRUE) { lua_rawgeti (L, 1, i); if (lua_istable (L, -1)) { p = fetch_point (L); if (first) { sp = p; cairo_move_to (cr, sp.x, sp.y); first = FALSE; } else { if (p.is_bezier) cairo_curve_to (cr, p.x1, p.y1, p.x2, p.y2, p.x, p.y); else cairo_line_to (cr, p.x, p.y); } lua_pop (L, 1); } else if (lua_isnil (L, -1)) { lua_pop (L, 1); break; } i++; } if (filled || closed) { if (sp.is_bezier) cairo_curve_to (cr, sp.x1, sp.y1, sp.x2, sp.y2, sp.x, sp.y); else cairo_line_to (cr, sp.x, sp.y); } if (filled) cairo_fill (cr); else cairo_stroke (cr); cairo_restore (cr); } static gint scale (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); gdouble x = luaL_checknumber (L, 1); gdouble y = luaL_checknumber (L, 2); cairo_set_line_width (cr, cairo_get_line_width (cr) / (float)x); cairo_scale (cr, x, y); } static gint translate (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); gdouble x = luaL_checknumber (L, 1); gdouble y = luaL_checknumber (L, 2); cairo_translate (cr, x, y); } static gint save (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); cairo_save (cr); } static gint restore (lua_State *L) { cairo_t *cr = lua_utils_fetch_pointer (L, "cairo"); cairo_restore (cr); } gboolean luaopen_draw (lua_State *L) { /* colour adjustment */ lua_register (L, "alpha", alpha); lua_register (L, "shade", shade); lua_register (L, "lighter", lighter); lua_register (L, "darker", darker); /* sources */ lua_register (L, "set_color", set_color); lua_register (L, "set_gradient", set_gradient); /* drawing ops */ lua_register (L, "line", line); lua_register (L, "rectangle", rectangle); lua_register (L, "arc", arc); lua_register (L, "shape", shape); /* misc cairo functions */ lua_register (L, "scale", scale); lua_register (L, "translate", translate); lua_register (L, "save", save); lua_register (L, "restore", restore); return TRUE; } gtk-engines-2.20.2/engines/lua/src/draw_lib.h0000644000175000017500000000220511451352576015675 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include "lua.h" #include "ge-support.h" typedef struct { gboolean is_bezier; gdouble x; gdouble y; gdouble x1; gdouble y1; gdouble x2; gdouble y2; } BezierPoint; GE_INTERNAL gboolean luaopen_draw (lua_State *L); gtk-engines-2.20.2/engines/lua/src/draw_utils.c0000644000175000017500000000403511451352576016265 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "draw_utils.h" static void rounded_rectangle (cairo_t *cr, gdouble x, gdouble y, gdouble w, gdouble h, gdouble radius, gboolean tl, gboolean tr, gboolean bl, gboolean br) { if (tl) cairo_move_to (cr, x+radius, y); else cairo_move_to (cr, x, y); if (tr) cairo_arc (cr, x+w-radius, y+radius, radius, G_PI * 1.5, G_PI * 2); else cairo_line_to (cr, x+w, y); if (br) cairo_arc (cr, x+w-radius, y+h-radius, radius, 0, G_PI * 0.5); else cairo_line_to (cr, x+w, y+h); if (bl) cairo_arc (cr, x+radius, y+h-radius, radius, G_PI * 0.5, G_PI); else cairo_line_to (cr, x, y+h); if (tl) cairo_arc (cr, x+radius, y+radius, radius, G_PI, G_PI * 1.5); else cairo_line_to (cr, x, y); } void draw_rectangle (cairo_t *cr, gdouble x, gdouble y, gdouble width, gdouble height, gdouble radius, gboolean tl, gboolean tr, gboolean bl, gboolean br, gboolean filled) { if (radius) rounded_rectangle (cr, x, y, width, height, radius, tl, tr, bl, br); else cairo_rectangle (cr, x, y, width, height); if (filled) cairo_fill (cr); else cairo_stroke (cr); } gtk-engines-2.20.2/engines/lua/src/draw_utils.h0000644000175000017500000000226711451352576016277 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include "ge-support.h" GE_INTERNAL void draw_rectangle (cairo_t *cr, gdouble x, gdouble y, gdouble width, gdouble height, gdouble radius, gboolean tl, gboolean tr, gboolean bl, gboolean br, gboolean filled); gtk-engines-2.20.2/engines/lua/src/lua_rc_style.c0000644000175000017500000001522511451352576016600 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "lua_style.h" #include "lua_rc_style.h" G_DEFINE_DYNAMIC_TYPE (LuaRcStyle, lua_rc_style, GTK_TYPE_RC_STYLE) static GtkStyle *lua_rc_style_create_style (GtkRcStyle *rc_style); static guint lua_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner); static void lua_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src); enum { TOKEN_THEME = G_TOKEN_LAST + 1, TOKEN_TRUE, TOKEN_FALSE }; static struct { const gchar *name; guint token; } gtk2_rc_symbols[] = { { "theme", TOKEN_THEME }, { "TRUE", TOKEN_TRUE }, { "FALSE", TOKEN_FALSE } }; void lua_rc_style_register_types (GTypeModule *module) { lua_rc_style_register_type (module); } static void lua_rc_style_init (LuaRcStyle *lua_rc) { /* FIXME: Uhm, this is BROKEN, at least at a later point a * non static string is assigned, and will NOT be freed. */ lua_rc->theme = ""; } static void lua_rc_style_class_init (LuaRcStyleClass *klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->parse = lua_rc_style_parse; rc_style_class->create_style = lua_rc_style_create_style; rc_style_class->merge = lua_rc_style_merge; } static void lua_rc_style_class_finalize (LuaRcStyleClass *klass) { } static guint gtk2_rc_parse_boolean (GtkSettings *settings, GScanner *scanner, gboolean *retval) { guint token; token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token == TOKEN_TRUE) *retval = TRUE; else if (token == TOKEN_FALSE) *retval = FALSE; else return TOKEN_TRUE; return G_TOKEN_NONE; } static guint gtk2_rc_parse_color(GtkSettings *settings, GScanner *scanner, GdkColor *color) { guint token; /* Skip 'blah_color' */ token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; return gtk_rc_parse_color (scanner, color); } static guint gtk2_rc_parse_contrast(GtkSettings *settings, GScanner *scanner, double *contrast) { guint token; /* Skip 'contrast' */ token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_FLOAT) return G_TOKEN_FLOAT; *contrast = scanner->value.v_float; return G_TOKEN_NONE; } static guint gtk2_rc_parse_int (GtkSettings *settings, GScanner *scanner, guint8 *progressbarstyle) { guint token; token = g_scanner_get_next_token(scanner); token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_INT) return G_TOKEN_INT; *progressbarstyle = scanner->value.v_int; return G_TOKEN_NONE; } static guint gtk2_rc_parse_theme (GtkSettings *settings, GScanner *scanner, gchar **theme) { guint token; token = g_scanner_get_next_token (scanner); token = g_scanner_get_next_token (scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_STRING) return G_TOKEN_STRING; *theme = g_strdup (scanner->value.v_string); return G_TOKEN_NONE; } static guint lua_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner) { static GQuark scope_id = 0; LuaRcStyle *lua_rc_style = LUA_RC_STYLE (rc_style); guint old_scope; guint token; guint i; /* Set up a new scope in this scanner. */ if (!scope_id) scope_id = g_quark_from_string("lua_theme_engine"); /* If we bail out due to errors, we *don't* reset the scope, so the * error messaging code can make sense of our tokens. */ old_scope = g_scanner_set_scope(scanner, scope_id); /* Now check if we already added our symbols to this scope * (in some previous call to estrela_rc_style_parse for the * same scanner. */ if (!g_scanner_lookup_symbol(scanner, gtk2_rc_symbols[0].name)) { for (i = 0; i < G_N_ELEMENTS (gtk2_rc_symbols); i++) g_scanner_scope_add_symbol(scanner, scope_id, gtk2_rc_symbols[i].name, GINT_TO_POINTER(gtk2_rc_symbols[i].token)); } /* We're ready to go, now parse the top level */ token = g_scanner_peek_next_token(scanner); while (token != G_TOKEN_RIGHT_CURLY) { switch (token) { case TOKEN_THEME: token = gtk2_rc_parse_theme (settings, scanner, &lua_rc_style->theme); break; default: g_scanner_get_next_token(scanner); token = G_TOKEN_RIGHT_CURLY; break; } if (token != G_TOKEN_NONE) return token; token = g_scanner_peek_next_token(scanner); } g_scanner_get_next_token(scanner); g_scanner_set_scope(scanner, old_scope); return G_TOKEN_NONE; } static void lua_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src) { LuaRcStyle *dest_w, *src_w; GTK_RC_STYLE_CLASS (lua_rc_style_parent_class)->merge (dest, src); if (!IS_LUA_RC_STYLE (src)) return; src_w = LUA_RC_STYLE (src); dest_w = LUA_RC_STYLE (dest); dest_w->theme = src_w->theme; } /* Create an empty style suitable to this RC style */ static GtkStyle * lua_rc_style_create_style (GtkRcStyle *rc_style) { return GTK_STYLE (g_object_new (TYPE_LUA_STYLE, NULL)); } gtk-engines-2.20.2/engines/lua/src/lua_rc_style.h0000644000175000017500000000354211451352576016604 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include "ge-support.h" typedef struct _LuaRcStyle LuaRcStyle; typedef struct _LuaRcStyleClass LuaRcStyleClass; #define TYPE_LUA_RC_STYLE (lua_rc_style_get_type ()) #define LUA_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TYPE_LUA_RC_STYLE, LuaRcStyle)) #define LUA_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LUA_RC_STYLE, LuaRcStyleClass)) #define IS_LUA_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TYPE_LUA_RC_STYLE)) #define IS_LUA_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LUA_RC_STYLE)) #define LUA_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LUA_RC_STYLE, LuaRcStyleClass)) struct _LuaRcStyle { GtkRcStyle parent_instance; gchar *theme; }; struct _LuaRcStyleClass { GtkRcStyleClass parent_class; }; GE_INTERNAL void lua_rc_style_register_types (GTypeModule *module); GE_INTERNAL GType lua_rc_style_get_type (void); gtk-engines-2.20.2/engines/lua/src/lua_style.c0000644000175000017500000005773511451352576016130 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include #include #include "lua.h" #include "lauxlib.h" #include "lualib.h" #include "lua_style.h" #include "lua_rc_style.h" #include "lua_utils.h" #include "misc_utils.h" /* #define DEBUG 1 */ #define DETAIL(xx) ((detail) && (!strcmp(xx, detail))) #define DRAW_ARGS GtkStyle *style, \ GdkWindow *window, \ GtkStateType state_type, \ GtkShadowType shadow_type, \ GdkRectangle *area, \ GtkWidget *widget, \ const gchar *detail, \ gint x, \ gint y, \ gint width, \ gint height G_DEFINE_DYNAMIC_TYPE (LuaStyle, lua_style, GTK_TYPE_STYLE) static gchar * get_name_for_state (gint state) { switch (state) { case GTK_STATE_NORMAL: return g_strdup ("NORMAL"); break; case GTK_STATE_SELECTED: return g_strdup ("SELECTED"); break; case GTK_STATE_ACTIVE: return g_strdup ("ACTIVE"); break; case GTK_STATE_PRELIGHT: return g_strdup ("PRELIGHT"); break; case GTK_STATE_INSENSITIVE: return g_strdup ("INSENSITIVE"); break; } g_printf ("Warning: Unknown state: %d\n", state); return NULL; } static void push_color (lua_State *L, CairoColor *color) { /* put a color value into a table on top of the stack */ lua_newtable (L); lua_pushnumber (L, 1); lua_pushnumber (L, color->r); lua_settable (L, -3); lua_pushnumber (L, 2); lua_pushnumber (L, color->g); lua_settable (L, -3); lua_pushnumber (L, 3); lua_pushnumber (L, color->b); lua_settable (L, -3); lua_pushnumber (L, 4); lua_pushnumber (L, color->a); lua_settable (L, -3); } static void lua_style_push_widget_params (LuaStyle *style, GtkWidget *widget, GtkStateType state_type) { g_return_if_fail (style); g_return_if_fail (style->L); g_return_if_fail (widget); /* If there is already a table at the top of the stack, re-use it so custom * parameters can be added beforehand. */ if (!lua_istable (style->L, -1)) lua_newtable (style->L); if (widget && GE_IS_ENTRY (widget)) state_type = GTK_WIDGET_STATE (widget); lua_pushstring (style->L, get_name_for_state (state_type)); lua_setfield (style->L, -2, "state"); lua_pushboolean (style->L, state_type == GTK_STATE_PRELIGHT); lua_setfield (style->L, -2, "prelight"); lua_pushboolean (style->L, state_type == GTK_STATE_INSENSITIVE); lua_setfield (style->L, -2, "insensitive"); if (widget && GE_IS_TOGGLE_BUTTON (widget)) lua_pushboolean (style->L, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))); else lua_pushboolean (style->L, state_type == GTK_STATE_ACTIVE); lua_setfield (style->L, -2, "active"); lua_pushboolean (style->L, widget && GTK_WIDGET_HAS_FOCUS (widget)); lua_setfield (style->L, -2, "has_focus"); lua_pushnumber (style->L, (int)widget); lua_setfield (style->L, -2, "uid"); lua_setglobal (style->L, "widget"); } static gboolean lua_style_draw (LuaStyle *style, GtkWidget *widget, GtkStateType state_type, gchar *name, gint width, gint height) { g_return_if_fail (style); g_return_if_fail (style->L); lua_style_push_widget_params (style, widget, state_type); lua_pcall (style->L, 0, 0, 0); lua_getglobal (style->L, g_strconcat ("draw_", name)); if (!lua_isfunction (style->L, -1)) return FALSE; lua_pushnumber (style->L, width); lua_pushnumber (style->L, height); if (lua_pcall (style->L, 2, 1, 0)) { g_printf ("%s failed: %s\n", g_strconcat ("draw_", name), lua_tostring (style->L, -1)); return FALSE; } return TRUE; } static lua_State * lua_style_prepare_lua (LuaStyle *style) { lua_State *L; gchar *themepath; gchar *state; int i; g_return_if_fail (style); L = lua_open (); luaopen_base (L); luaopen_math (L); luaopen_draw (L); themepath = misc_utils_locate_theme_path (style->theme); if (!themepath) { g_printf ("Warning: Failed to locate Lua script for '%s'\n", style->theme); return L; } if (luaL_loadfile (L, themepath)) g_printf ("%s\n", lua_tostring(L, -1)); g_free (themepath); /* create global color table */ lua_newtable (L); lua_newtable (L); for (i = 0; i < 5; i++) { state = get_name_for_state (i); push_color (L, &style->colors.bg[i]); lua_setfield (L, -2, state); } lua_setfield (L, -2, "bg"); lua_newtable (L); for (i = 0; i < 5; i++) { state = get_name_for_state (i); push_color (L, &style->colors.base[i]); lua_setfield (L, -2, state); } lua_setfield (L, -2, "base"); lua_newtable (L); for (i = 0; i < 5; i++) { state = get_name_for_state (i); push_color (L, &style->colors.text[i]); lua_setfield (L, -2, state); g_free (state); } lua_setfield (L, -2, "text"); lua_setglobal (L, "colors"); return L; } static cairo_t * lua_style_prepare_cairo (LuaStyle *style, GdkWindow *window, GdkRectangle *area, gint x, gint y) { cairo_t *cr; g_return_if_fail (style); g_return_if_fail (style->L); cr = gdk_cairo_create (window); cairo_set_source_rgb (cr, 0, 0, 0); cairo_set_line_width (cr, 1); cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER); if (area) { cairo_rectangle (cr, area->x, area->y, area->width, area->height); cairo_clip (cr); } cairo_translate (cr, x, y); lua_utils_push_pointer (style->L, "cairo", cr); return cr; } static void lua_style_close_cairo (LuaStyle *style) { cairo_t *cr; cairo_pattern_t *pattern; g_return_if_fail (style); g_return_if_fail (style->L); cr = lua_utils_fetch_pointer (style->L, "cairo"); pattern = lua_utils_fetch_pointer (style->L, "pattern"); if (pattern) { cairo_pattern_destroy (pattern); lua_utils_push_pointer (style->L, "pattern", NULL); } if (cr) { cairo_destroy (cr); lua_utils_push_pointer (style->L, "cairo", NULL); } } static void lua_style_draw_flat_box (DRAW_ARGS) { GTK_STYLE_CLASS (lua_style_parent_class)->draw_flat_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } static void lua_style_draw_shadow (DRAW_ARGS) { LuaStyle *lua_style = LUA_STYLE (style); gboolean processed = FALSE; lua_style_prepare_cairo (lua_style, window, area, x, y); if (DETAIL ("entry")) { if (GE_IS_SPIN_BUTTON (widget)) processed = lua_style_draw (lua_style, widget, state_type, "spin_button_entry", width, height); else if (widget && ge_is_in_combo_box (widget)) { /* force a redraw on the entire combo to handle focus changes */ void *p = lua_utils_fetch_pointer (lua_style ->L, "in_combo_box_redraw"); if (widget != p) { lua_utils_push_pointer (lua_style->L, "in_combo_box_redraw", widget); gtk_widget_queue_draw (widget->parent); } else if (p != NULL) lua_utils_push_pointer (lua_style->L, "in_combo_box_redraw", NULL); processed = lua_style_draw (lua_style, widget, state_type, "combo_box_entry", width, height); } if (!processed) lua_style_draw (lua_style, widget, state_type, "entry", width, height); } lua_style_close_cairo (lua_style); } static void lua_style_draw_box_gap (DRAW_ARGS, GtkPositionType gap_side, gint gap_x, gint gap_width) { GTK_STYLE_CLASS (lua_style_parent_class)->draw_box_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width); } static void lua_style_draw_extension (DRAW_ARGS, GtkPositionType gap_side) { GTK_STYLE_CLASS (lua_style_parent_class)->draw_extension (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side); } static void lua_style_draw_handle (DRAW_ARGS, GtkOrientation orientation) { GTK_STYLE_CLASS (lua_style_parent_class)->draw_handle (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation); } static void lua_style_draw_box (DRAW_ARGS) { cairo_t *cr; LuaStyle *lua_style = LUA_STYLE (style); gboolean processed = FALSE; gint tmp; SANITIZE_SIZE; cr = lua_style_prepare_cairo (lua_style, window, area, x, y); if (widget && GE_IS_RANGE (widget) && GTK_RANGE (widget)->orientation != GTK_ORIENTATION_HORIZONTAL) { cairo_translate (cr, 0, height); cairo_rotate (cr, -G_PI * 0.5); tmp = width; width = height; height = tmp; } if (widget && GE_IS_PROGRESS_BAR (widget)) { switch (gtk_progress_bar_get_orientation (GTK_PROGRESS_BAR (widget))) { case GTK_PROGRESS_BOTTOM_TO_TOP: case GTK_PROGRESS_TOP_TO_BOTTOM: cairo_translate (cr, 0, height); cairo_rotate (cr, -G_PI * 0.5); tmp = width; width = height; height = tmp; } switch (gtk_progress_bar_get_orientation (GTK_PROGRESS_BAR (widget))) { case GTK_PROGRESS_RIGHT_TO_LEFT: case GTK_PROGRESS_TOP_TO_BOTTOM: cairo_translate (cr, width, 0); cairo_scale (cr, -1, 1); } } if (DETAIL ("button") || DETAIL ("buttondefault") || DETAIL ("spinbutton") || DETAIL ("optionmenu")) { if (widget && widget->parent && (GE_IS_TREE_VIEW(widget->parent) || GE_IS_CLIST (widget->parent) || ge_object_is_a ((GObject*)widget->parent, "ETree"))) { gint columns = 0; gint column_index = 0; gboolean resizable = TRUE; if (GE_IS_TREE_VIEW (widget->parent)) { GList *list, *list_start; list_start = list = gtk_tree_view_get_columns (GTK_TREE_VIEW(widget->parent)); do { GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN (list->data); if (column->button == widget) { column_index = columns; resizable = column->resizable; } if (column->visible) columns++; } while ((list = g_list_next (list))); g_list_free (list_start); } else if (GE_IS_CLIST (widget->parent)) { int i; columns = GTK_CLIST (widget->parent)->columns; for (i = 0; i < columns; i++) { if (GTK_CLIST (widget->parent)->column[i].button == widget) { column_index = i; break; } } } lua_newtable (lua_style->L); lua_pushboolean (lua_style->L, resizable); lua_setfield (lua_style->L, -2, "resizable"); if (column_index == 0) lua_pushstring (lua_style->L, "first"); else if (column_index == columns - 1) lua_pushstring (lua_style->L, "last"); else lua_pushstring (lua_style->L, "middle"); lua_setfield (lua_style->L, -2, "position"); processed = lua_style_draw (lua_style, widget, state_type, "column_header", width, height); } else if (DETAIL ("spinbutton")) processed = lua_style_draw (lua_style, widget, state_type, "spin_button", width, height); else if (widget && ge_is_in_combo_box (widget)) { gboolean combo_has_focus = FALSE; if (ge_is_combo_box_entry (widget)) combo_has_focus = GTK_WIDGET_HAS_FOCUS (gtk_bin_get_child (GTK_BIN (ge_find_combo_box_widget_parent (widget)))); if (ge_is_combo (widget)) combo_has_focus = GTK_WIDGET_HAS_FOCUS (GTK_COMBO (ge_find_combo_box_widget_parent (widget))->entry); lua_newtable (lua_style->L); lua_pushboolean (lua_style->L, combo_has_focus); lua_setfield (lua_style->L, -2, "parent_has_focus"); processed = lua_style_draw (lua_style, widget, state_type, "combo_box_button", width, height); } else if (DETAIL ("optionmenu")) processed = lua_style_draw (lua_style, widget, state_type, "option_menu", width, height); if (!processed) processed = lua_style_draw (lua_style, widget, state_type, "button", width, height); } else if (DETAIL ("menubar")) processed = lua_style_draw (lua_style, widget, state_type, "menubar", width, height); else if (DETAIL ("menuitem")) processed = lua_style_draw (lua_style, widget, state_type, "menuitem", width, height); else if (DETAIL ("menu")) processed = lua_style_draw (lua_style, widget, state_type, "menu", width, height); else if (DETAIL ("trough") && widget && GE_IS_PROGRESS_BAR (widget)) processed = lua_style_draw (lua_style, widget, state_type, "progressbar_tray", width, height); else if (DETAIL ("trough") && widget && (GE_IS_VSCROLLBAR (widget) || GE_IS_HSCROLLBAR (widget))) processed = lua_style_draw (lua_style, widget, state_type, "scrollbar_tray", width, height); else if (detail && g_str_has_prefix (detail, "trough") && GE_IS_SCALE (widget)) { lua_newtable (lua_style->L); lua_pushboolean (lua_style->L, DETAIL ("trough-lower")); lua_setfield (lua_style->L, -2, "lower"); processed = lua_style_draw (lua_style, widget, state_type, "scale_tray", width, height); } else if (DETAIL ("bar")) processed = lua_style_draw (lua_style, widget, state_type, "progressbar", width, height); else if (DETAIL ("hscrollbar") || DETAIL ("vscrollbar") || DETAIL ("slider") || DETAIL ("stepper")) { if (DETAIL ("slider")) processed = lua_style_draw (lua_style, widget, state_type, "scrollbar", width, height); else { processed = lua_style_draw (lua_style, widget, state_type, "scrollbar_stepper", width, height); if (!processed) { processed = lua_style_draw (lua_style, widget, state_type, "button", width, height); } } } else if (DETAIL ("hscale") || DETAIL ("vscale")) processed = lua_style_draw (lua_style, widget, state_type, "scale", width, height); else if (DETAIL ("toolbar") || DETAIL ("handlebox_bin") || DETAIL ("dockitem_bin")) processed = lua_style_draw (lua_style, widget, state_type, "toolbar", width, height); if (!processed) { //g_printf ("DRAW BOX: Unrecognized detail string: %s\n", detail); lua_style_close_cairo (lua_style); GTK_STYLE_CLASS (lua_style_parent_class)->draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } lua_style_close_cairo (lua_style); } static void lua_style_draw_slider (DRAW_ARGS, GtkOrientation orientation) { GTK_STYLE_CLASS (lua_style_parent_class)->draw_slider (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation); } static void lua_style_draw_option (DRAW_ARGS) { LuaStyle *lua_style = LUA_STYLE(style); /* sanitize size to be rectangular */ if (width > height) { x += (width - height) / 2; width = height; } else if (height > width) { y += (height - width) / 2; height = width; } lua_style_prepare_cairo (lua_style, window, area, x, y); lua_newtable (lua_style->L); lua_pushboolean (lua_style->L, shadow_type == GTK_SHADOW_IN || shadow_type == GTK_SHADOW_ETCHED_IN); lua_setfield (lua_style->L, -2, "draw_mark"); lua_pushboolean (lua_style->L, shadow_type == GTK_SHADOW_ETCHED_IN); lua_setfield (lua_style->L, -2, "inconsistent"); lua_pushboolean (lua_style->L, widget && widget->parent && GTK_IS_MENU(widget->parent)); lua_setfield (lua_style->L, -2, "in_menu"); lua_style_draw (lua_style, widget, state_type, "radiobutton", width, height); lua_style_close_cairo (lua_style); } static void lua_style_draw_check (DRAW_ARGS) { LuaStyle *lua_style = LUA_STYLE(style); /* sanitize size to be rectangular */ if (width > height) { x += (width - height) / 2; width = height; } else if (height > width) { y += (height - width) / 2; height = width; } lua_style_prepare_cairo (lua_style, window, area, x, y); lua_newtable (lua_style->L); lua_pushboolean (lua_style->L, shadow_type == GTK_SHADOW_IN || shadow_type == GTK_SHADOW_ETCHED_IN); lua_setfield (lua_style->L, -2, "draw_mark"); lua_pushboolean (lua_style->L, shadow_type == GTK_SHADOW_ETCHED_IN); lua_setfield (lua_style->L, -2, "inconsistent"); lua_pushboolean (lua_style->L, DETAIL("cellcheck")); lua_setfield (lua_style->L, -2, "in_cell"); lua_pushboolean (lua_style->L, widget && widget->parent && GTK_IS_MENU(widget->parent)); lua_setfield (lua_style->L, -2, "in_menu"); lua_style_draw (lua_style, widget, state_type, "checkbox", width, height); lua_style_close_cairo (lua_style); } static void lua_style_draw_tab (DRAW_ARGS) { } static void lua_style_draw_vline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint y1, gint y2, gint x) { gint tmp, width, height; cairo_t *cr; LuaStyle *lua_style = LUA_STYLE (style); cr = lua_style_prepare_cairo (lua_style, window, area, x, y1); width = y2-y1; height = 2; cairo_translate (cr, 0, width); cairo_rotate (cr, -G_PI * 0.5); lua_newtable (lua_style->L); lua_pushstring (lua_style->L, "vertical"); lua_setfield (lua_style->L, -2, "orientation"); lua_style_draw (lua_style, widget, state_type, "separator", width, height); lua_style_close_cairo (lua_style); } static void lua_style_draw_hline (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x1, gint x2, gint y) { cairo_t *cr; LuaStyle *lua_style = LUA_STYLE (style); cr = lua_style_prepare_cairo (lua_style, window, area, x1, y); // FIXME: otherwise the clip is only one pixel high, how did clearlooks fix this? cairo_reset_clip (cr); lua_newtable (lua_style->L); lua_pushstring (lua_style->L, "horizontal"); lua_setfield (lua_style->L, -2, "orientation"); lua_style_draw (lua_style, widget, state_type, "separator", x2-x1, 2); lua_style_close_cairo (lua_style); } static void lua_style_draw_shadow_gap (DRAW_ARGS, GtkPositionType gap_side, gint gap_x, gint gap_width) { GTK_STYLE_CLASS (lua_style_parent_class)->draw_shadow_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width); } static void lua_style_draw_resize_grip (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GdkWindowEdge edge, gint x, gint y, gint width, gint height) { } static void lua_style_draw_arrow (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow, GdkRectangle *area, GtkWidget *widget, const gchar *detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { GTK_STYLE_CLASS (lua_style_parent_class)->draw_arrow (style, window, state_type, shadow, area, widget, detail, arrow_type, fill, x, y, width, height); } static void lua_style_init_from_rc (GtkStyle *style, GtkRcStyle *rc_style) { LuaStyle *lua_style = LUA_STYLE (style); GTK_STYLE_CLASS (lua_style_parent_class)->init_from_rc (style, rc_style); lua_style->theme = LUA_RC_STYLE (rc_style)->theme; } static void lua_style_realize (GtkStyle *style) { LuaStyle *lua_style = LUA_STYLE (style); double shades[] = {1.15, 0.95, 0.896, 0.82, 0.7, 0.665, 0.5, 0.45, 0.4}; CairoColor spot_color; CairoColor bg_normal; double contrast; int i; GTK_STYLE_CLASS (lua_style_parent_class)->realize (style); /* Lighter to darker */ ge_gdk_color_to_cairo (&style->bg[GTK_STATE_NORMAL], &bg_normal); for (i = 0; i < 9; i++) { ge_shade_color(&bg_normal, (shades[i]-0.7) * contrast + 0.7, &lua_style->colors.shade[i]); } ge_gdk_color_to_cairo (&style->bg[GTK_STATE_SELECTED], &spot_color); ge_shade_color(&spot_color, 1.42, &lua_style->colors.spot[0]); ge_shade_color(&spot_color, 1.05, &lua_style->colors.spot[1]); ge_shade_color(&spot_color, 0.65, &lua_style->colors.spot[2]); for (i=0; i<5; i++) { ge_gdk_color_to_cairo (&style->bg[i], &lua_style->colors.bg[i]); ge_gdk_color_to_cairo (&style->base[i], &lua_style->colors.base[i]); ge_gdk_color_to_cairo (&style->text[i], &lua_style->colors.text[i]); } lua_style->L = lua_style_prepare_lua (lua_style); } static void lua_style_draw_focus (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { } static void lua_style_copy (GtkStyle *style, GtkStyle *src) { GTK_STYLE_CLASS (lua_style_parent_class)->copy (style, src); } static void lua_style_unrealize (GtkStyle *style) { LuaStyle *lua_style = LUA_STYLE (style); GTK_STYLE_CLASS (lua_style_parent_class)->unrealize (style); if (lua_style->L) lua_close (lua_style->L); } static void lua_style_init (LuaStyle *style) { } static void lua_style_class_init (LuaStyleClass *klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->copy = lua_style_copy; style_class->realize = lua_style_realize; style_class->unrealize = lua_style_unrealize; style_class->init_from_rc = lua_style_init_from_rc; style_class->draw_handle = lua_style_draw_handle; style_class->draw_slider = lua_style_draw_slider; style_class->draw_shadow_gap = lua_style_draw_shadow_gap; style_class->draw_focus = lua_style_draw_focus; style_class->draw_box = lua_style_draw_box; style_class->draw_shadow = lua_style_draw_shadow; style_class->draw_box_gap = lua_style_draw_box_gap; style_class->draw_extension = lua_style_draw_extension; style_class->draw_option = lua_style_draw_option; style_class->draw_check = lua_style_draw_check; style_class->draw_flat_box = lua_style_draw_flat_box; style_class->draw_tab = lua_style_draw_tab; style_class->draw_vline = lua_style_draw_vline; style_class->draw_hline = lua_style_draw_hline; style_class->draw_resize_grip = lua_style_draw_resize_grip; style_class->draw_arrow = lua_style_draw_arrow; /*style_class->render_icon = lua_style_draw_render_icon;*/ } static void lua_style_class_finalize (LuaStyleClass *klass) { } void lua_style_register_types (GTypeModule *module) { lua_style_register_type (module); } gtk-engines-2.20.2/engines/lua/src/lua_style.h0000644000175000017500000000377111451352576016124 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include "lua.h" #include "ge-support.h" typedef struct _LuaStyle LuaStyle; typedef struct _LuaStyleClass LuaStyleClass; #define TYPE_LUA_STYLE (lua_style_get_type ()) #define LUA_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TYPE_LUA_STYLE, LuaStyle)) #define LUA_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LUA_STYLE, LuaStyleClass)) #define LUA_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TYPE_LUA_STYLE)) #define LUA_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LUA_STYLE)) #define LUA_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LUA_STYLE, LuaStyleClass)) typedef struct { CairoColor bg[5]; CairoColor base[5]; CairoColor text[5]; CairoColor shade[9]; CairoColor spot[3]; } LuaColors; struct _LuaStyle { GtkStyle parent_instance; LuaColors colors; gchar *theme; lua_State *L; }; struct _LuaStyleClass { GtkStyleClass parent_class; }; GE_INTERNAL void lua_style_register_types (GTypeModule *module); GE_INTERNAL GType lua_style_get_type (void); gtk-engines-2.20.2/engines/lua/src/lua_utils.c0000644000175000017500000000257511451352576016120 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "lua_utils.h" void * lua_utils_fetch_pointer (lua_State *L, const gchar *name) { void *res; g_return_if_fail (L); lua_getfield (L, LUA_REGISTRYINDEX, name); if (!lua_isuserdata (L, -1)) { lua_pop (L, 1); return NULL; } res = lua_touserdata (L, -1); lua_pop (L, 1); return res; } void lua_utils_push_pointer (lua_State *L, const gchar *name, void *pointer) { g_return_if_fail (L); lua_pushlightuserdata (L, pointer); lua_setfield (L, LUA_REGISTRYINDEX, name); } gtk-engines-2.20.2/engines/lua/src/lua_utils.h0000644000175000017500000000221311451352576016112 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include "lua.h" #include "lauxlib.h" #include "lualib.h" #include "ge-support.h" GE_INTERNAL void* lua_utils_fetch_pointer (lua_State *L, const gchar *name); GE_INTERNAL void lua_utils_push_pointer (lua_State *L, const gchar *name, void *pointer); gtk-engines-2.20.2/engines/lua/src/main.c0000644000175000017500000000241411451352576015033 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include "lua_style.h" #include "lua_rc_style.h" GE_EXPORT void theme_init (GTypeModule *module) { lua_rc_style_register_types (module); lua_style_register_types (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { return GTK_RC_STYLE (g_object_new (TYPE_LUA_RC_STYLE, NULL)); } gtk-engines-2.20.2/engines/lua/src/misc_utils.c0000644000175000017500000000365011451352576016265 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include "misc_utils.h" gchar* misc_utils_locate_theme_path (const gchar *name) { gchar *path = NULL; const gchar *home_dir; gchar *subpath = g_strdup ("gtk-2.0" G_DIR_SEPARATOR_S "gtk-theme.lua"); home_dir = g_get_home_dir (); if (home_dir) { path = g_build_filename (home_dir, ".themes", name, subpath, NULL); if (!g_file_test (path, G_FILE_TEST_EXISTS)) { g_free (path); path = NULL; } } if (!path) { gchar *theme_dir = gtk_rc_get_theme_dir (); path = g_build_filename (theme_dir, name, subpath, NULL); g_free (theme_dir); if (!g_file_test (path, G_FILE_TEST_EXISTS)) { g_free (path); path = NULL; } } /* check for a up-to-date compiled version */ if (path) { gchar *cpath = g_strconcat (path, "c", NULL); if (g_file_test (cpath, G_FILE_TEST_EXISTS)) { struct stat p; struct stat c; stat (path, &p); stat (cpath, &c); if (c.st_mtime >= p.st_mtime) path = g_strdup (cpath); } g_free (cpath); } g_free (subpath); return path; } gtk-engines-2.20.2/engines/lua/src/misc_utils.h0000644000175000017500000000200411451352576016262 00000000000000/* LUA - a LUA scriptable GTK+ engine * Copyright (C) 2006 Daniel Borgmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include "ge-support.h" GE_INTERNAL gchar* misc_utils_locate_theme_path (const gchar *name); gtk-engines-2.20.2/engines/lua/Makefile.am0000644000175000017500000000614611451352576015216 00000000000000# LUA - a LUA scriptable GTK+ engine # Copyright (C) 2006 Daniel Borgmann # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # NULL = LIBLUA_FILES = \ ./src/liblua/lapi.h \ ./src/liblua/lauxlib.h \ ./src/liblua/lcode.h \ ./src/liblua/ldebug.h \ ./src/liblua/ldo.h \ ./src/liblua/lfunc.h \ ./src/liblua/lgc.h \ ./src/liblua/llex.h \ ./src/liblua/llimits.h \ ./src/liblua/lmem.h \ ./src/liblua/lobject.h \ ./src/liblua/lopcodes.h \ ./src/liblua/lparser.h \ ./src/liblua/lstate.h \ ./src/liblua/lstring.h \ ./src/liblua/ltable.h \ ./src/liblua/ltm.h \ ./src/liblua/lua.h \ ./src/liblua/luaconf.h \ ./src/liblua/lualib.h \ ./src/liblua/lundump.h \ ./src/liblua/lvm.h \ ./src/liblua/lzio.h \ ./src/liblua/lapi.c \ ./src/liblua/lcode.c \ ./src/liblua/ldebug.c \ ./src/liblua/ldo.c \ ./src/liblua/ldump.c \ ./src/liblua/lfunc.c \ ./src/liblua/lgc.c \ ./src/liblua/liolib.c \ ./src/liblua/llex.c \ ./src/liblua/lmem.c \ ./src/liblua/lobject.c \ ./src/liblua/lopcodes.c \ ./src/liblua/loslib.c \ ./src/liblua/lparser.c \ ./src/liblua/lstate.c \ ./src/liblua/lstring.c \ ./src/liblua/lstrlib.c \ ./src/liblua/ltable.c \ ./src/liblua/ltablib.c \ ./src/liblua/ltm.c \ ./src/liblua/lundump.c \ ./src/liblua/lvm.c \ ./src/liblua/lzio.c \ ./src/liblua/lauxlib.c \ ./src/liblua/lbaselib.c \ ./src/liblua/ldblib.c \ ./src/liblua/lmathlib.c \ ./src/liblua/loadlib.c \ ./src/liblua/linit.c if SYSTEM_LUA LIBLUA_SOURCES = LIBLUA_CFLAGS = $(LUA_CFLAGS) EXTRA_DIST = $(LIBLUA_FILES) else LIBLUA_CFLAGS = -I$(top_srcdir)/engines/lua/src/liblua LIBLUA_SOURCES = $(LIBLUA_FILES) EXTRA_DIST = endif INCLUDES = \ -I$(top_srcdir)/engines/support \ $(LIBLUA_CFLAGS) $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) \ $(NULL) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libluaengine.la libluaengine_la_SOURCES = \ ./src/draw_lib.c \ ./src/draw_lib.h \ ./src/draw_utils.c \ ./src/draw_utils.h \ ./src/lua_rc_style.c \ ./src/lua_rc_style.h \ ./src/lua_style.c \ ./src/lua_style.h \ ./src/lua_utils.c \ ./src/lua_utils.h \ ./src/main.c \ ./src/misc_utils.c \ ./src/misc_utils.h \ $(LIBLUA_SOURCES) \ $(NULL) libluaengine_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libluaengine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) $(LUA_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/lua/Makefile.in0000644000175000017500000017137511451355760015234 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # LUA - a LUA scriptable GTK+ engine # Copyright (C) 2006 Daniel Borgmann # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/lua DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libluaengine_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am__libluaengine_la_SOURCES_DIST = ./src/draw_lib.c ./src/draw_lib.h \ ./src/draw_utils.c ./src/draw_utils.h ./src/lua_rc_style.c \ ./src/lua_rc_style.h ./src/lua_style.c ./src/lua_style.h \ ./src/lua_utils.c ./src/lua_utils.h ./src/main.c \ ./src/misc_utils.c ./src/misc_utils.h ./src/liblua/lapi.h \ ./src/liblua/lauxlib.h ./src/liblua/lcode.h \ ./src/liblua/ldebug.h ./src/liblua/ldo.h ./src/liblua/lfunc.h \ ./src/liblua/lgc.h ./src/liblua/llex.h ./src/liblua/llimits.h \ ./src/liblua/lmem.h ./src/liblua/lobject.h \ ./src/liblua/lopcodes.h ./src/liblua/lparser.h \ ./src/liblua/lstate.h ./src/liblua/lstring.h \ ./src/liblua/ltable.h ./src/liblua/ltm.h ./src/liblua/lua.h \ ./src/liblua/luaconf.h ./src/liblua/lualib.h \ ./src/liblua/lundump.h ./src/liblua/lvm.h ./src/liblua/lzio.h \ ./src/liblua/lapi.c ./src/liblua/lcode.c ./src/liblua/ldebug.c \ ./src/liblua/ldo.c ./src/liblua/ldump.c ./src/liblua/lfunc.c \ ./src/liblua/lgc.c ./src/liblua/liolib.c ./src/liblua/llex.c \ ./src/liblua/lmem.c ./src/liblua/lobject.c \ ./src/liblua/lopcodes.c ./src/liblua/loslib.c \ ./src/liblua/lparser.c ./src/liblua/lstate.c \ ./src/liblua/lstring.c ./src/liblua/lstrlib.c \ ./src/liblua/ltable.c ./src/liblua/ltablib.c \ ./src/liblua/ltm.c ./src/liblua/lundump.c ./src/liblua/lvm.c \ ./src/liblua/lzio.c ./src/liblua/lauxlib.c \ ./src/liblua/lbaselib.c ./src/liblua/ldblib.c \ ./src/liblua/lmathlib.c ./src/liblua/loadlib.c \ ./src/liblua/linit.c am__objects_1 = lapi.lo lcode.lo ldebug.lo ldo.lo ldump.lo lfunc.lo \ lgc.lo liolib.lo llex.lo lmem.lo lobject.lo lopcodes.lo \ loslib.lo lparser.lo lstate.lo lstring.lo lstrlib.lo ltable.lo \ ltablib.lo ltm.lo lundump.lo lvm.lo lzio.lo lauxlib.lo \ lbaselib.lo ldblib.lo lmathlib.lo loadlib.lo linit.lo @SYSTEM_LUA_FALSE@am__objects_2 = $(am__objects_1) am__objects_3 = am_libluaengine_la_OBJECTS = draw_lib.lo draw_utils.lo lua_rc_style.lo \ lua_style.lo lua_utils.lo main.lo misc_utils.lo \ $(am__objects_2) $(am__objects_3) libluaengine_la_OBJECTS = $(am_libluaengine_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libluaengine_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libluaengine_la_LDFLAGS) $(LDFLAGS) \ -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libluaengine_la_SOURCES) DIST_SOURCES = $(am__libluaengine_la_SOURCES_DIST) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ NULL = LIBLUA_FILES = \ ./src/liblua/lapi.h \ ./src/liblua/lauxlib.h \ ./src/liblua/lcode.h \ ./src/liblua/ldebug.h \ ./src/liblua/ldo.h \ ./src/liblua/lfunc.h \ ./src/liblua/lgc.h \ ./src/liblua/llex.h \ ./src/liblua/llimits.h \ ./src/liblua/lmem.h \ ./src/liblua/lobject.h \ ./src/liblua/lopcodes.h \ ./src/liblua/lparser.h \ ./src/liblua/lstate.h \ ./src/liblua/lstring.h \ ./src/liblua/ltable.h \ ./src/liblua/ltm.h \ ./src/liblua/lua.h \ ./src/liblua/luaconf.h \ ./src/liblua/lualib.h \ ./src/liblua/lundump.h \ ./src/liblua/lvm.h \ ./src/liblua/lzio.h \ ./src/liblua/lapi.c \ ./src/liblua/lcode.c \ ./src/liblua/ldebug.c \ ./src/liblua/ldo.c \ ./src/liblua/ldump.c \ ./src/liblua/lfunc.c \ ./src/liblua/lgc.c \ ./src/liblua/liolib.c \ ./src/liblua/llex.c \ ./src/liblua/lmem.c \ ./src/liblua/lobject.c \ ./src/liblua/lopcodes.c \ ./src/liblua/loslib.c \ ./src/liblua/lparser.c \ ./src/liblua/lstate.c \ ./src/liblua/lstring.c \ ./src/liblua/lstrlib.c \ ./src/liblua/ltable.c \ ./src/liblua/ltablib.c \ ./src/liblua/ltm.c \ ./src/liblua/lundump.c \ ./src/liblua/lvm.c \ ./src/liblua/lzio.c \ ./src/liblua/lauxlib.c \ ./src/liblua/lbaselib.c \ ./src/liblua/ldblib.c \ ./src/liblua/lmathlib.c \ ./src/liblua/loadlib.c \ ./src/liblua/linit.c @SYSTEM_LUA_FALSE@LIBLUA_SOURCES = $(LIBLUA_FILES) @SYSTEM_LUA_TRUE@LIBLUA_SOURCES = @SYSTEM_LUA_FALSE@LIBLUA_CFLAGS = -I$(top_srcdir)/engines/lua/src/liblua @SYSTEM_LUA_TRUE@LIBLUA_CFLAGS = $(LUA_CFLAGS) @SYSTEM_LUA_FALSE@EXTRA_DIST = @SYSTEM_LUA_TRUE@EXTRA_DIST = $(LIBLUA_FILES) INCLUDES = \ -I$(top_srcdir)/engines/support \ $(LIBLUA_CFLAGS) $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) \ $(NULL) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libluaengine.la libluaengine_la_SOURCES = \ ./src/draw_lib.c \ ./src/draw_lib.h \ ./src/draw_utils.c \ ./src/draw_utils.h \ ./src/lua_rc_style.c \ ./src/lua_rc_style.h \ ./src/lua_style.c \ ./src/lua_style.h \ ./src/lua_utils.c \ ./src/lua_utils.h \ ./src/main.c \ ./src/misc_utils.c \ ./src/misc_utils.h \ $(LIBLUA_SOURCES) \ $(NULL) libluaengine_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libluaengine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) $(LUA_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/lua/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/lua/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libluaengine.la: $(libluaengine_la_OBJECTS) $(libluaengine_la_DEPENDENCIES) $(AM_V_CCLD)$(libluaengine_la_LINK) -rpath $(enginedir) $(libluaengine_la_OBJECTS) $(libluaengine_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/draw_lib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/draw_utils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lapi.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lauxlib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lbaselib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lcode.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldblib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldebug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldump.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lfunc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lgc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linit.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liolib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lmathlib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lmem.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadlib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lobject.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lopcodes.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loslib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lparser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstate.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstring.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstrlib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ltable.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ltablib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ltm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lua_rc_style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lua_style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lua_utils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lundump.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lvm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc_utils.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< draw_lib.lo: ./src/draw_lib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT draw_lib.lo -MD -MP -MF $(DEPDIR)/draw_lib.Tpo -c -o draw_lib.lo `test -f './src/draw_lib.c' || echo '$(srcdir)/'`./src/draw_lib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/draw_lib.Tpo $(DEPDIR)/draw_lib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/draw_lib.c' object='draw_lib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o draw_lib.lo `test -f './src/draw_lib.c' || echo '$(srcdir)/'`./src/draw_lib.c draw_utils.lo: ./src/draw_utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT draw_utils.lo -MD -MP -MF $(DEPDIR)/draw_utils.Tpo -c -o draw_utils.lo `test -f './src/draw_utils.c' || echo '$(srcdir)/'`./src/draw_utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/draw_utils.Tpo $(DEPDIR)/draw_utils.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/draw_utils.c' object='draw_utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o draw_utils.lo `test -f './src/draw_utils.c' || echo '$(srcdir)/'`./src/draw_utils.c lua_rc_style.lo: ./src/lua_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lua_rc_style.lo -MD -MP -MF $(DEPDIR)/lua_rc_style.Tpo -c -o lua_rc_style.lo `test -f './src/lua_rc_style.c' || echo '$(srcdir)/'`./src/lua_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lua_rc_style.Tpo $(DEPDIR)/lua_rc_style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/lua_rc_style.c' object='lua_rc_style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lua_rc_style.lo `test -f './src/lua_rc_style.c' || echo '$(srcdir)/'`./src/lua_rc_style.c lua_style.lo: ./src/lua_style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lua_style.lo -MD -MP -MF $(DEPDIR)/lua_style.Tpo -c -o lua_style.lo `test -f './src/lua_style.c' || echo '$(srcdir)/'`./src/lua_style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lua_style.Tpo $(DEPDIR)/lua_style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/lua_style.c' object='lua_style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lua_style.lo `test -f './src/lua_style.c' || echo '$(srcdir)/'`./src/lua_style.c lua_utils.lo: ./src/lua_utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lua_utils.lo -MD -MP -MF $(DEPDIR)/lua_utils.Tpo -c -o lua_utils.lo `test -f './src/lua_utils.c' || echo '$(srcdir)/'`./src/lua_utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lua_utils.Tpo $(DEPDIR)/lua_utils.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/lua_utils.c' object='lua_utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lua_utils.lo `test -f './src/lua_utils.c' || echo '$(srcdir)/'`./src/lua_utils.c main.lo: ./src/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT main.lo -MD -MP -MF $(DEPDIR)/main.Tpo -c -o main.lo `test -f './src/main.c' || echo '$(srcdir)/'`./src/main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/main.Tpo $(DEPDIR)/main.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/main.c' object='main.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o main.lo `test -f './src/main.c' || echo '$(srcdir)/'`./src/main.c misc_utils.lo: ./src/misc_utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc_utils.lo -MD -MP -MF $(DEPDIR)/misc_utils.Tpo -c -o misc_utils.lo `test -f './src/misc_utils.c' || echo '$(srcdir)/'`./src/misc_utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/misc_utils.Tpo $(DEPDIR)/misc_utils.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/misc_utils.c' object='misc_utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc_utils.lo `test -f './src/misc_utils.c' || echo '$(srcdir)/'`./src/misc_utils.c lapi.lo: ./src/liblua/lapi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lapi.lo -MD -MP -MF $(DEPDIR)/lapi.Tpo -c -o lapi.lo `test -f './src/liblua/lapi.c' || echo '$(srcdir)/'`./src/liblua/lapi.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lapi.Tpo $(DEPDIR)/lapi.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lapi.c' object='lapi.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lapi.lo `test -f './src/liblua/lapi.c' || echo '$(srcdir)/'`./src/liblua/lapi.c lcode.lo: ./src/liblua/lcode.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lcode.lo -MD -MP -MF $(DEPDIR)/lcode.Tpo -c -o lcode.lo `test -f './src/liblua/lcode.c' || echo '$(srcdir)/'`./src/liblua/lcode.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lcode.Tpo $(DEPDIR)/lcode.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lcode.c' object='lcode.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lcode.lo `test -f './src/liblua/lcode.c' || echo '$(srcdir)/'`./src/liblua/lcode.c ldebug.lo: ./src/liblua/ldebug.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldebug.lo -MD -MP -MF $(DEPDIR)/ldebug.Tpo -c -o ldebug.lo `test -f './src/liblua/ldebug.c' || echo '$(srcdir)/'`./src/liblua/ldebug.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ldebug.Tpo $(DEPDIR)/ldebug.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/ldebug.c' object='ldebug.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldebug.lo `test -f './src/liblua/ldebug.c' || echo '$(srcdir)/'`./src/liblua/ldebug.c ldo.lo: ./src/liblua/ldo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldo.lo -MD -MP -MF $(DEPDIR)/ldo.Tpo -c -o ldo.lo `test -f './src/liblua/ldo.c' || echo '$(srcdir)/'`./src/liblua/ldo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ldo.Tpo $(DEPDIR)/ldo.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/ldo.c' object='ldo.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldo.lo `test -f './src/liblua/ldo.c' || echo '$(srcdir)/'`./src/liblua/ldo.c ldump.lo: ./src/liblua/ldump.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldump.lo -MD -MP -MF $(DEPDIR)/ldump.Tpo -c -o ldump.lo `test -f './src/liblua/ldump.c' || echo '$(srcdir)/'`./src/liblua/ldump.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ldump.Tpo $(DEPDIR)/ldump.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/ldump.c' object='ldump.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldump.lo `test -f './src/liblua/ldump.c' || echo '$(srcdir)/'`./src/liblua/ldump.c lfunc.lo: ./src/liblua/lfunc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lfunc.lo -MD -MP -MF $(DEPDIR)/lfunc.Tpo -c -o lfunc.lo `test -f './src/liblua/lfunc.c' || echo '$(srcdir)/'`./src/liblua/lfunc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lfunc.Tpo $(DEPDIR)/lfunc.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lfunc.c' object='lfunc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lfunc.lo `test -f './src/liblua/lfunc.c' || echo '$(srcdir)/'`./src/liblua/lfunc.c lgc.lo: ./src/liblua/lgc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lgc.lo -MD -MP -MF $(DEPDIR)/lgc.Tpo -c -o lgc.lo `test -f './src/liblua/lgc.c' || echo '$(srcdir)/'`./src/liblua/lgc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lgc.Tpo $(DEPDIR)/lgc.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lgc.c' object='lgc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lgc.lo `test -f './src/liblua/lgc.c' || echo '$(srcdir)/'`./src/liblua/lgc.c liolib.lo: ./src/liblua/liolib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liolib.lo -MD -MP -MF $(DEPDIR)/liolib.Tpo -c -o liolib.lo `test -f './src/liblua/liolib.c' || echo '$(srcdir)/'`./src/liblua/liolib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liolib.Tpo $(DEPDIR)/liolib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/liolib.c' object='liolib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liolib.lo `test -f './src/liblua/liolib.c' || echo '$(srcdir)/'`./src/liblua/liolib.c llex.lo: ./src/liblua/llex.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT llex.lo -MD -MP -MF $(DEPDIR)/llex.Tpo -c -o llex.lo `test -f './src/liblua/llex.c' || echo '$(srcdir)/'`./src/liblua/llex.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/llex.Tpo $(DEPDIR)/llex.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/llex.c' object='llex.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o llex.lo `test -f './src/liblua/llex.c' || echo '$(srcdir)/'`./src/liblua/llex.c lmem.lo: ./src/liblua/lmem.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmem.lo -MD -MP -MF $(DEPDIR)/lmem.Tpo -c -o lmem.lo `test -f './src/liblua/lmem.c' || echo '$(srcdir)/'`./src/liblua/lmem.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmem.Tpo $(DEPDIR)/lmem.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lmem.c' object='lmem.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmem.lo `test -f './src/liblua/lmem.c' || echo '$(srcdir)/'`./src/liblua/lmem.c lobject.lo: ./src/liblua/lobject.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lobject.lo -MD -MP -MF $(DEPDIR)/lobject.Tpo -c -o lobject.lo `test -f './src/liblua/lobject.c' || echo '$(srcdir)/'`./src/liblua/lobject.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lobject.Tpo $(DEPDIR)/lobject.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lobject.c' object='lobject.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lobject.lo `test -f './src/liblua/lobject.c' || echo '$(srcdir)/'`./src/liblua/lobject.c lopcodes.lo: ./src/liblua/lopcodes.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lopcodes.lo -MD -MP -MF $(DEPDIR)/lopcodes.Tpo -c -o lopcodes.lo `test -f './src/liblua/lopcodes.c' || echo '$(srcdir)/'`./src/liblua/lopcodes.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lopcodes.Tpo $(DEPDIR)/lopcodes.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lopcodes.c' object='lopcodes.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lopcodes.lo `test -f './src/liblua/lopcodes.c' || echo '$(srcdir)/'`./src/liblua/lopcodes.c loslib.lo: ./src/liblua/loslib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loslib.lo -MD -MP -MF $(DEPDIR)/loslib.Tpo -c -o loslib.lo `test -f './src/liblua/loslib.c' || echo '$(srcdir)/'`./src/liblua/loslib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/loslib.Tpo $(DEPDIR)/loslib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/loslib.c' object='loslib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loslib.lo `test -f './src/liblua/loslib.c' || echo '$(srcdir)/'`./src/liblua/loslib.c lparser.lo: ./src/liblua/lparser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lparser.lo -MD -MP -MF $(DEPDIR)/lparser.Tpo -c -o lparser.lo `test -f './src/liblua/lparser.c' || echo '$(srcdir)/'`./src/liblua/lparser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lparser.Tpo $(DEPDIR)/lparser.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lparser.c' object='lparser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lparser.lo `test -f './src/liblua/lparser.c' || echo '$(srcdir)/'`./src/liblua/lparser.c lstate.lo: ./src/liblua/lstate.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstate.lo -MD -MP -MF $(DEPDIR)/lstate.Tpo -c -o lstate.lo `test -f './src/liblua/lstate.c' || echo '$(srcdir)/'`./src/liblua/lstate.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lstate.Tpo $(DEPDIR)/lstate.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lstate.c' object='lstate.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstate.lo `test -f './src/liblua/lstate.c' || echo '$(srcdir)/'`./src/liblua/lstate.c lstring.lo: ./src/liblua/lstring.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstring.lo -MD -MP -MF $(DEPDIR)/lstring.Tpo -c -o lstring.lo `test -f './src/liblua/lstring.c' || echo '$(srcdir)/'`./src/liblua/lstring.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lstring.Tpo $(DEPDIR)/lstring.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lstring.c' object='lstring.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstring.lo `test -f './src/liblua/lstring.c' || echo '$(srcdir)/'`./src/liblua/lstring.c lstrlib.lo: ./src/liblua/lstrlib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstrlib.lo -MD -MP -MF $(DEPDIR)/lstrlib.Tpo -c -o lstrlib.lo `test -f './src/liblua/lstrlib.c' || echo '$(srcdir)/'`./src/liblua/lstrlib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lstrlib.Tpo $(DEPDIR)/lstrlib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lstrlib.c' object='lstrlib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstrlib.lo `test -f './src/liblua/lstrlib.c' || echo '$(srcdir)/'`./src/liblua/lstrlib.c ltable.lo: ./src/liblua/ltable.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ltable.lo -MD -MP -MF $(DEPDIR)/ltable.Tpo -c -o ltable.lo `test -f './src/liblua/ltable.c' || echo '$(srcdir)/'`./src/liblua/ltable.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ltable.Tpo $(DEPDIR)/ltable.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/ltable.c' object='ltable.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ltable.lo `test -f './src/liblua/ltable.c' || echo '$(srcdir)/'`./src/liblua/ltable.c ltablib.lo: ./src/liblua/ltablib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ltablib.lo -MD -MP -MF $(DEPDIR)/ltablib.Tpo -c -o ltablib.lo `test -f './src/liblua/ltablib.c' || echo '$(srcdir)/'`./src/liblua/ltablib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ltablib.Tpo $(DEPDIR)/ltablib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/ltablib.c' object='ltablib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ltablib.lo `test -f './src/liblua/ltablib.c' || echo '$(srcdir)/'`./src/liblua/ltablib.c ltm.lo: ./src/liblua/ltm.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ltm.lo -MD -MP -MF $(DEPDIR)/ltm.Tpo -c -o ltm.lo `test -f './src/liblua/ltm.c' || echo '$(srcdir)/'`./src/liblua/ltm.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ltm.Tpo $(DEPDIR)/ltm.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/ltm.c' object='ltm.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ltm.lo `test -f './src/liblua/ltm.c' || echo '$(srcdir)/'`./src/liblua/ltm.c lundump.lo: ./src/liblua/lundump.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lundump.lo -MD -MP -MF $(DEPDIR)/lundump.Tpo -c -o lundump.lo `test -f './src/liblua/lundump.c' || echo '$(srcdir)/'`./src/liblua/lundump.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lundump.Tpo $(DEPDIR)/lundump.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lundump.c' object='lundump.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lundump.lo `test -f './src/liblua/lundump.c' || echo '$(srcdir)/'`./src/liblua/lundump.c lvm.lo: ./src/liblua/lvm.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lvm.lo -MD -MP -MF $(DEPDIR)/lvm.Tpo -c -o lvm.lo `test -f './src/liblua/lvm.c' || echo '$(srcdir)/'`./src/liblua/lvm.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lvm.Tpo $(DEPDIR)/lvm.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lvm.c' object='lvm.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lvm.lo `test -f './src/liblua/lvm.c' || echo '$(srcdir)/'`./src/liblua/lvm.c lzio.lo: ./src/liblua/lzio.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzio.lo -MD -MP -MF $(DEPDIR)/lzio.Tpo -c -o lzio.lo `test -f './src/liblua/lzio.c' || echo '$(srcdir)/'`./src/liblua/lzio.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzio.Tpo $(DEPDIR)/lzio.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lzio.c' object='lzio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzio.lo `test -f './src/liblua/lzio.c' || echo '$(srcdir)/'`./src/liblua/lzio.c lauxlib.lo: ./src/liblua/lauxlib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lauxlib.lo -MD -MP -MF $(DEPDIR)/lauxlib.Tpo -c -o lauxlib.lo `test -f './src/liblua/lauxlib.c' || echo '$(srcdir)/'`./src/liblua/lauxlib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lauxlib.Tpo $(DEPDIR)/lauxlib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lauxlib.c' object='lauxlib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lauxlib.lo `test -f './src/liblua/lauxlib.c' || echo '$(srcdir)/'`./src/liblua/lauxlib.c lbaselib.lo: ./src/liblua/lbaselib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lbaselib.lo -MD -MP -MF $(DEPDIR)/lbaselib.Tpo -c -o lbaselib.lo `test -f './src/liblua/lbaselib.c' || echo '$(srcdir)/'`./src/liblua/lbaselib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lbaselib.Tpo $(DEPDIR)/lbaselib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lbaselib.c' object='lbaselib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lbaselib.lo `test -f './src/liblua/lbaselib.c' || echo '$(srcdir)/'`./src/liblua/lbaselib.c ldblib.lo: ./src/liblua/ldblib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldblib.lo -MD -MP -MF $(DEPDIR)/ldblib.Tpo -c -o ldblib.lo `test -f './src/liblua/ldblib.c' || echo '$(srcdir)/'`./src/liblua/ldblib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ldblib.Tpo $(DEPDIR)/ldblib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/ldblib.c' object='ldblib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldblib.lo `test -f './src/liblua/ldblib.c' || echo '$(srcdir)/'`./src/liblua/ldblib.c lmathlib.lo: ./src/liblua/lmathlib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmathlib.lo -MD -MP -MF $(DEPDIR)/lmathlib.Tpo -c -o lmathlib.lo `test -f './src/liblua/lmathlib.c' || echo '$(srcdir)/'`./src/liblua/lmathlib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmathlib.Tpo $(DEPDIR)/lmathlib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/lmathlib.c' object='lmathlib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmathlib.lo `test -f './src/liblua/lmathlib.c' || echo '$(srcdir)/'`./src/liblua/lmathlib.c loadlib.lo: ./src/liblua/loadlib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loadlib.lo -MD -MP -MF $(DEPDIR)/loadlib.Tpo -c -o loadlib.lo `test -f './src/liblua/loadlib.c' || echo '$(srcdir)/'`./src/liblua/loadlib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/loadlib.Tpo $(DEPDIR)/loadlib.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/loadlib.c' object='loadlib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loadlib.lo `test -f './src/liblua/loadlib.c' || echo '$(srcdir)/'`./src/liblua/loadlib.c linit.lo: ./src/liblua/linit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linit.lo -MD -MP -MF $(DEPDIR)/linit.Tpo -c -o linit.lo `test -f './src/liblua/linit.c' || echo '$(srcdir)/'`./src/liblua/linit.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/linit.Tpo $(DEPDIR)/linit.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/liblua/linit.c' object='linit.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linit.lo `test -f './src/liblua/linit.c' || echo '$(srcdir)/'`./src/liblua/linit.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/lua/AUTHORS0000644000175000017500000000005311451352576014221 00000000000000Daniel Borgmann gtk-engines-2.20.2/engines/mist/0000755000175000017500000000000011451420650013413 500000000000000gtk-engines-2.20.2/engines/mist/src/0000755000175000017500000000000011451420650014202 500000000000000gtk-engines-2.20.2/engines/mist/src/mist-rc-style.c0000644000175000017500000000426411445424675017026 00000000000000#include "mist-rc-style.h" #include "mist-style.h" G_DEFINE_DYNAMIC_TYPE (MistRcStyle, mist_rc_style, GTK_TYPE_RC_STYLE) static guint mist_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner); static void mist_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src); static GtkStyle *mist_rc_style_create_style (GtkRcStyle *rc_style); void mist_rc_style_register_types (GTypeModule *module) { mist_rc_style_register_type (module); } static void mist_rc_style_init (MistRcStyle *style) { } static void mist_rc_style_class_init (MistRcStyleClass *klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->parse = mist_rc_style_parse; rc_style_class->merge = mist_rc_style_merge; rc_style_class->create_style = mist_rc_style_create_style; } static void mist_rc_style_class_finalize (MistRcStyleClass *klass) { } static guint mist_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner) { static GQuark scope_id = 0; guint old_scope; guint token; /* Set up a new scope in this scanner. */ if (!scope_id) scope_id = g_quark_from_string("mist_theme_engine"); /* If we bail out due to errors, we *don't* reset the scope, so the * error messaging code can make sense of our tokens. */ old_scope = g_scanner_set_scope(scanner, scope_id); /* We're ready to go, now parse the top level */ token = g_scanner_peek_next_token(scanner); while (token != G_TOKEN_RIGHT_CURLY) { switch (token) { default : token = G_TOKEN_RIGHT_CURLY; } token = g_scanner_peek_next_token (scanner); if (token != G_TOKEN_NONE) { return token; } } g_scanner_get_next_token(scanner); g_scanner_set_scope(scanner, old_scope); return G_TOKEN_NONE; } static void mist_rc_style_merge (GtkRcStyle * dest, GtkRcStyle * src) { GTK_RC_STYLE_CLASS (mist_rc_style_parent_class)->merge (dest, src); } /* Create an empty style suitable to this RC style */ static GtkStyle * mist_rc_style_create_style (GtkRcStyle *rc_style) { void *ptr; ptr = GTK_STYLE (g_object_new (MIST_TYPE_STYLE, NULL)); return (GtkStyle *)ptr; } gtk-engines-2.20.2/engines/mist/src/mist-rc-style.h0000644000175000017500000000173411445424675017032 00000000000000#include #include "ge-support.h" typedef struct _MistRcStyle MistRcStyle; typedef struct _MistRcStyleClass MistRcStyleClass; #define MIST_TYPE_RC_STYLE (mist_rc_style_get_type ()) #define MIST_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), MIST_TYPE_RC_STYLE, MistRcStyle)) #define MIST_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIST_TYPE_RC_STYLE, MistRcStyleClass)) #define MIST_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), MIST_TYPE_RC_STYLE)) #define MIST_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIST_TYPE_RC_STYLE)) #define MIST_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIST_TYPE_RC_STYLE, MistRcStyleClass)) struct _MistRcStyle { GtkRcStyle parent_instance; }; struct _MistRcStyleClass { GtkRcStyleClass parent_class; }; GE_INTERNAL void mist_rc_style_register_types (GTypeModule *module); GE_INTERNAL GType mist_rc_style_get_type (void); gtk-engines-2.20.2/engines/mist/src/mist-style.c0000644000175000017500000011340411446654310016411 00000000000000/* Mist theme for gtk, based on thinice, based on raster's Motif theme * and the Metal theme. Mist Author: Dave Camp Thinice Authors: Tim Gerla Tomas gren */ #include #include #include #include #include "mist-style.h" #include "mist-rc-style.h" #define YTHICKNESS(style) (style->ythickness) #define XTHICKNESS(style) (style->xthickness) G_DEFINE_DYNAMIC_TYPE (MistStyle, mist_style, GTK_TYPE_STYLE) static void mist_style_init (MistStyle *style); static void mist_style_class_init (MistStyleClass *klass); void mist_style_register_types (GTypeModule *module) { mist_style_register_type (module); } static GtkShadowType mist_get_shadow_type (GtkStyle *style, const char *detail, GtkShadowType requested) { GtkShadowType retval = GTK_SHADOW_NONE; if (requested != GTK_SHADOW_NONE) { retval = GTK_SHADOW_ETCHED_IN; } if (CHECK_DETAIL(detail, "dockitem") || CHECK_DETAIL(detail, "handlebox_bin")) { retval = GTK_SHADOW_NONE; } else if (CHECK_DETAIL(detail, "spinbutton_up") || CHECK_DETAIL(detail, "spinbutton_down")) { retval = GTK_SHADOW_OUT; } else if (CHECK_DETAIL(detail, "button") || CHECK_DETAIL(detail, "togglebutton") || CHECK_DETAIL(detail, "notebook") || CHECK_DETAIL(detail, "optionmenu")) { retval = requested; } else if (CHECK_DETAIL(detail, "menu")) { retval = GTK_SHADOW_ETCHED_IN; } return retval; } static void mist_dot (cairo_t *cr, CairoColor *color1, CairoColor *color2, int x, int y) { ge_cairo_set_color (cr, color1); cairo_rectangle (cr, x + 1, y + 1, 1, 1); cairo_rectangle (cr, x + 1, y, 1, 1); cairo_rectangle (cr, x, y + 1, 1, 1); cairo_fill (cr); ge_cairo_set_color (cr, color2); cairo_rectangle (cr, x - 1, y - 1, 1, 1); cairo_rectangle (cr, x - 1, y, 1, 1); cairo_rectangle (cr, x, y - 1, 1, 1); cairo_fill (cr); } static void mist_draw_border (GtkStyle *style, cairo_t *cr, GtkStateType state_type, GtkShadowType shadow_type, int x, int y, int width, int height) { MistStyle *mist_style = MIST_STYLE (style); CairoColor color1; CairoColor color2; g_return_if_fail(shadow_type != GTK_SHADOW_NONE); switch (shadow_type) { case GTK_SHADOW_ETCHED_IN : case GTK_SHADOW_ETCHED_OUT : color1 = mist_style->color_cube.dark[state_type]; color2 = mist_style->color_cube.dark[state_type]; break; case GTK_SHADOW_OUT : color1 = mist_style->color_cube.light[state_type]; color2 = mist_style->color_cube.dark[state_type]; break; case GTK_SHADOW_IN : color1 = mist_style->color_cube.dark[state_type]; color2 = mist_style->color_cube.light[state_type]; break; case GTK_SHADOW_NONE : default : color1 = mist_style->color_cube.bg[state_type]; color2 = mist_style->color_cube.bg[state_type]; } ge_cairo_simple_border (cr, &color1, &color2, x, y, width, height, FALSE); } static void mist_style_draw_hline(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x1, int x2, int y) { MistStyle *mist_style = MIST_STYLE (style); int thickness_light; int thickness_dark; int i; cairo_t *cr; CHECK_ARGS cr = ge_gdk_drawable_to_cairo (window, area); if (CHECK_DETAIL(detail, "hseparator") || CHECK_DETAIL(detail, "menuitem") || CHECK_DETAIL(detail, "slider") || CHECK_DETAIL(detail, "vscale")) { ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); cairo_move_to (cr, x1 + 0.5, y + 0.5); cairo_line_to (cr, x2 - 0.5, y + 0.5); cairo_stroke (cr); } else { thickness_light = YTHICKNESS(style) / 2; thickness_dark = YTHICKNESS(style) - thickness_light; for (i = 0; i < thickness_dark; i++) { ge_cairo_set_color(cr, &mist_style->color_cube.light[state_type]); cairo_move_to (cr, x2 - i - 0.5, y + i + 0.5); cairo_line_to (cr, x2 + 0.5, y + i + 0.5); cairo_stroke (cr); ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); cairo_move_to (cr, x1 + 0.5, y + i + 0.5); cairo_line_to (cr, x2 - i - 0.5, y + i + 0.5); cairo_stroke (cr); } y += thickness_dark; for (i = 0; i < thickness_light; i++) { ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); cairo_move_to (cr, x1 + 0.5, y + i + 0.5); cairo_line_to (cr, x1 + thickness_light - i - 0.5, y + i + 0.5); cairo_stroke (cr); ge_cairo_set_color(cr, &mist_style->color_cube.light[state_type]); cairo_move_to (cr, x1 + thickness_light - i - 0.5, y + i + 0.5); cairo_line_to (cr, x2 + 0.5, y + i + 0.5); cairo_stroke (cr); } } cairo_destroy(cr); } static void mist_style_draw_vline(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int y1, int y2, int x) { MistStyle *mist_style = MIST_STYLE (style); int thickness_light; int thickness_dark; int i; cairo_t *cr; CHECK_ARGS cr = ge_gdk_drawable_to_cairo (window, area); if (CHECK_DETAIL(detail, "vseparator") || CHECK_DETAIL(detail, "toolbar") || CHECK_DETAIL(detail, "slider") || CHECK_DETAIL(detail, "hscale")) { ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); cairo_move_to (cr, x + 0.5, y1 + 0.5); cairo_line_to (cr, x + 0.5, y2 - 0.5); cairo_stroke (cr); } else { thickness_light = XTHICKNESS(style) / 2; thickness_dark = XTHICKNESS(style) - thickness_light; for (i = 0; i < thickness_dark; i++) { ge_cairo_set_color(cr, &mist_style->color_cube.light[state_type]); cairo_move_to (cr, x + i + 0.5, y2 - i - 0.5); cairo_line_to (cr, x + i + 0.5, y2 + 0.5); cairo_stroke (cr); ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); cairo_move_to (cr, x + i + 0.5, y1 + 0.5); cairo_line_to (cr, x + i + 0.5, y2 - i - 0.5); cairo_stroke (cr); } x += thickness_dark; for (i = 0; i < thickness_light; i++) { ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); cairo_move_to (cr, x + i + 0.5, y1 + 0.5); cairo_line_to (cr, x + i + 0.5, y1 + thickness_light - i - 0.5); cairo_stroke (cr); ge_cairo_set_color(cr, &mist_style->color_cube.light[state_type]); cairo_move_to (cr, x + i + 0.5, y1 + thickness_light - i - 0.5); cairo_line_to (cr, x + i + 0.5, y2 - 0.5); cairo_stroke (cr); } } cairo_destroy(cr); } static void mist_style_draw_shadow(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height) { MistStyle *mist_style = MIST_STYLE (style); cairo_t *cr; CHECK_ARGS SANITIZE_SIZE shadow_type = mist_get_shadow_type (style, detail, shadow_type); if (shadow_type == GTK_SHADOW_NONE) return; cr = ge_gdk_drawable_to_cairo (window, area); if (state_type == GTK_STATE_INSENSITIVE) { shadow_type = GTK_SHADOW_ETCHED_IN; } if (CHECK_DETAIL(detail, "frame") && widget && widget->parent && GE_IS_STATUSBAR (widget->parent)) { ge_cairo_set_color(cr, &mist_style->color_cube.dark[GTK_STATE_NORMAL]); cairo_move_to (cr, x + 0.5, y + 0.5); cairo_line_to (cr, x + width - 0.5, y + 0.5); cairo_stroke (cr); } else { mist_draw_border (style, cr, state_type, shadow_type,x, y, width, height); } cairo_destroy(cr); } static void mist_style_draw_polygon(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, GdkPoint *points, int npoints, int fill) { MistStyle *mist_style = MIST_STYLE (style); static const gdouble pi_over_4 = G_PI_4; static const gdouble pi_3_over_4 = G_PI_4 * 3; CairoColor *color1; CairoColor *color2; CairoColor *color3; CairoColor *color4; gdouble angle; int xadjust; int yadjust; int i; cairo_t *cr; CHECK_ARGS g_return_if_fail(points != NULL); switch (shadow_type) { case GTK_SHADOW_IN: color1 = &mist_style->color_cube.light[state_type]; color2 = &mist_style->color_cube.dark[state_type]; color3 = &mist_style->color_cube.light[state_type]; color4 = &mist_style->color_cube.dark[state_type]; break; case GTK_SHADOW_ETCHED_IN: color1 = &mist_style->color_cube.light[state_type]; color2 = &mist_style->color_cube.dark[state_type]; color3 = &mist_style->color_cube.dark[state_type]; color4 = &mist_style->color_cube.light[state_type]; break; case GTK_SHADOW_OUT: color1 = &mist_style->color_cube.dark[state_type]; color2 = &mist_style->color_cube.light[state_type]; color3 = &mist_style->color_cube.dark[state_type]; color4 = &mist_style->color_cube.light[state_type]; break; case GTK_SHADOW_ETCHED_OUT: color1 = &mist_style->color_cube.dark[state_type]; color2 = &mist_style->color_cube.light[state_type]; color3 = &mist_style->color_cube.light[state_type]; color4 = &mist_style->color_cube.dark[state_type]; break; default: return; } cr = ge_gdk_drawable_to_cairo (window, area); if (fill) ge_cairo_polygon(cr, &mist_style->color_cube.bg[state_type], points, npoints); npoints--; for (i = 0; i < npoints; i++) { if ((points[i].x == points[i + 1].x) && (points[i].y == points[i + 1].y)) { angle = 0; } else { angle = atan2(points[i + 1].y - points[i].y, points[i + 1].x - points[i].x); } if ((angle > -pi_3_over_4) && (angle < pi_over_4)) { if (angle > -pi_over_4) { xadjust = 0; yadjust = 1; } else { xadjust = 1; yadjust = 0; } ge_cairo_line(cr, color1, points[i].x - xadjust, points[i].y - yadjust, points[i + 1].x - xadjust, points[i + 1].y - yadjust); ge_cairo_line(cr, color3, points[i].x, points[i].y, points[i + 1].x, points[i + 1].y); } else { if ((angle < -pi_3_over_4) || (angle > pi_3_over_4)) { xadjust = 0; yadjust = 1; } else { xadjust = 1; yadjust = 0; } ge_cairo_line(cr, color4, points[i].x + xadjust, points[i].y + yadjust, points[i + 1].x + xadjust, points[i + 1].y + yadjust); ge_cairo_line(cr, color2, points[i].x, points[i].y, points[i + 1].x, points[i + 1].y); } } cairo_destroy(cr); } static void mist_style_draw_diamond(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const char *detail, int x, int y, int width, int height) { MistStyle *mist_style = MIST_STYLE (style); int half_width; int half_height; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE half_width = width / 2; half_height = height / 2; cr = ge_gdk_drawable_to_cairo (window, area); switch (shadow_type) { case GTK_SHADOW_IN: ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + 2, y + half_height, x + half_width, y + height - 2); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + half_width, y + height - 2, x + width - 2, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + 1, y + half_height, x + half_width, y + height - 1); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + half_width, y + height - 1, x + width - 1, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x, y + half_height, x + half_width, y + height); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + half_width, y + height, x + width, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + 2, y + half_height, x + half_width, y + 2); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + half_width, y + 2, x + width - 2, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + 1, y + half_height, x + half_width, y + 1); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + half_width, y + 1, x + width - 1, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x, y + half_height, x + half_width, y); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + half_width, y, x + width, y + half_height); break; case GTK_SHADOW_OUT: ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + 2, y + half_height, x + half_width, y + height - 2); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + half_width, y + height - 2, x + width - 2, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + 1, y + half_height, x + half_width, y + height - 1); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + half_width, y + height - 1, x + width - 1, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x, y + half_height, x + half_width, y + height); ge_cairo_line(cr, &mist_style->color_cube.dark[state_type], x + half_width, y + height, x + width, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + 2, y + half_height, x + half_width, y + 2); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + half_width, y + 2, x + width - 2, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + 1, y + half_height, x + half_width, y + 1); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + half_width, y + 1, x + width - 1, y + half_height); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x, y + half_height, x + half_width, y); ge_cairo_line(cr, &mist_style->color_cube.light[state_type], x + half_width, y, x + width, y + half_height); break; default: break; } cairo_destroy(cr); } static void mist_style_draw_box(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height) { MistStyle *mist_style = MIST_STYLE (style); CairoColor *light, *dark; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE if (CHECK_DETAIL(detail, "menuitem") && state_type == GTK_STATE_PRELIGHT) { state_type = GTK_STATE_SELECTED; } light = &mist_style->color_cube.light[state_type]; dark = &mist_style->color_cube.dark[state_type]; cr = ge_gdk_drawable_to_cairo (window, area); if (CHECK_DETAIL(detail, "optionmenutab")) { ge_cairo_line(cr, dark, x - 5, y, x - 5, y + height); gtk_paint_arrow (style, window, state_type, shadow_type, area, widget, detail, GTK_ARROW_DOWN, TRUE, x + 1, y + 1, width - 2, height - 2); } else if (CHECK_DETAIL(detail, "trough")) { ge_cairo_set_color(cr, &mist_style->color_cube.bg[state_type]); cairo_rectangle(cr, x, y, width - 1, height - 1); cairo_fill(cr); ge_cairo_set_color(cr, dark); ge_cairo_stroke_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1); } else if (CHECK_DETAIL(detail, "menubar") || CHECK_DETAIL(detail, "dockitem_bin") || CHECK_DETAIL(detail, "dockitem") || CHECK_DETAIL(detail, "toolbar") || CHECK_DETAIL(detail, "handlebox")) { if (shadow_type != GTK_SHADOW_NONE) { ge_cairo_line (cr, &mist_style->color_cube.dark[GTK_STATE_NORMAL], x, y + height - 1, x + width - 1, y + height - 1); } } else if (CHECK_DETAIL(detail, "bar")) { if (width > 1 && height > 1) { ge_cairo_set_color(cr, &mist_style->color_cube.base[GTK_STATE_SELECTED]); cairo_rectangle(cr, x + 1, y + 1, width - 2, height - 2); cairo_fill(cr); } ge_cairo_simple_border (cr, &mist_style->color_cube.dark[GTK_STATE_SELECTED], &mist_style->color_cube.dark[GTK_STATE_SELECTED], x, y, width, height, FALSE); } else if (CHECK_DETAIL(detail, "buttondefault")) { ge_cairo_set_color(cr, &mist_style->color_cube.fg[GTK_STATE_NORMAL]); ge_cairo_stroke_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1); } else { /* Make sure stepper and slider outlines "overlap" - taken from * bluecurve */ if (CHECK_DETAIL(detail, "slider") && widget && GE_IS_RANGE (widget)) { GtkAdjustment *adj = GTK_RANGE (widget)->adjustment; if (adj->value <= adj->lower && (GTK_RANGE (widget)->has_stepper_a || GTK_RANGE (widget)->has_stepper_b)) { if (GE_IS_VSCROLLBAR (widget)) { height += 1; if (!gtk_range_get_inverted (GTK_RANGE (widget))) y -= 1; } else if (GE_IS_HSCROLLBAR (widget)) { width += 1; if (!gtk_range_get_inverted (GTK_RANGE (widget))) x -= 1; } } if (adj->value >= adj->upper - adj->page_size && (GTK_RANGE (widget)->has_stepper_c || GTK_RANGE (widget)->has_stepper_d)) { if (GE_IS_VSCROLLBAR (widget)) { height += 1; if (gtk_range_get_inverted (GTK_RANGE (widget))) y -= 1; } else if (GE_IS_HSCROLLBAR (widget)) { width += 1; if (gtk_range_get_inverted (GTK_RANGE (widget))) x -= 1; } } } gtk_style_apply_default_background(style, window, widget && !GTK_WIDGET_NO_WINDOW(widget), state_type, area, x, y, width, height); shadow_type = mist_get_shadow_type (style, detail, shadow_type); if (state_type == GTK_STATE_INSENSITIVE && shadow_type != GTK_SHADOW_NONE) { shadow_type = GTK_SHADOW_ETCHED_IN; } if (shadow_type != GTK_SHADOW_NONE) { mist_draw_border (style, cr, state_type, shadow_type, x, y, width, height); } } cairo_destroy(cr); } static void mist_style_draw_check(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height) { MistStyle *mist_style = MIST_STYLE (style); cairo_t *cr; SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_set_color(cr, &mist_style->color_cube.base[state_type == GTK_STATE_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL ]); cairo_rectangle(cr, x + 1, y + 1, width - 3, height - 3); cairo_fill(cr); ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); ge_cairo_stroke_rectangle(cr, x + 0.5, y + 0.5, width - 2, height - 2); if (shadow_type == GTK_SHADOW_IN) { if (state_type == GTK_STATE_INSENSITIVE) ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); else ge_cairo_set_color(cr, &mist_style->color_cube.base[GTK_STATE_SELECTED]); cairo_rectangle(cr, x + 2, y + 2, width - 5, height - 5); cairo_fill(cr); } else if (shadow_type == GTK_SHADOW_ETCHED_IN) { /* inconsistent */ #define gray50_width 2 #define gray50_height 2 GdkBitmap *stipple; GdkGC *gc = style->base_gc[GTK_STATE_SELECTED]; static const char gray50_bits[] = { 0x02, 0x01 }; stipple = gdk_bitmap_create_from_data (window, gray50_bits, gray50_width, gray50_height); if (area) gdk_gc_set_clip_rectangle (gc, area); gdk_gc_set_fill (gc, GDK_STIPPLED); gdk_gc_set_stipple (gc, stipple); gdk_draw_rectangle(window, gc, TRUE, x + 2, y + 2, width - 5, height - 5); gdk_gc_set_fill (gc, GDK_SOLID); if (area) gdk_gc_set_clip_rectangle (gc, NULL); #undef gray50_width #undef gray50_height } cairo_destroy(cr); } static void mist_style_draw_option(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height) { MistStyle *mist_style = MIST_STYLE (style); cairo_t *cr; SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); cairo_arc(cr, x + floor(width/2), y + floor(height/2), floor(width/2) - 0.5, 0 , 2 * G_PI); ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type == GTK_STATE_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL]); cairo_stroke (cr); cairo_arc(cr, x + floor(width/2), y + floor(height/2), floor(width/2) - 0.5, 0 , 2 * G_PI); ge_cairo_set_color(cr, &mist_style->color_cube.base[state_type == GTK_STATE_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL]); cairo_fill (cr); cairo_arc(cr, x + floor(width/2), y + floor(height/2), floor(width/2) - 0.5, 0 , 2 * G_PI); cairo_set_source_rgba(cr, 0, 0, 0, 0.35); cairo_stroke (cr); if (shadow_type == GTK_SHADOW_ETCHED_IN) { /* inconsistent */ /* Rough logic, just make thickness 1/3 height */ int line_width = ceil((height + 1)/3); /* Force Thickness Even */ line_width -= (line_width % 2); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_width (cr, line_width + ((height % 2)?1:0)); cairo_move_to(cr, x + line_width - ((height % 2)?0.5:0), y + floor(height/2)); cairo_line_to(cr, x + width - line_width + ((height % 2)?0.5:0), y + floor(height/2)); ge_cairo_set_color(cr, &mist_style->color_cube.bg[GTK_STATE_SELECTED]); cairo_stroke (cr); } else if (shadow_type == GTK_SHADOW_IN) { /* checked */ if (state_type == GTK_STATE_INSENSITIVE) ge_cairo_set_color(cr, &mist_style->color_cube.dark[state_type]); else ge_cairo_set_color(cr, &mist_style->color_cube.base[GTK_STATE_SELECTED]); cairo_arc(cr, x + floor(width/2), y + floor(height/2), floor((width - 7)/2) + 1, 0 , 2 * G_PI); cairo_fill (cr); } cairo_destroy(cr); } static void mist_style_draw_shadow_gap(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height, GtkPositionType gap_side, int gap_x, int gap_width) { MistStyle *mist_style = MIST_STYLE (style); CairoColor *color1 = NULL; CairoColor *color2 = NULL; cairo_t *cr; gint start; g_return_if_fail (window != NULL); SANITIZE_SIZE shadow_type = mist_get_shadow_type (style, detail, shadow_type); cr = ge_gdk_drawable_to_cairo (window, area); switch (shadow_type) { case GTK_SHADOW_NONE: /* need to destroy the cairo context. */ cairo_destroy (cr); return; case GTK_SHADOW_IN: color1 = &mist_style->color_cube.dark[state_type]; color2 = &mist_style->color_cube.light[state_type]; break; case GTK_SHADOW_OUT: color1 = &mist_style->color_cube.light[state_type]; color2 = &mist_style->color_cube.dark[state_type]; break; case GTK_SHADOW_ETCHED_IN: case GTK_SHADOW_ETCHED_OUT: color1 = &mist_style->color_cube.dark[state_type]; color2 = &mist_style->color_cube.dark[state_type]; } cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); cairo_rectangle (cr, x, y, width, height); switch (gap_side) { case GTK_POS_TOP: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x + start, y, MIN(width-1, gap_x+gap_width - 1) - start, 1); break; case GTK_POS_BOTTOM: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x + start, y + height - 1, MIN(width-1, gap_x+gap_width - 1) - start, 1); break; case GTK_POS_LEFT: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x, y + start, 1, MIN(width-1, gap_x+gap_width - 1) - start); break; case GTK_POS_RIGHT: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x + width - 1, y + start, 1, MIN(width-1, gap_x+gap_width - 1) - start); break; } cairo_clip (cr); cairo_new_path (cr); ge_cairo_simple_border (cr, color1, color2, x, y, width, height, FALSE); cairo_destroy(cr); } static void mist_style_draw_box_gap(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height, GtkPositionType gap_side, int gap_x, int gap_width) { SANITIZE_SIZE gtk_style_apply_default_background(style, window, widget && !GTK_WIDGET_NO_WINDOW(widget), state_type, area, x, y, width, height); mist_style_draw_shadow_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width); } static void mist_style_draw_extension(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height, GtkPositionType gap_side) { cairo_t *canvas; CairoColor *background, *light, *dark; CHECK_ARGS SANITIZE_SIZE background = &MIST_STYLE(style)->color_cube.bg[state_type]; light = &MIST_STYLE(style)->color_cube.light[state_type]; dark = &MIST_STYLE(style)->color_cube.dark[state_type]; canvas = ge_gdk_drawable_to_cairo (window, area); if ((!style->bg_pixmap[state_type]) || GDK_IS_PIXMAP(window)) { ge_cairo_set_color(canvas, background); cairo_rectangle(canvas, x, y, width, height); cairo_fill(canvas); } else { gtk_style_apply_default_background (style, window, widget && !GTK_WIDGET_NO_WINDOW(widget), state_type, area, x, y, width, height); } cairo_rectangle (canvas, x, y, width, height); cairo_clip (canvas); switch(gap_side) { case GTK_POS_BOTTOM: height++; break; case GTK_POS_TOP: y--; height++; break; case GTK_POS_RIGHT: width++; break; case GTK_POS_LEFT: x--; width++; break; } ge_cairo_simple_border (canvas, light, dark, x, y, width, height, FALSE); cairo_destroy(canvas); } static void mist_style_draw_handle(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, int width, int height, GtkOrientation orientation) { MistStyle *mist_style = MIST_STYLE (style); CairoColor *light, *dark; GdkRectangle dest; int modx, mody; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE if (!ge_is_panel_widget_item (widget) && !ge_object_is_a ((GObject*)widget, "PanelToplevel")) gtk_paint_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); light = &mist_style->color_cube.light[state_type]; dark = &mist_style->color_cube.dark[state_type]; orientation = GTK_ORIENTATION_HORIZONTAL; if (height > width) orientation = GTK_ORIENTATION_VERTICAL; x += XTHICKNESS(style); y += YTHICKNESS(style); dest.x = x; dest.y = y; dest.width = width - (XTHICKNESS(style) * 2); dest.height = height - (YTHICKNESS(style) * 2); if (orientation == GTK_ORIENTATION_HORIZONTAL) { modx = 4; mody = 0; } else { modx = 0; mody = 4; } cr = ge_gdk_drawable_to_cairo (window, &dest); mist_dot(cr, light, dark, x + width / 2 - modx, y + height / 2 - mody); mist_dot(cr, light, dark, x + width / 2, y + height / 2); mist_dot(cr, light, dark, x + width / 2 + modx, y + height / 2 + mody); cairo_destroy(cr); } static void mist_style_draw_resize_grip(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const char *detail, GdkWindowEdge edge, int x, int y, int width, int height) { MistStyle *mist_style = MIST_STYLE (style); CairoColor *light, *dark; int xi, yi; int max_x, max_y; int threshold; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE switch (edge) { case GDK_WINDOW_EDGE_NORTH_WEST: /* make it square */ if (width < height) { height = width; } else if (height < width) { width = height; } break; case GDK_WINDOW_EDGE_NORTH: if (width < height) { height = width; } break; case GDK_WINDOW_EDGE_NORTH_EAST: /* make it square, aligning to top right */ if (width < height) { height = width; } else if (height < width) { x += (width - height); width = height; } break; case GDK_WINDOW_EDGE_WEST: if (height < width) { width = height; } break; case GDK_WINDOW_EDGE_EAST: /* aligning to right */ if (height < width) { x += (width - height); width = height; } break; case GDK_WINDOW_EDGE_SOUTH_WEST: /* make it square, aligning to bottom left */ if (width < height) { y += (height - width); height = width; } else if (height < width) { width = height; } break; case GDK_WINDOW_EDGE_SOUTH: /* align to bottom */ if (width < height) { y += (height - width); height = width; } break; case GDK_WINDOW_EDGE_SOUTH_EAST: /* make it square, aligning to bottom right */ if (width < height) { y += (height - width); height = width; } else if (height < width) { x += (width - height); width = height; } break; default: g_assert_not_reached (); } gtk_style_apply_default_background (style, window, FALSE, state_type, area, x, y, width, height); light = &mist_style->color_cube.light[state_type]; dark = &mist_style->color_cube.dark[state_type]; max_x = (width - 2) / 5; max_y = (height - 2) / 5; threshold = max_x; cr = ge_gdk_drawable_to_cairo (window, area); for (xi = 0; xi <= max_x; xi++) { for (yi = 0; yi <= max_y; yi++) { gboolean draw_dot; switch (edge) { case GDK_WINDOW_EDGE_NORTH: case GDK_WINDOW_EDGE_WEST: case GDK_WINDOW_EDGE_EAST: case GDK_WINDOW_EDGE_SOUTH: draw_dot = TRUE; break; case GDK_WINDOW_EDGE_NORTH_WEST: draw_dot = (xi + yi <= threshold); break; case GDK_WINDOW_EDGE_NORTH_EAST: draw_dot = (xi >= yi); break; case GDK_WINDOW_EDGE_SOUTH_WEST: draw_dot = (xi <= yi); break; case GDK_WINDOW_EDGE_SOUTH_EAST: draw_dot = (xi + yi >= threshold); break; default: g_assert_not_reached (); } if (draw_dot) { mist_dot(cr, light, dark, x + (xi * 5) + 1, y + (yi * 5) + 1); } } } cairo_destroy(cr); } #ifdef GTK_DISABLE_DEPRECATED #ifdef GDK_DISABLE_DEPRECATED #define DISABLE_CUSTOM_STRING_DRAWING 1 #warning Disabling custom string drawing so that no deprecated API is used. #endif /* GDK_DISABLE_DEPRECATED */ #endif /* GTK_DISABLE_DEPRECATED */ #ifndef DISABLE_CUSTOM_STRING_DRAWING static void mist_style_draw_string (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, const char *string) { CHECK_ARGS if (area) { gdk_gc_set_clip_rectangle (style->fg_gc[state_type], area); } gdk_draw_string (window, gtk_style_get_font (style), style->fg_gc[state_type], x, y, string); if (area) { gdk_gc_set_clip_rectangle (style->fg_gc[state_type], NULL); } } #endif /* DISABLE_CUSTOM_STRING_DRAWING */ static void mist_style_draw_layout (GtkStyle *style, GdkWindow *window, GtkStateType state_type, gboolean use_text, GdkRectangle *area, GtkWidget *widget, const char *detail, int x, int y, PangoLayout *layout) { GdkGC *gc; CHECK_ARGS gc = use_text ? style->text_gc[state_type] : style->fg_gc[state_type]; if (area) { gdk_gc_set_clip_rectangle (gc, area); } gdk_draw_layout (window, gc, x, y, layout); if (area) { gdk_gc_set_clip_rectangle (gc, NULL); } } static GdkPixbuf * set_transparency (const GdkPixbuf *pixbuf, gdouble alpha_percent) { GdkPixbuf *target; guchar *data, *current; guint x, y, rowstride, height, width; g_return_val_if_fail (pixbuf != NULL, NULL); g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); /* Returns a copy of pixbuf with it's non-completely-transparent pixels to have an alpha level "alpha_percent" of their original value. */ target = gdk_pixbuf_add_alpha (pixbuf, FALSE, 0, 0, 0); if (alpha_percent == 1.0) return target; width = gdk_pixbuf_get_width (target); height = gdk_pixbuf_get_height (target); rowstride = gdk_pixbuf_get_rowstride (target); data = gdk_pixbuf_get_pixels (target); for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { /* The "4" is the number of chars per pixel, in this case, RGBA, the 3 means "skip to the alpha" */ current = data + (y * rowstride) + (x * 4) + 3; *(current) = (guchar) (*(current) * alpha_percent); } } return target; } static GdkPixbuf* scale_or_ref (GdkPixbuf *src, int width, int height) { if (width == gdk_pixbuf_get_width (src) && height == gdk_pixbuf_get_height (src)) { return g_object_ref (src); } else { return gdk_pixbuf_scale_simple (src, width, height, GDK_INTERP_BILINEAR); } } static GdkPixbuf * mist_style_render_icon (GtkStyle *style, const GtkIconSource *source, GtkTextDirection direction, GtkStateType state, GtkIconSize size, GtkWidget *widget, const char *detail) { int width = 1; int height = 1; GdkPixbuf *scaled; GdkPixbuf *stated; GdkPixbuf *base_pixbuf; GdkScreen *screen; GtkSettings *settings; /* Oddly, style can be NULL in this function, because * GtkIconSet can be used without a style and if so * it uses this function. */ base_pixbuf = gtk_icon_source_get_pixbuf (source); g_return_val_if_fail (base_pixbuf != NULL, NULL); if (widget && gtk_widget_has_screen (widget)) { screen = gtk_widget_get_screen (widget); settings = gtk_settings_get_for_screen (screen); } else if (style->colormap) { screen = gdk_colormap_get_screen (style->colormap); settings = gtk_settings_get_for_screen (screen); } else { settings = gtk_settings_get_default (); GTK_NOTE (MULTIHEAD, g_warning ("Using the default screen for gtk_default_render_icon()")); } if (size != (GtkIconSize) -1 && !gtk_icon_size_lookup_for_settings (settings, size, &width, &height)) { g_warning (G_STRLOC ": invalid icon size '%d'", size); return NULL; } /* If the size was wildcarded, and we're allowed to scale, then scale; otherwise, * leave it alone. */ if (size != (GtkIconSize)-1 && gtk_icon_source_get_size_wildcarded (source)) scaled = scale_or_ref (base_pixbuf, width, height); else scaled = g_object_ref (base_pixbuf); /* If the state was wildcarded, then generate a state. */ if (gtk_icon_source_get_state_wildcarded (source)) { if (state == GTK_STATE_INSENSITIVE) { stated = set_transparency (scaled, 0.3); gdk_pixbuf_saturate_and_pixelate (stated, stated, 0.1, FALSE); g_object_unref (scaled); } else if (state == GTK_STATE_PRELIGHT) { stated = gdk_pixbuf_copy (scaled); gdk_pixbuf_saturate_and_pixelate (scaled, stated, 1.2, FALSE); g_object_unref (scaled); } else { stated = scaled; } } else stated = scaled; return stated; } static void mist_style_draw_focus (GtkStyle *style, GdkWindow *window, GtkStateType state_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { MistStyle *mist_style = MIST_STYLE (style); CairoColor *dark; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); cairo_translate (cr, 0.5, 0.5); width--; height--; dark = &mist_style->color_cube.dark[state_type]; ge_cairo_set_color (cr, dark); cairo_rectangle (cr, x, y, width, height); cairo_stroke (cr); cairo_destroy (cr); } static void mist_style_init (MistStyle *style) { } static void mist_style_realize (GtkStyle * style) { MistStyle *mist_style = MIST_STYLE (style); GTK_STYLE_CLASS (mist_style_parent_class)->realize (style); ge_gtk_style_to_cairo_color_cube (style, &mist_style->color_cube); } static void mist_style_class_init (MistStyleClass *klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->realize = mist_style_realize; style_class->draw_hline = mist_style_draw_hline; style_class->draw_vline = mist_style_draw_vline; style_class->draw_shadow = mist_style_draw_shadow; style_class->draw_polygon = mist_style_draw_polygon; style_class->draw_diamond = mist_style_draw_diamond; style_class->draw_box = mist_style_draw_box; style_class->draw_tab = mist_style_draw_box; style_class->draw_check = mist_style_draw_check; style_class->draw_option = mist_style_draw_option; style_class->draw_shadow_gap = mist_style_draw_shadow_gap; style_class->draw_box_gap = mist_style_draw_box_gap; style_class->draw_extension = mist_style_draw_extension; style_class->draw_handle = mist_style_draw_handle; style_class->draw_resize_grip = mist_style_draw_resize_grip; #ifndef DISABLE_CUSTOM_STRING_DRAWING style_class->draw_string = mist_style_draw_string; #endif style_class->draw_layout = mist_style_draw_layout; style_class->render_icon = mist_style_render_icon; style_class->draw_focus = mist_style_draw_focus; } static void mist_style_class_finalize (MistStyleClass *klass) { } gtk-engines-2.20.2/engines/mist/src/mist-style.h0000644000175000017500000000167411445424675016433 00000000000000#include #include "ge-support.h" typedef struct _MistStyle MistStyle; typedef struct _MistStyleClass MistStyleClass; #define MIST_TYPE_STYLE (mist_style_get_type ()) #define MIST_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), MIST_TYPE_STYLE, MistStyle)) #define MIST_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIST_TYPE_STYLE, MistStyleClass)) #define MIST_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), MIST_TYPE_STYLE)) #define MIST_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIST_TYPE_STYLE)) #define MIST_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIST_TYPE_STYLE, MistStyleClass)) struct _MistStyle { GtkStyle parent_instance; CairoColorCube color_cube; }; struct _MistStyleClass { GtkStyleClass parent_class; }; GE_INTERNAL void mist_style_register_types (GTypeModule *module); GE_INTERNAL GType mist_style_get_type (void); gtk-engines-2.20.2/engines/mist/src/mist.c0000644000175000017500000000062511445424675015263 00000000000000#include #include "mist-rc-style.h" #include "mist-style.h" GE_EXPORT void theme_init (GTypeModule *module) { mist_rc_style_register_types (module); mist_style_register_types (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { void *ptr; ptr = GTK_RC_STYLE (g_object_new (MIST_TYPE_RC_STYLE, NULL)); return (GtkRcStyle *)ptr; } gtk-engines-2.20.2/engines/mist/Makefile.am0000644000175000017500000000106011446654310015372 00000000000000INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libmist.la EXTRA_DIST = \ ./AUTHORS libmist_la_SOURCES = \ ./src/mist-rc-style.c \ ./src/mist-rc-style.h \ ./src/mist-style.c \ ./src/mist-style.h \ ./src/mist.c libmist_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libmist_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/mist/Makefile.in0000644000175000017500000005300611451355760015415 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/mist DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libmist_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libmist_la_OBJECTS = mist-rc-style.lo mist-style.lo mist.lo libmist_la_OBJECTS = $(am_libmist_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libmist_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libmist_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libmist_la_SOURCES) DIST_SOURCES = $(libmist_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libmist.la EXTRA_DIST = \ ./AUTHORS libmist_la_SOURCES = \ ./src/mist-rc-style.c \ ./src/mist-rc-style.h \ ./src/mist-style.c \ ./src/mist-style.h \ ./src/mist.c libmist_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libmist_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/mist/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/mist/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libmist.la: $(libmist_la_OBJECTS) $(libmist_la_DEPENDENCIES) $(AM_V_CCLD)$(libmist_la_LINK) -rpath $(enginedir) $(libmist_la_OBJECTS) $(libmist_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mist-rc-style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mist-style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mist.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mist-rc-style.lo: ./src/mist-rc-style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mist-rc-style.lo -MD -MP -MF $(DEPDIR)/mist-rc-style.Tpo -c -o mist-rc-style.lo `test -f './src/mist-rc-style.c' || echo '$(srcdir)/'`./src/mist-rc-style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mist-rc-style.Tpo $(DEPDIR)/mist-rc-style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/mist-rc-style.c' object='mist-rc-style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mist-rc-style.lo `test -f './src/mist-rc-style.c' || echo '$(srcdir)/'`./src/mist-rc-style.c mist-style.lo: ./src/mist-style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mist-style.lo -MD -MP -MF $(DEPDIR)/mist-style.Tpo -c -o mist-style.lo `test -f './src/mist-style.c' || echo '$(srcdir)/'`./src/mist-style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mist-style.Tpo $(DEPDIR)/mist-style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/mist-style.c' object='mist-style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mist-style.lo `test -f './src/mist-style.c' || echo '$(srcdir)/'`./src/mist-style.c mist.lo: ./src/mist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mist.lo -MD -MP -MF $(DEPDIR)/mist.Tpo -c -o mist.lo `test -f './src/mist.c' || echo '$(srcdir)/'`./src/mist.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mist.Tpo $(DEPDIR)/mist.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/mist.c' object='mist.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mist.lo `test -f './src/mist.c' || echo '$(srcdir)/'`./src/mist.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/mist/AUTHORS0000755000175000017500000000022611445424675014424 00000000000000Dave Camp Loosely based on ThinIce by: Tim Gerla Tomas gren Richard Hult gtk-engines-2.20.2/engines/redmond/0000755000175000017500000000000011451420650014067 500000000000000gtk-engines-2.20.2/engines/redmond/src/0000755000175000017500000000000011451420650014656 500000000000000gtk-engines-2.20.2/engines/redmond/src/redmond_gtk2_misc.c0000644000175000017500000004401111446654310020342 00000000000000/* Redmond95 - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Andrew Johnson * modified by Benjamin Berg * */ #include "redmond_gtk2_engine.h" #include "redmond_gtk2_drawing.h" #include "redmond_gtk2_misc.h" void do_redmond_draw_masked_fill (cairo_t * cr, CairoPattern *mask, CairoColor * background, CairoColor * foreground, gint x, gint y, gint width, gint height) { ge_cairo_set_color(cr, background); cairo_rectangle (cr, x, y, width, height); cairo_fill(cr); ge_cairo_set_color(cr, foreground); cairo_save (cr); cairo_rectangle (cr, x, y, width, height); cairo_clip (cr); cairo_mask (cr, mask->handle); cairo_restore (cr); } /*********************************************** * do_redmond_draw_check - * * A simple routine to draw a redmond style * check mark using the passed Color. * * It originated in Smooth-Engine. ***********************************************/ void do_redmond_draw_check (cairo_t *canvas, CairoColor * color, gint x, gint y, gint width, gint height) { gint odd = 0; gdouble left, top; gint scale, factor; scale = MIN(width, height); factor = 10; if ((odd = (scale % 2))) { factor -= 1; } if (scale <= (factor + 2)) scale = factor; left = x + floor((width - scale) / 2) + 0.5; top = y + floor((height - scale) / 2) + 0.5; cairo_save(canvas); ge_cairo_set_color(canvas, color); cairo_set_line_width(canvas, 0.5); /* EVEN - 0 1 2 3 4 5 6 7 8 9 +---+---+---+---+---+---+---+---+---+---+ 0 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 1 | | | | | | | | | x | | +---+---+---+---+---+---+---+---+---+---+ 2 | | | | | | | | x | x | | +---+---+---+---+---+---+---+---+---+---+ 3 | | | | | | | x | x | x | | +---+---+---+---+---+---+---+---+---+---+ 4 | | x | | | | x | x | x | | | +---+---+---+---+---+---+---+---+---+---+ 5 | | x | x | | x | x | x | | | | +---+---+---+---+---+---+---+---+---+---+ 6 | | x | x | x | x | x | | | | | +---+---+---+---+---+---+---+---+---+---+ 7 | | | x | x | x | | | | | | +---+---+---+---+---+---+---+---+---+---+ 8 | | | | x | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 9 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ ODD - 0 1 2 3 4 5 6 7 8 +---+---+---+---+---+---+---+---+---+ 0 | | | | | | | | | | +---+---+---+---+---+---+---+---+---+ 1 | | | | | | | | x | | +---+---+---+---+---+---+---+---+---+ 2 | | | | | | | x | x | | +---+---+---+---+---+---+---+---+---+ 3 | | x | | | | x | x | x | | +---+---+---+---+---+---+---+---+---+ 4 | | x | x | | x | x | x | | | +---+---+---+---+---+---+---+---+---+ 5 | | x | x | x | x | x | | | | +---+---+---+---+---+---+---+---+---+ 6 | | | x | x | x | | | | | +---+---+---+---+---+---+---+---+---+ 7 | | | | x | | | | | | +---+---+---+---+---+---+---+---+---+ 8 | | | | | | | | | | +---+---+---+---+---+---+---+---+---+ */ cairo_move_to(canvas, left + floor((1*scale)/factor), top + floor(((4-odd)*scale)/factor)); /*(1,4-odd)*/ cairo_line_to(canvas, left + floor((1*scale)/factor), top + floor(((6-odd)*scale)/factor)); /*(1,6-odd)*/ cairo_line_to(canvas, left + floor((3*scale)/factor), top + floor(((8-odd)*scale)/factor)); /*(3,8-odd)*/ cairo_line_to(canvas, left + floor(((8-odd)*scale)/factor), top + floor((3*scale)/factor)); /*(8-odd,3)*/ cairo_line_to(canvas, left + floor(((8-odd)*scale)/factor), top + floor((1*scale)/factor)); /*(8-odd,1)*/ cairo_line_to(canvas, left + floor((3*scale)/factor), top + floor(((6-odd)*scale)/factor)); /*(3,6-odd)*/ cairo_line_to(canvas, left + floor((1*scale)/factor), top + floor(((4-odd)*scale)/factor)); /*(1,4-odd)*/ cairo_fill_preserve(canvas); cairo_stroke(canvas); cairo_restore(canvas); } /*********************************************** * do_redmond_draw_arrow - * * A simple routine to draw a redmond style * arrow using the passed GC. * * Taken in part from smooth, it was based on * XFCE's & CleanIce draw arrow routines, * both which were based on ThinIce's. ***********************************************/ void do_redmond_draw_arrow (cairo_t *canvas, CairoColor * color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { gint aw = width, ah = height; GdkPoint points[3]; switch (arrow_type) { case GTK_ARROW_UP: case GTK_ARROW_DOWN: { gdouble tmp=((aw+1)/2) - ((height%2)?1:0); if (tmp > ah) { aw = 2*ah - 1 - ((height%2)?1:0); ah = (aw+1)/2; } else { ah = (gint) tmp; aw = 2*ah - 1; } if ((aw < 5) || (ah < 3)) { aw = 5; ah = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; width += width % 2 - 1; points[0].x = x; points[1].x = x + width - 1; points[2].x = x + ((height - 1) - (height - (1 + width / 2))); points[0].y = points[1].y = y; points[2].y = y + height - 1; if (arrow_type == GTK_ARROW_UP) { gint flip = points[1].y; points[0].y = points[1].y = points[2].y; points[2].y = flip; } } break; case GTK_ARROW_LEFT: case GTK_ARROW_RIGHT: { gdouble tmp=((ah+1)/2) - ((width%2)?1:0); if (tmp > aw) { ah = 2*aw - 1 - ((width%2)?1:0); aw = (ah+1)/2; } else { aw = (gint) tmp; ah = 2*aw - 1; } if ((ah < 5) || (aw < 3)) { ah = 5; aw = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; height += height % 2 - 1; points[0].y = y; points[1].y = y + height - 1; points[2].y = y + ((width - 1) - (width - (1 + height / 2))); points[0].x = points[1].x = x; points[2].x = x + width - 1; if (arrow_type == GTK_ARROW_LEFT) { gint flip = points[0].x; points[0].x = points[1].x = points[2].x; points[2].x = flip; } } break; default: { return; } } cairo_save(canvas); ge_cairo_set_color(canvas, color); cairo_set_line_width (canvas, 0.5); cairo_move_to(canvas, points[0].x + 0.5, points[0].y + 0.5); cairo_line_to(canvas, points[1].x + 0.5, points[1].y + 0.5); cairo_line_to(canvas, points[2].x + 0.5, points[2].y + 0.5); cairo_line_to(canvas, points[0].x + 0.5, points[0].y + 0.5); if (fill) { cairo_stroke_preserve(canvas); cairo_fill(canvas); } else { cairo_stroke(canvas); } cairo_restore(canvas); } void do_redmond_draw_simple_circle (cairo_t *canvas, CairoColor * tl, CairoColor * br, gint center_x, gint center_y, gint radius) { cairo_save(canvas); cairo_move_to(canvas, center_x + (radius + 2), center_y + (radius + 2)); cairo_line_to(canvas, center_x + (radius + 2)*sin(G_PI/4.0), center_y - (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x - (radius + 2)*sin(G_PI/4.0), center_y + (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x + (radius + 2), center_y + (radius + 2)); cairo_clip (canvas); ge_cairo_set_color(canvas, br); cairo_arc(canvas, center_x, center_y, radius, 0, 2*G_PI); cairo_fill(canvas); cairo_restore(canvas); cairo_save(canvas); cairo_move_to(canvas, center_x - (radius + 2), center_y - (radius + 2)); cairo_line_to(canvas, center_x + (radius + 2)*sin(G_PI/4.0), center_y - (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x - (radius + 2)*sin(G_PI/4.0), center_y + (radius + 2)*cos(G_PI/4.0)); cairo_line_to(canvas, center_x - (radius + 2), center_y - (radius + 2)); cairo_clip (canvas); ge_cairo_set_color(canvas, tl); cairo_arc(canvas, center_x, center_y, radius, 0, 2*G_PI); cairo_fill(canvas); cairo_restore(canvas); } /*********************************************** * do_redmond_draw_line - * * A simple routine to draw a redmond style * spacer line. ***********************************************/ void do_redmond_draw_line(cairo_t *cr, CairoColor * dark, CairoColor * light, GdkRectangle * area, gint start, gint end, gint base, gboolean horizontal) { cairo_set_line_width (cr, 1); if (horizontal) { ge_cairo_set_color(cr, dark); cairo_move_to(cr, start + 1.5, base + 0.5); cairo_line_to(cr, end - 1.5, base + 0.5); cairo_stroke(cr); ge_cairo_set_color(cr, light); cairo_move_to(cr, start + 1.5, base + 1.5); cairo_line_to(cr, end - 1.5, base + 1.5); cairo_stroke(cr); } else { ge_cairo_set_color(cr, dark); cairo_move_to(cr, base + 0.5, start + 1.5); cairo_line_to(cr, base + 0.5, end - 1.5); cairo_stroke(cr); ge_cairo_set_color(cr, light); cairo_move_to(cr, base + 1.5, start + 1.5); cairo_line_to(cr, base + 1.5, end - 1.5); cairo_stroke(cr); } } /***********************************************/ /* MenuShell/MenuBar Item Prelight Workaround */ /***********************************************/ /*********************************************** * redmond_gtk2_engine_hack_menu_shell_style_set - * * Style set signal to ensure menushell signals * get cleaned up if the theme changes ***********************************************/ static gboolean redmond_gtk2_engine_hack_menu_shell_style_set(GtkWidget *widget, GtkStyle *previous_style, gpointer user_data) { redmond_gtk2_engine_hack_menu_shell_cleanup_signals(widget); return FALSE; } /*********************************************** * redmond_gtk2_engine_hack_menu_shell_destroy - * * Destroy signal to ensure menushell signals * get cleaned if it is destroyed ***********************************************/ static gboolean redmond_gtk2_engine_hack_menu_shell_destroy(GtkWidget *widget, GdkEvent *event, gpointer user_data) { redmond_gtk2_engine_hack_menu_shell_cleanup_signals(widget); return FALSE; } /*********************************************** * redmond_gtk2_engine_hack_menu_shell_motion - * * Motion signal to ensure menushell items * prelight state changes on mouse move. ***********************************************/ static gboolean redmond_gtk2_engine_hack_menu_shell_motion(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { if (GE_IS_MENU_SHELL(widget)) { gint pointer_x, pointer_y; GdkModifierType pointer_mask; GList *children = NULL, *child = NULL; gdk_window_get_pointer(widget->window, &pointer_x, &pointer_y, &pointer_mask); if (GE_IS_CONTAINER(widget)) { children = gtk_container_get_children(GTK_CONTAINER(widget)); for (child = g_list_first(children); child; child = g_list_next(child)) { if ((child->data) && GE_IS_WIDGET(child->data) && (GTK_WIDGET_STATE(GTK_WIDGET(child->data)) != GTK_STATE_INSENSITIVE)) { if ((pointer_x >= GTK_WIDGET(child->data)->allocation.x) && (pointer_y >= GTK_WIDGET(child->data)->allocation.y) && (pointer_x < (GTK_WIDGET(child->data)->allocation.x + GTK_WIDGET(child->data)->allocation.width)) && (pointer_y < (GTK_WIDGET(child->data)->allocation.y + GTK_WIDGET(child->data)->allocation.height))) { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_PRELIGHT); } else { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_NORMAL); } } } if (children) g_list_free(children); } } return FALSE; } /*********************************************** * redmond_gtk2_engine_hack_menu_shell_leave - * * Leave signal to ensure menushell items * normal state on mouse leave. ***********************************************/ static gboolean redmond_gtk2_engine_hack_menu_shell_leave(GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) { if (GE_IS_MENU_SHELL(widget)) { GList *children = NULL, *child = NULL; if (GE_IS_CONTAINER(widget)) { children = gtk_container_get_children(GTK_CONTAINER(widget)); for (child = g_list_first(children); child; child = g_list_next(child)) { if ((child->data) && GE_IS_MENU_ITEM(child->data) && (GTK_WIDGET_STATE(GTK_WIDGET(child->data)) != GTK_STATE_INSENSITIVE)) { if ((!GE_IS_MENU(GTK_MENU_ITEM(child->data)->submenu)) || (!(GTK_WIDGET_REALIZED(GTK_MENU_ITEM(child->data)->submenu) && GTK_WIDGET_VISIBLE(GTK_MENU_ITEM(child->data)->submenu) && GTK_WIDGET_REALIZED(GTK_MENU(GTK_MENU_ITEM(child->data)->submenu)->toplevel) && GTK_WIDGET_VISIBLE(GTK_MENU(GTK_MENU_ITEM(child->data)->submenu)->toplevel)))) { gtk_widget_set_state (GTK_WIDGET(child->data), GTK_STATE_NORMAL); } } } if (children) g_list_free(children); } } return FALSE; } /*********************************************** * redmond_gtk2_engine_menu_shell_setup_signals - * * Setup Menu Shell with signals to ensure * prelight works on items ***********************************************/ void redmond_gtk2_engine_hack_menu_shell_setup_signals(GtkWidget *widget) { if (GE_IS_MENU_BAR(widget)) { gint id = 0; if (!g_object_get_data(G_OBJECT(widget), "REDMOND_MENU_SHELL_HACK_SET")) { id = g_signal_connect(G_OBJECT(widget), "motion-notify-event", (GCallback)redmond_gtk2_engine_hack_menu_shell_motion, NULL); g_object_set_data(G_OBJECT(widget), "REDMOND_MENU_SHELL_MOTION_ID", (gpointer)id); id = g_signal_connect(G_OBJECT(widget), "leave-notify-event", (GCallback)redmond_gtk2_engine_hack_menu_shell_leave, NULL); g_object_set_data(G_OBJECT(widget), "REDMOND_MENU_SHELL_LEAVE_ID", (gpointer)id); id = g_signal_connect(G_OBJECT(widget), "destroy-event", (GCallback)redmond_gtk2_engine_hack_menu_shell_destroy, NULL); g_object_set_data(G_OBJECT(widget), "REDMOND_MENU_SHELL_DESTROY_ID", (gpointer)id); g_object_set_data(G_OBJECT(widget), "REDMOND_MENU_SHELL_HACK_SET", (gpointer)1); id = g_signal_connect(G_OBJECT(widget), "style-set", (GCallback)redmond_gtk2_engine_hack_menu_shell_style_set, NULL); g_object_set_data(G_OBJECT(widget), "REDMOND_MENU_SHELL_STYLE_SET_ID", (gpointer)id); } } } /*********************************************** * redmond_gtk2_engine_hack_menu_shell_cleanuo_signals - * * Cleanup/remove Menu Shell signals ***********************************************/ void redmond_gtk2_engine_hack_menu_shell_cleanup_signals(GtkWidget *widget) { if (GE_IS_MENU_BAR(widget)) { gint id = 0; id = (gint)g_object_steal_data (G_OBJECT(widget), "REDMOND_MENU_SHELL_MOTION_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "REDMOND_MENU_SHELL_LEAVE_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "REDMOND_MENU_SHELL_DESTROY_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); id = (gint)g_object_steal_data (G_OBJECT(widget), "REDMOND_MENU_SHELL_STYLE_SET_ID"); g_signal_handler_disconnect(G_OBJECT(widget), id); g_object_steal_data (G_OBJECT(widget), "REDMOND_MENU_SHELL_HACK_SET"); } } gtk-engines-2.20.2/engines/redmond/src/redmond_gtk2_misc.h0000644000175000017500000000555511445424675020371 00000000000000/* Redmond95 - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Andrew Johnson * */ /* Misc Drawing/Colour Functions */ GE_INTERNAL void do_redmond_draw_masked_fill (cairo_t * cr, CairoPattern *mask, CairoColor * background, CairoColor * foreground, gint x, gint y, gint width, gint height); GE_INTERNAL void do_redmond_draw_check (cairo_t *cr, CairoColor *color, gint x, gint y, gint width, gint height); GE_INTERNAL void do_redmond_draw_arrow (cairo_t *canvas, CairoColor *color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height); GE_INTERNAL void do_redmond_draw_simple_circle (cairo_t *canvas, CairoColor * tl, CairoColor * br, gint center_x, gint center_y, gint radius); GE_INTERNAL void do_redmond_draw_line(cairo_t *cr, CairoColor * dark, CairoColor * light, GdkRectangle * area, gint start, gint end, gint base, gboolean horizontal); GE_INTERNAL void redmond_gtk2_engine_hack_menu_shell_setup_signals(GtkWidget *widget); GE_INTERNAL void redmond_gtk2_engine_hack_menu_shell_cleanup_signals(GtkWidget *widget); gtk-engines-2.20.2/engines/redmond/src/redmond_gtk2_drawing.c0000644000175000017500000017027611446654310021057 00000000000000/* Redmond95 - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2006 Andrew Johnson * Copyright (C) 2006-2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Portions of the code based on/copied from the Bluecurve theme/engine, * License: LGPL2+ * Copyright: * Alexander Larsson * Garrett LeSage * Owen Taylor * * Portions of the code based on/copied from the Metal theme/engine, * License: LGPL2.1+ * Copyright: * Randy Gordon, randy@integrand.com * Owen Taylor * * Portions of the code based on/copied from the Smooth Engine, * License: LGPL * Copyright: * Andrew Johnson color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], area, x1, x2, y, TRUE); cairo_destroy(cr); } /*********************************************** * redmond_draw_vline - * * the Function used to draw vertical spacers. ***********************************************/ void redmond_draw_vline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint y1, gint y2, gint x) { RedmondStyle *redmond_style = REDMOND_STYLE (style); cairo_t *cr; if (ge_is_combo_box(widget, FALSE) && (!ge_is_combo_box_entry(widget))) return; CHECK_ARGS cr = ge_gdk_drawable_to_cairo (window, area); do_redmond_draw_line(cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], area, y1, y2, x, FALSE); cairo_destroy(cr); } /*********************************************** * redmond_draw_check - * * the Function used to draw all check boxes. * * Redmond Check box has essentially 3 looks - * * Normal/Prelight - * base[NORMAL] fill, fg[NORMAL] check * * Selected/Active - * bg[NORMAL] fill, fg[NORMAL] check * * Insensitive - * bg[NORMAL] fill, fg[INSENSITIVE] check * * The Shadow Always draws with a state NORMAL. ***********************************************/ void redmond_draw_check (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { RedmondStyle *redmond_style = REDMOND_STYLE (style); cairo_t *cr; CHECK_ARGS SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); if (CHECK_DETAIL (detail, "check") && /* Special case for menu items. */ (shadow != GTK_SHADOW_ETCHED_IN)) { if (shadow == GTK_SHADOW_IN) do_redmond_draw_check (cr, &redmond_style->color_cube.text[GTK_STATE_NORMAL], x + 2, y + 2, width - 4, height - 4); } else { if (state == GTK_STATE_ACTIVE || state == GTK_STATE_INSENSITIVE) { ge_cairo_set_color(cr, &redmond_style->color_cube.bg[GTK_STATE_NORMAL]); cairo_rectangle(cr, x, y, width - 1, height - 1); cairo_fill(cr); } else { /* Draw stipples for inconsistent checkboxes. */ if (shadow == GTK_SHADOW_ETCHED_IN) { do_redmond_draw_masked_fill (cr, &redmond_style->hatch_mask, &redmond_style->color_cube.bg[GTK_STATE_NORMAL], &redmond_style->color_cube.light[GTK_STATE_NORMAL], x, y, width, height); } else { /* ignore PRELIGHT state ... */ ge_cairo_set_color(cr, &redmond_style->color_cube.base[GTK_STATE_NORMAL]); cairo_rectangle(cr, x, y, width - 1, height - 1); cairo_fill(cr); } } if ((shadow == GTK_SHADOW_ETCHED_IN) || (state == GTK_STATE_INSENSITIVE)) { /* force insensitive color for inconsistent checkboxes */ do_redmond_draw_check (cr, &redmond_style->color_cube.fg[GTK_STATE_INSENSITIVE], x + 2, y + 2, width - 4, height - 4); } else if (shadow == GTK_SHADOW_IN) { do_redmond_draw_check (cr, &redmond_style->color_cube.fg[GTK_STATE_NORMAL], x + 2, y + 2, width - 4, height - 4); } redmond_draw_shadow (style, window, GTK_STATE_NORMAL, GTK_SHADOW_IN, area, widget, detail, x, y, width, height); } cairo_destroy(cr); } /*********************************************** * redmond_draw_option - * * the Function used to draw all Option boxes * * Redmond Option box has essentially 3 looks - * * Normal/Prelight - * base[NORMAL] fill, fg[NORMAL] check * * Selected/Active - * bg[NORMAL] fill, fg[NORMAL] check * * Insensitive - * bg[NORMAL] fill, fg[INSENSITIVE] check * * The Shadow Always draws with a state NORMAL. ***********************************************/ void redmond_draw_option (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { RedmondStyle *redmond_style = REDMOND_STYLE (style); gdouble bullet_radius; gint center_x; gint center_y; gint radius; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE center_x = x + width/2; center_y = y + height/2; radius = MAX(MIN(width, height)/2, 6); bullet_radius = MAX((radius - 2) * 0.50, 1); cr = ge_gdk_drawable_to_cairo (window, area); if (CHECK_DETAIL (detail, "check") && /* Special case for menu items. */ (shadow != GTK_SHADOW_ETCHED_IN)) { if (shadow == GTK_SHADOW_IN) { ge_cairo_set_color(cr, &redmond_style->color_cube.text[GTK_STATE_NORMAL]); cairo_arc(cr, center_x, center_y, bullet_radius, 0, 2 * G_PI); cairo_fill(cr); } } else { do_redmond_draw_simple_circle (cr, &redmond_style->color_cube.dark[GTK_STATE_NORMAL], &redmond_style->color_cube.light[GTK_STATE_NORMAL], center_x, center_y, radius); do_redmond_draw_simple_circle (cr, &redmond_style->black_border[GTK_STATE_NORMAL], &redmond_style->color_cube.bg[GTK_STATE_NORMAL], center_x, center_y, radius - 1); if (state == GTK_STATE_ACTIVE || state == GTK_STATE_INSENSITIVE) { ge_cairo_set_color (cr, &redmond_style->color_cube.bg[GTK_STATE_NORMAL]); cairo_arc (cr, center_x, center_y, radius - 2, 0, 2*G_PI); cairo_fill (cr); } else { /* Draw stipples for inconsistent checkboxes. */ if (shadow == GTK_SHADOW_ETCHED_IN) { cairo_save (cr); cairo_arc (cr, center_x, center_y, radius - 2, 0, 2*G_PI); cairo_clip (cr); do_redmond_draw_masked_fill (cr, &redmond_style->hatch_mask, &redmond_style->color_cube.bg[GTK_STATE_NORMAL], &redmond_style->color_cube.light[GTK_STATE_NORMAL], x, y, width, height); cairo_restore (cr); } else { /* ignore PRELIGHT state ... */ ge_cairo_set_color (cr, &redmond_style->color_cube.base[GTK_STATE_NORMAL]); cairo_arc (cr, center_x, center_y, radius - 2, 0, 2*G_PI); cairo_fill (cr); } } if ((shadow == GTK_SHADOW_ETCHED_IN) || (state == GTK_STATE_INSENSITIVE)) { /* force insensitive color for inconsistent checkboxes */ ge_cairo_set_color(cr, &redmond_style->color_cube.fg[GTK_STATE_INSENSITIVE]); cairo_arc(cr, center_x, center_y, bullet_radius, 0, 2 * G_PI); cairo_fill(cr); } else if (shadow == GTK_SHADOW_IN) { ge_cairo_set_color(cr, &redmond_style->color_cube.text[GTK_STATE_NORMAL]); cairo_arc(cr, center_x, center_y, bullet_radius, 0, 2 * G_PI); cairo_fill(cr); } } cairo_destroy(cr); } /*********************************************** * redmond_draw_arrow - * * the Function used to draw all arrows * * Redmond Arrows have 2 looks, Normal * & Insensitive ***********************************************/ void redmond_draw_arrow (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { RedmondStyle *redmond_style = REDMOND_STYLE (style); gboolean button_in = (shadow == GTK_SHADOW_IN); gint child_offset_x = 1, child_offset_y = 1; cairo_t *cr; if (ge_is_combo_box(widget, FALSE) && (!ge_is_combo_box_entry(widget))) return; CHECK_ARGS SANITIZE_SIZE if ((CHECK_DETAIL (detail, "spinbutton")) || (CHECK_DETAIL (detail, "vscrollbar")) || (CHECK_DETAIL (detail, "hscrollbar")) || (CHECK_DETAIL (detail, "optionmenu")) || GE_IS_SCROLLBAR(widget) || (ge_is_in_combo_box (widget))) { if (state != GTK_STATE_INSENSITIVE) state = GTK_STATE_NORMAL; if (CHECK_DETAIL (detail, "spinbutton") || CHECK_DETAIL (detail, "optionmenu")) { if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) x -= 1; } else if (ge_is_in_combo_box (widget) && ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL))) { x += 1; } if (ge_is_combo_box_entry(widget)) { x += 1; } /* Redmond prefers to have smaller arrows relative too size * for ComboBox/ComboBoxEntry, because its cleaner, * even though it seems slightly inconsistant. */ if (widget && ge_is_in_combo_box (widget)) { y += 1; width -= 2; height -= 2; } else if (button_in) { /* SpinButton & Scrollbar Arrows offset down/right on button press */ x += child_offset_x; y += child_offset_y; } } else { if (CHECK_DETAIL(detail, "menuitem")) x -= 1; else if (state != GTK_STATE_INSENSITIVE) state = GTK_STATE_NORMAL; } cr = ge_gdk_drawable_to_cairo (window, area); if (state == GTK_STATE_INSENSITIVE) { do_redmond_draw_arrow (cr, &redmond_style->color_cube.light[state], arrow_type, TRUE, x+1, y+1, width, height); do_redmond_draw_arrow (cr, &redmond_style->color_cube.fg[state], arrow_type, TRUE, x, y, width, height); } else do_redmond_draw_arrow (cr, &redmond_style->color_cube.fg[state], arrow_type, TRUE, x, y, width, height); cairo_destroy(cr); } /*********************************************** * redmond_draw_shadow - * * Function used to draw the Shadow/Border * for most widgets/widget parts. * * The Redmond Shadow is primarily constructed * with an outside border of light/extra_dark * and an internal border of bg/dark. ***********************************************/ void redmond_draw_shadow (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { RedmondStyle *redmond_style = REDMOND_STYLE (style); cairo_t *cr; CHECK_ARGS SANITIZE_SIZE if (shadow_type == GTK_SHADOW_NONE) return; cr = ge_gdk_drawable_to_cairo (window, area); switch (shadow_type) { case GTK_SHADOW_NONE: break; case GTK_SHADOW_ETCHED_IN: ge_cairo_simple_border (cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], x, y, width, height, TRUE); ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x + 1, y + 1, width - 2, height - 2, TRUE); break; case GTK_SHADOW_ETCHED_OUT: ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x, y, width, height, TRUE); ge_cairo_simple_border (cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], x + 1, y + 1, width - 2, height - 2, TRUE); break; case GTK_SHADOW_IN: if (CHECK_DETAIL (detail, "buttondefault")) { /* Instead of an inset outside border draw an extra black * border arround focused defaultable buttons, this really * needs some logic so no matter how big the default area * it only draws exactly one pixel around button. */ cairo_set_line_width (cr, 1); ge_cairo_set_color(cr, &redmond_style->black_border[state_type]); ge_cairo_stroke_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1); } else if (((CHECK_DETAIL (detail, "vscrollbar")) || (CHECK_DETAIL (detail, "hscrollbar")) || ((CHECK_DETAIL (detail, "button")) && (widget) && GE_WIDGET_HAS_DEFAULT (widget)))) { /* Scrollbar steppers and Defaultable Buttons use a flat * dark edge on pressed. */ cairo_set_line_width (cr, 1); ge_cairo_set_color(cr, &redmond_style->color_cube.dark[state_type]); ge_cairo_stroke_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1); } else if (((CHECK_DETAIL (detail, "entry")) || (CHECK_DETAIL (detail, "frame"))) && widget && ((GE_IS_SPIN_BUTTON (widget)) || (ge_is_in_combo_box (widget)))) { /* The Combo/ComboBoxEntry button and the SpingButton Steppers should apear * to be inset into the entry, as opposed to next to it, so we fake it * by drawing an extra 2 pixels here to ignore the right(or left) * edge, which will be drawn by the buttons. */ if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { ge_cairo_simple_border (cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], x, y, width + 2, height, FALSE); ge_cairo_simple_border (cr, &redmond_style->black_border[state_type], &redmond_style->color_cube.bg[state_type], x + 1, y + 1, width, height - 2, FALSE); } else { ge_cairo_simple_border (cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], x - 2, y, width + 2, height, FALSE); ge_cairo_simple_border (cr, &redmond_style->black_border[state_type], &redmond_style->color_cube.bg[state_type], x - 1, y + 1, width, height - 2, FALSE); } } else if (((GE_IS_STATUSBAR (widget))) || ((CHECK_DETAIL (detail, "frame"))) || ((CHECK_DETAIL (detail, "button")) && (ge_is_toolbar_item (widget)))) { /* Toolbar Buttons, Status Bars, Frames, and Troughs are drawn with a thin border */ ge_cairo_simple_border (cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], x, y, width, height, FALSE); } else { /* Normal IN Border */ ge_cairo_simple_border (cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], x, y, width, height, FALSE); ge_cairo_simple_border (cr, &redmond_style->black_border[state_type], &redmond_style->color_cube.bg[state_type], x + 1, y + 1, width - 2, height - 2, FALSE); } break; case GTK_SHADOW_OUT: if ((CHECK_DETAIL (detail, "vscrollbar")) || (CHECK_DETAIL (detail, "hscrollbar")) || (CHECK_DETAIL (detail, "slider")) || (CHECK_DETAIL (detail, "spinbutton_up")) || (CHECK_DETAIL (detail, "spinbutton_down")) || ((CHECK_DETAIL (detail, "button")) && ge_is_in_combo_box (widget))) { /* In the case of Scrollbars steppers, Sliders, Spinbutton steppers, * and Combo/ComboBoxEntry buttons, the internal & external borders are * inverted when OUT since they are inset into another widgets IN edge. */ ge_cairo_simple_border (cr, &redmond_style->color_cube.bg[state_type], &redmond_style->black_border[state_type], x, y, width, height, FALSE); ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x + 1, y + 1, width - 2, height - 2, FALSE); } else if ((CHECK_DETAIL (detail, "frame")) || ((CHECK_DETAIL (detail, "button")) && (ge_is_toolbar_item (widget)))) { /* Toolbar Buttons and Frames are drawn with a thin border */ ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x, y, width, height, FALSE); } else if (CHECK_DETAIL (detail, "menu")) { ge_cairo_simple_border (cr, &redmond_style->color_cube.bg[state_type], &redmond_style->black_border[state_type], x, y, width, height, FALSE); ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x + 1, y + 1, width - 2, height - 2, FALSE); } else { /* Normal OUT Border */ ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->black_border[state_type], x, y, width, height, FALSE); ge_cairo_simple_border (cr, &redmond_style->color_cube.bg[state_type], &redmond_style->color_cube.dark[state_type], x + 1, y + 1, width - 2, height - 2, FALSE); } break; } cairo_destroy(cr); } /*********************************************** * redmond_draw_combobox_button- * * Function used to draw the ComboBox button * "inset" into "entry. * * Slightly Evil Hack #1 ***********************************************/ static void redmond_draw_combobox_button (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { RedmondStyle *redmond_style = REDMOND_STYLE (style); cairo_t *cr; /* The Combo/ComboBoxEntry button should apear to be inset into the entry, * as opposed to next to it, so we fake it by drawing an entry fill * then an entry border - but 2 pixels bigger so it overlaps real border * and so left( or right) edge doesn't actually get drawn on screen; * and THEN draw the button, but essentially 4 pixels smaller. */ GtkStyle * parent_style = style; GtkStateType parent_state = state_type; if ((!(widget)) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { if (ge_is_combo_box_entry (widget) || ge_is_combo_box (widget, TRUE)) { if (!ge_is_combo_box_entry (widget)) { if ((widget->parent)) { gtk_widget_ensure_style(widget->parent); parent_style = widget->parent->style; parent_state = widget->parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gdk_draw_rectangle (window, parent_style->base_gc[parent_state], TRUE, x - 2, y, width + 2, height); } else gtk_paint_flat_box (style, window, state_type, GTK_SHADOW_NONE, area, widget, "entry_bg", x - 2, y, width + 2, height); gtk_paint_shadow (style, window, state_type, GTK_SHADOW_IN, area, widget, "entry", x - 2, y, width, height); } #ifndef GTK_DISABLE_DEPRECATED else if (ge_is_combo(widget)) { GtkWidget *entry = widget; if (GE_IS_WIDGET(widget) && GE_IS_WIDGET(widget->parent) && GE_IS_ENTRY(GTK_COMBO (widget->parent)->entry)) { entry = GTK_COMBO (widget->parent)->entry; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } else if (GE_IS_WIDGET(widget->parent)) { entry = widget->parent; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, entry, "entry_bg", x - 2, y, width + 2, height); { GdkRectangle shadow, clip; shadow.x = x - 2; shadow.y = y; shadow.width = width + 2; shadow.height = height; if (area) gdk_rectangle_intersect(area, &shadow, &clip); else clip = shadow; gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, &clip, entry, "entry", x - 4, y, width + 2, height); } } #else #warning Disabling GtkCombo support because GTK_DISABLE_DEPRECATED is enabled. #endif else { GtkWidget *parent = widget; if (widget->parent) parent = widget->parent; if ((parent)) { gtk_widget_ensure_style(parent); parent_style = parent->style; parent_state = parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, parent, "entry_bg", x - 2, y, width + 2, height); gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, area, parent, "entry", x - 2, y, width, height); } cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y + 2, width - 2, height - 4); cairo_destroy(cr); if (shadow_type == GTK_SHADOW_IN) gdk_draw_rectangle (window, style->dark_gc[state_type], FALSE, x, y + 2, width - 3, height - 5); else gtk_paint_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y + 2, width - 2, height - 4); } else { if (ge_is_combo_box_entry (widget) || ge_is_combo_box (widget, TRUE)) { if (!ge_is_combo_box_entry (widget)) { if ((widget->parent)) { gtk_widget_ensure_style(widget->parent); parent_style = widget->parent->style; parent_state = widget->parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gdk_draw_rectangle (window, parent_style->base_gc[parent_state], TRUE, x + 2, y, width + 2, height); } else gtk_paint_flat_box (style, window, state_type, GTK_SHADOW_NONE, area, widget, "entry_bg", x + 2, y, width + 2, height); gtk_paint_shadow (style, window, state_type, GTK_SHADOW_IN, area, widget, "entry", x + 2, y, width, height); } #ifndef GTK_DISABLE_DEPRECATED else if (ge_is_combo(widget)) { GtkWidget *entry = widget; if (GE_IS_WIDGET(widget) && GE_IS_WIDGET(widget->parent) && GE_IS_ENTRY(GTK_COMBO (widget->parent)->entry)) { entry = GTK_COMBO (widget->parent)->entry; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } else if (GE_IS_WIDGET(widget->parent)) { entry = widget->parent; gtk_widget_ensure_style(entry); parent_style = entry->style; parent_state = entry->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, entry, "entry_bg", x + 2, y, width + 2, height); gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, area, entry, "entry", x + 2, y, width, height); } #else #warning Disabling GtkCombo support because GTK_DISABLE_DEPRECATED is enabled. #endif /* GTK_DISABLE_DEPRECATED */ else { GtkWidget *parent = widget; if (widget->parent) parent = widget->parent; if ((parent)) { gtk_widget_ensure_style(parent); parent_style = parent->style; parent_state = parent->state; } if (parent_state != GTK_STATE_INSENSITIVE) parent_state = GTK_STATE_NORMAL; gtk_paint_flat_box (parent_style, window, parent_state, GTK_SHADOW_NONE, area, parent, "entry_bg", x + 2, y, width + 2, height); gtk_paint_shadow (parent_style, window, parent_state, GTK_SHADOW_IN, area, parent, "entry", x + 2, y, width, height); } cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x + 2, y + 2, width - 2, height - 4); cairo_destroy(cr); if (shadow_type == GTK_SHADOW_IN) gdk_draw_rectangle (window, style->dark_gc[state_type], FALSE, x + 2, y + 2, width - 3, height - 5); else gtk_paint_shadow (style, window, state_type, shadow_type, area, widget, detail, x + 2, y + 2, width - 2, height - 4); } } /*********************************************** * redmond_draw_spinbutton_stepper- * * Function used to draw the spinbutton * steppers "inset" into entry. * * Slightly Evil Hack #2 ***********************************************/ static void redmond_draw_spinbutton_stepper (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { RedmondStyle *redmond_style = REDMOND_STYLE (style); GdkRectangle spin_area; cairo_t *cr; /* The SpinButton Steppers should apear to be inset into the entry, * as opposed to next to it, so we fake it by drawing en entry fill * and then entry border - but 2 pixels bigger so it overlaps real border * and so left( or right) edge doesn't actually get drawn on screen - * and THEN draw the Stepper. Since we have two steppers this is slightly * more complicated because we can only do half for each stepper. */ spin_area.x = x; spin_area.y = y; spin_area.width = width; spin_area.height = height; if (state_type != GTK_STATE_INSENSITIVE) state_type = GTK_STATE_NORMAL; if ((!(widget)) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)) { if (CHECK_DETAIL (detail, "spinbutton_up")) { gtk_paint_flat_box (style, window, state_type, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg", x - 2, y, width + 2, height); gtk_paint_shadow (style, window, state_type, GTK_SHADOW_IN, &spin_area, widget, detail, x - 2, y, width + 2, height + 2); cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y + 2, width - 2, height - 2); cairo_destroy(cr); gtk_paint_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y + 2, width - 2, height - 2); } else { gtk_paint_flat_box (style, window, state_type, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg", x - 2, y, width + 2, height); gtk_paint_shadow (style, window, state_type, GTK_SHADOW_IN, &spin_area, widget, detail, x - 2, y - 2, width + 2, height + 2); cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y, width - 2, height - 2); cairo_destroy(cr); gtk_paint_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y, width - 2, height - 2); } } else { if (CHECK_DETAIL (detail, "spinbutton_up")) { gtk_paint_flat_box (style, window, state_type, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg", x, y, width + 4, height); gtk_paint_shadow (style, window, state_type, GTK_SHADOW_IN, &spin_area, widget, detail, x, y, width + 4, height + 2); cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x + 2, y + 2, width - 2, height - 2); cairo_destroy(cr); gtk_paint_shadow (style, window, state_type, shadow_type, area, widget, detail, x + 2, y + 2, width - 2, height - 2); } else { gtk_paint_flat_box (style, window, state_type, GTK_SHADOW_NONE, &spin_area, widget, "entry_bg", x, y, width + 4, height); gtk_paint_shadow (style, window, state_type, GTK_SHADOW_IN, &spin_area, widget, detail, x, y - 2, width + 4, height + 2); cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x + 2, y, width - 2, height - 2); cairo_destroy(cr); gtk_paint_shadow (style, window, state_type, shadow_type, area, widget, detail, x + 2, y, width - 2, height - 2); } } } /*********************************************** * redmond_draw_box - * * Function used to draw the box portion of * general widgets (buttons, entries). * * In general this is the same as calling * apply background and then draw shadow, * so the bulk of this routine is actually * to handle drawing the peculiarities of * specific widgets which don't follow this * in redmond. ***********************************************/ void redmond_draw_box (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { RedmondStyle *redmond_style = REDMOND_STYLE (style); cairo_t *cr; CHECK_ARGS SANITIZE_SIZE if (GE_IS_MENU_SHELL(widget)) { redmond_gtk2_engine_hack_menu_shell_setup_signals(widget); } if ((CHECK_DETAIL (detail, "trough")) && (widget && GE_IS_SCROLLBAR (widget))) { /* Scrollbar Troughs have a thin cross-hatch * background fill. Technically its supposed * to change colors when actively pressed, but * since thats a little hard to handle, skip it. */ cr = ge_gdk_drawable_to_cairo (window, area); do_redmond_draw_masked_fill (cr, &redmond_style->hatch_mask, &redmond_style->color_cube.bg[state_type], &redmond_style->color_cube.light[state_type], x, y, width, height); cairo_destroy(cr); } else if ((CHECK_DETAIL (detail, "trough")) && (widget && GE_IS_SCALE (widget))) { /* Scale Troughs are only 4 pixels thick * i.e. just a border, so make sure the background * is filled properly, then draw the border. */ cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, GTK_STATE_NORMAL), x, y, width, height); if (GE_IS_HSCALE (widget)) { ge_cairo_set_color(cr, &redmond_style->black_border[state_type]); cairo_rectangle(cr, x, y + (height / 2), width - 2, 1); cairo_fill(cr); redmond_draw_shadow (style, window, state_type, GTK_SHADOW_IN, area, widget, detail, x, y + (height / 2) - 1, width, 4); } else { ge_cairo_set_color(cr, &redmond_style->black_border[state_type]); cairo_rectangle(cr, x + (width / 2), y, 1, height - 2); cairo_fill(cr); redmond_draw_shadow (style, window, state_type, GTK_SHADOW_IN, area, widget, detail, x + (width / 2) - 1, y, 4, height); } cairo_destroy(cr); } else if ((CHECK_DETAIL (detail, "toolbar")) || (CHECK_DETAIL (detail, "menubar")) || (GE_IS_BONOBO_TOOLBAR (widget)) || (CHECK_DETAIL (detail, "dockitem")) || (CHECK_DETAIL (detail, "dockitem_bin")) || (CHECK_DETAIL (detail, "handlebox_bin")) || (CHECK_DETAIL (detail, "handlebox"))) { /* Toolbars have a simple thin border, so custom * case to handle the various widgets used as * toolbars. */ gboolean left_cutoff = FALSE, right_cutoff = FALSE, top_cutoff = FALSE, bottom_cutoff = FALSE; if (((CHECK_DETAIL (detail, "dockitem_bin")) && (GE_IS_BONOBO_DOCK_ITEM(widget))) || ((widget) && (ge_is_bonobo_dock_item(widget->parent)))) { GList *children = NULL, *child = NULL; GtkWidget *dockitem = widget; gboolean has_grip = FALSE, ltr = TRUE; if ((!GE_IS_BONOBO_DOCK_ITEM(widget)) && (!GE_IS_BOX(widget))) dockitem = widget->parent; has_grip = GE_IS_CONTAINER(dockitem); ltr = (!widget) || (gtk_widget_get_direction (dockitem) == GTK_TEXT_DIR_LTR); if (has_grip) { has_grip = FALSE; children = gtk_container_get_children(GTK_CONTAINER(dockitem)); for (child = g_list_first(children); child; child = g_list_next(child)) { if (GE_IS_BONOBO_DOCK_ITEM_GRIP(child->data)) has_grip = (GTK_WIDGET_VISIBLE(child->data) && GTK_WIDGET_REALIZED(child->data) && GTK_WIDGET(child->data)->allocation.width > 1) && (GTK_WIDGET(child->data)->allocation.height > 1); } if (children) g_list_free(children); } if (has_grip) { /* bonobo dock items draw the handle bar grip different from * other toolbars - namely it draws the bin the whole size * and then the handle bar on top, which make the edge overlap * look wrong, especially relative to bonobo toolbars and * gtk handle bars etc. luckily the handle bar size * is fixed at 10, and the orientation can be grabbed * via gobject, so we just make sure the bin is drawn * NEXT to the handle bar, not beneath it */ GtkOrientation tmp = GTK_ORIENTATION_HORIZONTAL; if GE_IS_HBOX(dockitem) tmp = GTK_ORIENTATION_VERTICAL; else if (GE_IS_BONOBO_DOCK_ITEM(dockitem)) g_object_get (dockitem, "orientation", &tmp, NULL); if (tmp == GTK_ORIENTATION_HORIZONTAL) { if (dockitem == widget) { x += 8*ltr; width -= 8; } else { x -= 2*ltr; width += 2; } left_cutoff = ltr; right_cutoff = !left_cutoff; } else { if (dockitem == widget) { y += 8; height -= 8; } else { y -= 2; height += 2; } top_cutoff = TRUE; } } } else if (GE_IS_HANDLE_BOX(widget)) { switch (gtk_handle_box_get_handle_position (GTK_HANDLE_BOX (widget))) { case GTK_POS_LEFT: left_cutoff = (!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR); right_cutoff = !left_cutoff; break; case GTK_POS_RIGHT: left_cutoff = (widget) && (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); right_cutoff = !left_cutoff; break; case GTK_POS_TOP: top_cutoff = TRUE; break; case GTK_POS_BOTTOM: bottom_cutoff = TRUE; break; } } else if (GE_IS_HANDLE_BOX_ITEM(widget) && GTK_WIDGET_REALIZED(widget->parent) && GTK_WIDGET_VISIBLE(widget->parent)) { switch (gtk_handle_box_get_handle_position (GTK_HANDLE_BOX (widget->parent))) { case GTK_POS_LEFT: left_cutoff = (!widget) || (gtk_widget_get_direction (widget->parent) == GTK_TEXT_DIR_LTR); right_cutoff= !left_cutoff; break; case GTK_POS_RIGHT: left_cutoff = (widget) && (gtk_widget_get_direction (widget->parent) == GTK_TEXT_DIR_RTL); right_cutoff = !left_cutoff; break; case GTK_POS_TOP: top_cutoff = TRUE; y -= 2; height += 2; break; case GTK_POS_BOTTOM: bottom_cutoff = TRUE; height += 2; break; } if (left_cutoff) { x -= 2; width += 2; } else { width += 2; } } cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y, width, height); /* If this is a menu embedded in the gnome-panel, we don't * draw a border since it looks cleaner without one. */ if ((widget) && (widget->parent) && ((!((CHECK_DETAIL (detail, "menubar")) && ge_is_panel_widget_item (widget))))) { cairo_save(cr); cairo_rectangle(cr, x + 2*left_cutoff, y + 2*top_cutoff, width - 2*left_cutoff, height - 2*top_cutoff); cairo_clip(cr); ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x, y, width + 2*right_cutoff, height + 2*bottom_cutoff, FALSE); cairo_restore(cr); } cairo_destroy(cr); } else if ((CHECK_DETAIL (detail, "menuitem")) && widget && widget->parent && GE_IS_MENU_BAR (widget->parent)) { /* Primary Menu Items on Menu bars are drawn with * a thin inset border on select/active, * and a thin outset border on prelight */ CairoColor *top, *bottom; if (state_type != GTK_STATE_INSENSITIVE) state_type = GTK_STATE_NORMAL; cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y, width, height); if ((!GE_IS_MENU(GTK_MENU_ITEM(widget)->submenu)) || (!(GTK_WIDGET_REALIZED(GTK_MENU_ITEM(widget)->submenu) && GTK_WIDGET_VISIBLE(GTK_MENU_ITEM(widget)->submenu) && GTK_WIDGET_REALIZED(GTK_MENU(GTK_MENU_ITEM(widget)->submenu)->toplevel) && GTK_WIDGET_VISIBLE(GTK_MENU(GTK_MENU_ITEM(widget)->submenu)->toplevel)))) { top = &redmond_style->color_cube.light[state_type]; bottom = &redmond_style->color_cube.dark[state_type]; } else { top = &redmond_style->color_cube.dark[state_type]; bottom = &redmond_style->color_cube.light[state_type]; } ge_cairo_simple_border (cr, top, bottom, x, y, width, height, FALSE); cairo_destroy(cr); } else if ((CHECK_DETAIL (detail, "bar")) && (widget && GE_IS_PROGRESS_BAR (widget))) { /* Progress bar status is always flat, and only has two states * NORMAL and INSENSITIVE, so check the state, and then do a * default draw background. */ if (state_type != GTK_STATE_INSENSITIVE) state_type = GTK_STATE_NORMAL; cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, GTK_STATE_SELECTED), x, y, width, height); cairo_destroy(cr); } else if ((CHECK_DETAIL (detail, "button")) && widget && ge_is_in_combo_box (widget)) { /* ComboBox Buttons are an especially complex case * so call our special function for them. */ redmond_draw_combobox_button (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else if ((CHECK_DETAIL (detail, "spinbutton_up")) || (CHECK_DETAIL (detail, "spinbutton_down"))) { /* SpinButton Steppers are an especially complex case * so call our special function for them. */ redmond_draw_spinbutton_stepper (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else if (GE_IS_TOGGLE_BUTTON (widget) && (shadow_type == GTK_SHADOW_IN)) { gint pointer_x, pointer_y; GdkModifierType pointer_mask; gdk_window_get_pointer(widget->window, &pointer_x, &pointer_y, &pointer_mask); cr = ge_gdk_drawable_to_cairo (window, area); if ((pointer_x >= widget->allocation.x) && (pointer_y >= widget->allocation.y) && (pointer_x < (widget->allocation.x + widget->allocation.width)) && (pointer_y < (widget->allocation.y + widget->allocation.height))) { ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y, width, height); } else { do_redmond_draw_masked_fill (cr, &redmond_style->hatch_mask, &redmond_style->color_cube.bg[GTK_STATE_NORMAL], &redmond_style->color_cube.light[GTK_STATE_NORMAL], x, y, width, height); } cairo_destroy(cr); redmond_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else { /* default box apearance */ cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y, width,height); cairo_destroy(cr); redmond_draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } if (CHECK_DETAIL(detail, "optionmenu") || (CHECK_DETAIL(detail, "button") && (ge_is_combo_box(widget, FALSE)) && !(ge_is_combo_box_entry(widget)))) { GtkRequisition indicator_size; GtkBorder indicator_spacing; gint vline_x; if (state_type != GTK_STATE_INSENSITIVE) state_type = GTK_STATE_NORMAL; ge_option_menu_get_props (widget, &indicator_size, &indicator_spacing); if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)) vline_x = x + indicator_size.width + indicator_spacing.left + indicator_spacing.right; else vline_x = x + width - (indicator_size.width + indicator_spacing.left + indicator_spacing.right) - style->xthickness; cr = ge_gdk_drawable_to_cairo (window, area); do_redmond_draw_line(cr, &redmond_style->color_cube.dark[state_type], &redmond_style->color_cube.light[state_type], area, y + style->ythickness + 1, y + height - style->ythickness - 2, vline_x, FALSE); cairo_destroy(cr); if ((widget) && (gtk_widget_get_direction (GTK_WIDGET (widget)) == GTK_TEXT_DIR_RTL)) x += indicator_spacing.right + style->xthickness; else x += width - indicator_size.width - indicator_spacing.right - style->xthickness; y += ((height - indicator_size.height) / 2) + 1; width = indicator_size.width; height = indicator_size.height; redmond_draw_arrow (style, window, state_type, shadow_type, area, NULL, "optionmenu", GTK_ARROW_DOWN, TRUE, x, y, width, height); } } /*********************************************** * redmond_draw_tab - * * Function pretty much only called to draw * the arrow "tab" in the option menu ***********************************************/ void redmond_draw_tab (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height) { } /*********************************************** * redmond_draw_slider - * * Function which draws scale/scrollbar slider ***********************************************/ void redmond_draw_slider (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { RedmondStyle *redmond_style = REDMOND_STYLE (style); CHECK_ARGS SANITIZE_SIZE if ((CHECK_DETAIL (detail, "hscale")) || (CHECK_DETAIL (detail, "vscale"))) { cairo_t *cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y, width, height); cairo_destroy(cr); redmond_draw_shadow (style, window, state_type, GTK_SHADOW_OUT, area, widget, detail, x, y, width, height); } else redmond_draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } /*********************************************** * redmond_draw_extension - * * Function which draws notebook extensions - * aka, tabs. * * This routine is so complex mostly because * it tries to draw a faked 1-2 pixel rounded * corner. ***********************************************/ void redmond_draw_extension (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side) { RedmondStyle *redmond_style = REDMOND_STYLE (style); CairoColor *color1 = NULL; CairoColor *color2 = NULL; CairoColor *color3 = NULL; CairoColor *color4 = NULL; cairo_t *cr; gint tab_overlap = 0; CHECK_ARGS SANITIZE_SIZE if (GE_IS_NOTEBOOK (widget)) gtk_widget_style_get (widget, "tab-overlap", &tab_overlap, NULL); /* If the tab_overlap is large, then decrease the size of active tabs. */ if (state_type == GTK_STATE_ACTIVE && tab_overlap >= 4) { if (gap_side == GTK_POS_TOP || gap_side == GTK_POS_BOTTOM) { x += 2; width -= 4; } else { y += 2; height -= 4; } } cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, GTK_STATE_NORMAL), x, y, width, height); switch (shadow_type) { case GTK_SHADOW_NONE: /* need to destroy the cairo context */ cairo_destroy (cr); return; case GTK_SHADOW_IN: color1 = &redmond_style->color_cube.dark[state_type]; color2 = &redmond_style->black_border[state_type]; color3 = &redmond_style->color_cube.bg[state_type]; color4 = &redmond_style->color_cube.light[state_type]; break; case GTK_SHADOW_ETCHED_IN: color1 = &redmond_style->color_cube.dark[state_type]; color2 = &redmond_style->color_cube.light[state_type]; color3 = &redmond_style->color_cube.dark[state_type]; color4 = &redmond_style->color_cube.light[state_type]; break; case GTK_SHADOW_OUT: color1 = &redmond_style->color_cube.light[state_type]; color2 = &redmond_style->color_cube.bg[state_type]; color3 = &redmond_style->color_cube.dark[state_type]; color4 = &redmond_style->black_border[state_type]; break; case GTK_SHADOW_ETCHED_OUT: color1 = &redmond_style->color_cube.light[state_type]; color2 = &redmond_style->color_cube.dark[state_type]; color3 = &redmond_style->color_cube.light[state_type]; color4 = &redmond_style->color_cube.dark[state_type]; break; } switch (shadow_type) { case GTK_SHADOW_NONE: case GTK_SHADOW_IN: case GTK_SHADOW_OUT: case GTK_SHADOW_ETCHED_IN: case GTK_SHADOW_ETCHED_OUT: switch (gap_side) { case GTK_POS_TOP: ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x + style->xthickness, y, width - (2 * style->xthickness), height - (style->ythickness)); ge_cairo_line (cr, color1, x, y, x, y + height - 2); ge_cairo_line (cr, color2, x + 1, y, x + 1, y + height - 2); ge_cairo_line (cr, color3, x + 2, y + height - 2, x + width - 2, y + height - 2); ge_cairo_line (cr, color3, x + width - 2, y, x + width - 2, y + height - 2); ge_cairo_line (cr, color4, x + 1, y + height - 1, x + width - 2, y + height - 1); ge_cairo_line (cr, color4, x + width - 1, y, x + width - 1, y + height - 2); break; case GTK_POS_BOTTOM: ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x + style->xthickness, y + style->ythickness, width - (2 * style->xthickness), height - (style->ythickness)); ge_cairo_line (cr, color1, x + 2, y, x + width - 3, y); ge_cairo_line (cr, color1, x, y + 2, x, y + height - 1); ge_cairo_line (cr, color2, x + 1, y + 1, x + width - 2, y + 1); ge_cairo_line (cr, color2, x + 1, y + 1, x + 1, y + height - 1); ge_cairo_line (cr, color1, x, y + 2, x + 1, y + 1); ge_cairo_line (cr, color3, x + width - 2, y + 2, x + width - 2, y + height - 1); ge_cairo_line (cr, color4, x + width - 1, y + 2, x + width - 1, y + height - 1); ge_cairo_line (cr, color4, x + width - 1, y + 2, x + width - 2, y + 1); break; case GTK_POS_LEFT: ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y + style->ythickness, width - (style->xthickness), height - (2 * style->ythickness)); ge_cairo_line (cr, color1, x, y, x + width - 2, y); ge_cairo_line (cr, color2, x + 1, y + 1, x + width - 2, y + 1); ge_cairo_line (cr, color3, x, y + height - 2, x + width - 2, y + height - 2); ge_cairo_line (cr, color3, x + width - 2, y + 2, x + width - 2, y + height - 2); ge_cairo_line (cr, color4, x, y + height - 1, x + width - 2, y + height - 1); ge_cairo_line (cr, color4, x + width - 1, y + 1, x + width - 1, y + height - 2); break; case GTK_POS_RIGHT: ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x + style->xthickness, y + style->ythickness, width - (style->xthickness), height - (2 * style->ythickness)); ge_cairo_line (cr, color1, x + 1, y, x + width - 1, y); ge_cairo_line (cr, color1, x, y + 1, x, y + height - 2); ge_cairo_line (cr, color2, x + 1, y + 1, x + width - 1, y + 1); ge_cairo_line (cr, color2, x + 1, y + 1, x + 1, y + height - 2); ge_cairo_line (cr, color3, x + 2, y + height - 2, x + width - 1, y + height - 2); ge_cairo_line (cr, color4, x + 1, y + height - 1, x + width - 1, y + height - 1); break; } } cairo_destroy(cr); } /*********************************************** * redmond_draw_handle - * * Function which draws Handle box- * aka toolbar drag grip/paned drag grip ***********************************************/ void redmond_draw_handle (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { RedmondStyle *redmond_style = REDMOND_STYLE (style); cairo_t *cr; gboolean left_cutoff = FALSE, right_cutoff = FALSE, top_cutoff = FALSE, bottom_cutoff = FALSE; CHECK_ARGS SANITIZE_SIZE if (GE_IS_BONOBO_DOCK_ITEM_GRIP(widget) && (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) && (orientation == (GTK_ORIENTATION_HORIZONTAL)) && (widget->parent != NULL)) { x = widget->parent->allocation.width - widget->allocation.width; y = widget->parent->allocation.height - widget->allocation.height; width = widget->allocation.width; height = widget->allocation.height; area = NULL; } cr = ge_gdk_drawable_to_cairo (window, area); ge_cairo_pattern_fill (cr, DEFAULT_BACKGROUND_PATTERN(redmond_style, state_type), x, y, width, height); if (widget && !(GE_IS_PANED (widget))) { if (GE_IS_HANDLE_BOX (widget)) { /* handle box apears to be broken in that * it doesn't pass the orientation properly, * but always passes as vertical, so we look * it up ourselves. */ switch (gtk_handle_box_get_handle_position (GTK_HANDLE_BOX (widget))) { case GTK_POS_LEFT: case GTK_POS_RIGHT: orientation = GTK_ORIENTATION_HORIZONTAL; break; case GTK_POS_TOP: case GTK_POS_BOTTOM: orientation = GTK_ORIENTATION_VERTICAL; break; } } else { if ((CHECK_DETAIL (detail, "handlebox") && (!GE_IS_HANDLE_BOX_ITEM (widget)))) { /* panel_applet_frame used by the panel is broken, * always passes orientation == horizontal * since we don't know anything about the panel * here, we just determine orientation by size. * * If this is on a PanelWidget, we also offset the * actual drag bar by 2 pixels, since we draw * a line next to it instead of drawing a border * around it. */ if (width < height) { orientation = GTK_ORIENTATION_HORIZONTAL; if (ge_is_panel_widget_item (widget)) x += 2; } else { orientation = GTK_ORIENTATION_VERTICAL; if (ge_is_panel_widget_item (widget)) y += 2; } } } /* draw the drag bar */ if (orientation == GTK_ORIENTATION_VERTICAL) { ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x + style->xthickness + 1, y + height / 2 - 1, width - style->xthickness - 3, 3, FALSE); bottom_cutoff = TRUE; } else { right_cutoff = (!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR); left_cutoff = !right_cutoff; ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x + width / 2 - 1, y + style->ythickness + 1, 3, height - style->ythickness - 3, FALSE); } if (ge_is_panel_widget_item (widget) && (CHECK_DETAIL (detail, "handlebox") && (!GE_IS_HANDLE_BOX_ITEM (widget))) && (!(GE_IS_HANDLE_BOX (widget)))) { /* If this is on a PanelWidget, we draw a line * next to it instead of drawing a border around it. */ if (orientation == GTK_ORIENTATION_VERTICAL) { ge_cairo_line (cr, &redmond_style->color_cube.dark[state_type], x + 1, y + 0, x + width - 2, y + 0); ge_cairo_line (cr, &redmond_style->color_cube.light[state_type], x + 1, y + 1, x + width - 2, y + 1); } else { ge_cairo_line (cr, &redmond_style->color_cube.dark[state_type], x + 0, y + 1, x + 0, y + height - 2); ge_cairo_line (cr, &redmond_style->color_cube.light[state_type], x + 1, y + 1, x + 1, y + height - 2); } } else { GdkRectangle shadow, clip; gboolean skip_shadow = FALSE; shadow.x = x; shadow.y = y; shadow.width = width; shadow.height = height; if (area) gdk_rectangle_intersect(area, &shadow, &clip); else clip = shadow; if (GE_IS_BONOBO_DOCK_ITEM_GRIP(widget)) { if GE_IS_BOX(widget->parent) { GList *children = NULL, *child = NULL; children = gtk_container_get_children(GTK_CONTAINER(widget->parent)); for (child = g_list_first(children); child; child = g_list_next(child)) { if (GE_IS_BOX(child->data)) { skip_shadow = TRUE; child = NULL; } } if (children) g_list_free(children); } } if (!skip_shadow) { ge_cairo_simple_border (cr, &redmond_style->color_cube.light[state_type], &redmond_style->color_cube.dark[state_type], x - 2*left_cutoff, y - 2*top_cutoff, width + 2*left_cutoff + 2*right_cutoff, height + 2*top_cutoff + 2*bottom_cutoff, FALSE); } } } cairo_destroy(cr); } gtk-engines-2.20.2/engines/redmond/src/redmond_gtk2_drawing.h0000644000175000017500000001071611445424675021064 00000000000000/* Redmond95 - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Andrew Johnson * */ #include #include #include GE_INTERNAL void redmond_draw_hline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x1, gint x2, gint y); GE_INTERNAL void redmond_draw_vline (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint y1, gint y2, gint x); GE_INTERNAL void redmond_draw_check (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void redmond_draw_option (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void redmond_draw_arrow (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height); GE_INTERNAL void redmond_draw_shadow (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void redmond_draw_box (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void redmond_draw_tab (GtkStyle * style, GdkWindow * window, GtkStateType state, GtkShadowType shadow, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height); GE_INTERNAL void redmond_draw_slider (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); GE_INTERNAL void redmond_draw_extension (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side); GE_INTERNAL void redmond_draw_handle (GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar * detail, gint x, gint y, gint width, gint height, GtkOrientation orientation); gtk-engines-2.20.2/engines/redmond/src/redmond_gtk2_engine.c0000644000175000017500000001230211445424675020662 00000000000000/* Redmond95 - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Andrew Johnson * */ #include "redmond_gtk2_engine.h" #include "redmond_gtk2_drawing.h" #include "redmond_gtk2_misc.h" /**********************************/ /* Register & Initialize RC Style */ /**********************************/ G_DEFINE_DYNAMIC_TYPE (RedmondRcStyle, redmond_rc_style, GTK_TYPE_RC_STYLE) /* Create an empty style suitable to this RC style */ static GtkStyle * redmond_rc_style_create_style (GtkRcStyle * rc_style) { return GTK_STYLE (g_object_new (REDMOND_TYPE_STYLE, NULL));; } static void redmond_rc_style_init (RedmondRcStyle *rc_style) { } static void redmond_rc_style_class_init (RedmondRcStyleClass * klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->create_style = redmond_rc_style_create_style; } static void redmond_rc_style_class_finalize (RedmondRcStyleClass * klass) { } /***************************************/ /* Register & Initialize Drawing Style */ /***************************************/ G_DEFINE_DYNAMIC_TYPE (RedmondStyle, redmond_style, GTK_TYPE_STYLE) static void redmond_simple_hatch_mask_pattern(CairoPattern *pattern) { cairo_t * cr; cairo_surface_t *surface; pattern->scale = GE_DIRECTION_NONE; pattern->translate = GE_DIRECTION_NONE; surface = cairo_image_surface_create(CAIRO_FORMAT_A8, 2, 2); cr = cairo_create(surface); cairo_set_source_rgba(cr, 0, 0, 0, 0); cairo_rectangle (cr, 0, 0, 2, 2); cairo_fill (cr); cairo_set_source_rgba(cr, 1, 1, 1, 1); cairo_rectangle (cr, 1, 0, 1, 1); cairo_fill (cr); cairo_rectangle (cr, 0, 1, 1, 1); cairo_fill (cr); cairo_destroy(cr); pattern->handle = cairo_pattern_create_for_surface (surface); cairo_surface_destroy(surface); cairo_pattern_set_extend (pattern->handle, CAIRO_EXTEND_REPEAT); } static void redmond_style_realize (GtkStyle * style) { RedmondStyle *redmond_style = REDMOND_STYLE (style); int i; GTK_STYLE_CLASS (redmond_style_parent_class)->realize (style); ge_gtk_style_to_cairo_color_cube (style, &redmond_style->color_cube); redmond_simple_hatch_mask_pattern(&redmond_style->hatch_mask); for (i = 0; i < 5; i++) { ge_shade_color(&(redmond_style->color_cube.bg[i]), 0.3, &(redmond_style->black_border[i])); redmond_style->bg_color[i] = ge_cairo_color_pattern(&(redmond_style->color_cube.bg[i])); redmond_style->bg_image[i] = NULL; if ((style->bg_pixmap[i]) && (style->bg_pixmap[i] != (GdkPixmap*) GDK_PARENT_RELATIVE)) { redmond_style->bg_image[i] = ge_cairo_pixmap_pattern(style->bg_pixmap[i]); } } } static void redmond_style_unrealize (GtkStyle * style) { RedmondStyle *redmond_style = REDMOND_STYLE (style); int i; cairo_pattern_destroy(redmond_style->hatch_mask.handle); for (i = 0; i < 5; i++) { ge_cairo_pattern_destroy(redmond_style->bg_color[i]); ge_cairo_pattern_destroy(redmond_style->bg_image[i]); } GTK_STYLE_CLASS (redmond_style_parent_class)->unrealize (style); } static void redmond_style_init (RedmondStyle *style) { } static void redmond_style_class_init (RedmondStyleClass * klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->realize = redmond_style_realize; style_class->unrealize = redmond_style_unrealize; style_class->draw_hline = redmond_draw_hline; style_class->draw_vline = redmond_draw_vline; style_class->draw_arrow = redmond_draw_arrow; style_class->draw_box = redmond_draw_box; style_class->draw_check = redmond_draw_check; style_class->draw_option = redmond_draw_option; style_class->draw_tab = redmond_draw_tab; style_class->draw_slider = redmond_draw_slider; style_class->draw_shadow = redmond_draw_shadow; style_class->draw_extension = redmond_draw_extension; style_class->draw_handle = redmond_draw_handle; } static void redmond_style_class_finalize (RedmondStyleClass * klass) { } /****************/ /* Engine Hooks */ /****************/ GE_EXPORT void theme_init (GTypeModule * module) { redmond_rc_style_register_type (module); redmond_style_register_type (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { void *ptr; ptr = GTK_RC_STYLE (g_object_new (REDMOND_TYPE_RC_STYLE, NULL)); return (GtkRcStyle *)ptr; } gtk-engines-2.20.2/engines/redmond/src/redmond_gtk2_engine.h0000644000175000017500000000643011445424675020674 00000000000000/* Redmond95 - a cairo based GTK+ engine * Copyright (C) 2001 Red Hat, Inc. * Copyright (C) 2006 Andrew Johnson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * * * Written by Owen Taylor * modified by Andrew Johnson * */ #include #include #include "ge-support.h" /*****************************/ /* Pattern Fills */ /*****************************/ #define DEFAULT_BACKGROUND_PATTERN(redmond_style, state) ((redmond_style->bg_image[state])?redmond_style->bg_image[state]:redmond_style->bg_color[state]) /*****************************/ /* RC Style Declaration */ /*****************************/ #define REDMOND_TYPE_RC_STYLE (redmond_rc_style_get_type ()) #define REDMOND_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REDMOND_TYPE_RC_STYLE, RedmondRcStyle)) #define REDMOND_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), REDMOND_TYPE_RC_STYLE, RedmondRcStyleClass)) #define REDMOND_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REDMOND_TYPE_RC_STYLE)) #define REDMOND_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), REDMOND_TYPE_RC_STYLE)) #define REDMOND_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), REDMOND_TYPE_RC_STYLE, RedmondRcStyleClass)) typedef struct { GtkRcStyle parent_instance; } RedmondRcStyle; typedef struct { GtkRcStyleClass parent_class; } RedmondRcStyleClass; GE_INTERNAL GType redmond_rc_style_get_type (void); /*****************************/ /* Drawing Style Declaration */ /*****************************/ #define REDMOND_TYPE_STYLE (redmond_style_get_type ()) #define REDMOND_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REDMOND_TYPE_STYLE, RedmondStyle)) #define REDMOND_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), REDMOND_TYPE_STYLE, RedmondStyleClass)) #define REDMOND_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REDMOND_TYPE_STYLE)) #define REDMOND_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), REDMOND_TYPE_STYLE)) #define REDMOND_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), REDMOND_TYPE_STYLE, RedmondStyleClass)) typedef struct { GtkStyle parent_instance; CairoColor black_border[5]; CairoColorCube color_cube; CairoPattern *bg_color[5]; CairoPattern *bg_image[5]; CairoPattern hatch_mask; } RedmondStyle; typedef struct { GtkStyleClass parent_class; } RedmondStyleClass; GE_INTERNAL GType redmond_style_get_type (void); gtk-engines-2.20.2/engines/redmond/Makefile.am0000644000175000017500000000302311446654310016047 00000000000000# Redmond95 - a cairo based GTK+ engine # Copyright (C) 2001 Red Hat, Inc. # Copyright (C) 2006 Andrew Johnson # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libredmond95.la libredmond95_la_SOURCES = \ ./src/redmond_gtk2_misc.c \ ./src/redmond_gtk2_misc.h \ ./src/redmond_gtk2_drawing.c \ ./src/redmond_gtk2_drawing.h \ ./src/redmond_gtk2_engine.c \ ./src/redmond_gtk2_engine.h libredmond95_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libredmond95_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/redmond/Makefile.in0000644000175000017500000005601311451355761016073 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Redmond95 - a cairo based GTK+ engine # Copyright (C) 2001 Red Hat, Inc. # Copyright (C) 2006 Andrew Johnson # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/redmond DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libredmond95_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libredmond95_la_OBJECTS = redmond_gtk2_misc.lo \ redmond_gtk2_drawing.lo redmond_gtk2_engine.lo libredmond95_la_OBJECTS = $(am_libredmond95_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libredmond95_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libredmond95_la_LDFLAGS) $(LDFLAGS) \ -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libredmond95_la_SOURCES) DIST_SOURCES = $(libredmond95_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libredmond95.la libredmond95_la_SOURCES = \ ./src/redmond_gtk2_misc.c \ ./src/redmond_gtk2_misc.h \ ./src/redmond_gtk2_drawing.c \ ./src/redmond_gtk2_drawing.h \ ./src/redmond_gtk2_engine.c \ ./src/redmond_gtk2_engine.h libredmond95_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libredmond95_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/redmond/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/redmond/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libredmond95.la: $(libredmond95_la_OBJECTS) $(libredmond95_la_DEPENDENCIES) $(AM_V_CCLD)$(libredmond95_la_LINK) -rpath $(enginedir) $(libredmond95_la_OBJECTS) $(libredmond95_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redmond_gtk2_drawing.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redmond_gtk2_engine.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redmond_gtk2_misc.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< redmond_gtk2_misc.lo: ./src/redmond_gtk2_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT redmond_gtk2_misc.lo -MD -MP -MF $(DEPDIR)/redmond_gtk2_misc.Tpo -c -o redmond_gtk2_misc.lo `test -f './src/redmond_gtk2_misc.c' || echo '$(srcdir)/'`./src/redmond_gtk2_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/redmond_gtk2_misc.Tpo $(DEPDIR)/redmond_gtk2_misc.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/redmond_gtk2_misc.c' object='redmond_gtk2_misc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o redmond_gtk2_misc.lo `test -f './src/redmond_gtk2_misc.c' || echo '$(srcdir)/'`./src/redmond_gtk2_misc.c redmond_gtk2_drawing.lo: ./src/redmond_gtk2_drawing.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT redmond_gtk2_drawing.lo -MD -MP -MF $(DEPDIR)/redmond_gtk2_drawing.Tpo -c -o redmond_gtk2_drawing.lo `test -f './src/redmond_gtk2_drawing.c' || echo '$(srcdir)/'`./src/redmond_gtk2_drawing.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/redmond_gtk2_drawing.Tpo $(DEPDIR)/redmond_gtk2_drawing.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/redmond_gtk2_drawing.c' object='redmond_gtk2_drawing.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o redmond_gtk2_drawing.lo `test -f './src/redmond_gtk2_drawing.c' || echo '$(srcdir)/'`./src/redmond_gtk2_drawing.c redmond_gtk2_engine.lo: ./src/redmond_gtk2_engine.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT redmond_gtk2_engine.lo -MD -MP -MF $(DEPDIR)/redmond_gtk2_engine.Tpo -c -o redmond_gtk2_engine.lo `test -f './src/redmond_gtk2_engine.c' || echo '$(srcdir)/'`./src/redmond_gtk2_engine.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/redmond_gtk2_engine.Tpo $(DEPDIR)/redmond_gtk2_engine.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/redmond_gtk2_engine.c' object='redmond_gtk2_engine.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o redmond_gtk2_engine.lo `test -f './src/redmond_gtk2_engine.c' || echo '$(srcdir)/'`./src/redmond_gtk2_engine.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/redmond/AUTHORS0000644000175000017500000000020211445424675015067 00000000000000Owen Taylor Original Redmond95 Andrew Johnson Cleanup and revisions of Redmond95 gtk-engines-2.20.2/engines/thinice/0000755000175000017500000000000011451420650014062 500000000000000gtk-engines-2.20.2/engines/thinice/src/0000755000175000017500000000000011451420650014651 500000000000000gtk-engines-2.20.2/engines/thinice/src/thinice_rc_style.c0000644000175000017500000002505511445424675020311 00000000000000#include "thinice_rc_style.h" #include "thinice_style.h" G_DEFINE_DYNAMIC_TYPE (ThiniceRcStyle, thinice_rc_style, GTK_TYPE_RC_STYLE) static guint thinice_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner); static void thinice_rc_style_merge (GtkRcStyle *dest, GtkRcStyle *src); static GtkStyle *thinice_rc_style_create_style (GtkRcStyle *rc_style); static struct { gchar *name; guint token; } thinice_rc_symbols[] = { { "rect_scrollbar", TOKEN_RECTSCROLLBAR }, { "scrollbar_marks", TOKEN_SCROLLBARMARKS }, { "scroll_button_marks", TOKEN_SCROLLBUTTONMARKS }, { "handlebox_marks", TOKEN_HANDLEBOXMARKS }, { "mark_type1", TOKEN_MARKTYPE1 }, { "mark_type2", TOKEN_MARKTYPE2 }, { "paned_dots", TOKEN_PANEDDOTS }, { "TRUE", TOKEN_TRUE }, { "FALSE", TOKEN_FALSE }, { "NOTHING", TOKEN_NOTHING }, { "SLASH", TOKEN_SLASH }, { "INVSLASH", TOKEN_INVSLASH }, { "DOT", TOKEN_DOT }, { "INVDOT", TOKEN_INVDOT }, { "ARROW", TOKEN_ARROW }, { "FULL", TOKEN_FULL }, { "SOME", TOKEN_SOME }, { "NONE", TOKEN_NONE }, }; static guint n_thinice_rc_symbols = sizeof(thinice_rc_symbols) / sizeof(thinice_rc_symbols[0]); void thinice_rc_style_register_types (GTypeModule *module) { thinice_rc_style_register_type (module); } static void thinice_rc_style_init (ThiniceRcStyle *style) { style->flags = 0; } static void thinice_rc_style_class_init (ThiniceRcStyleClass *klass) { GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass); rc_style_class->parse = thinice_rc_style_parse; rc_style_class->merge = thinice_rc_style_merge; rc_style_class->create_style = thinice_rc_style_create_style; } static void thinice_rc_style_class_finalize (ThiniceRcStyleClass *klass) { } #if 0 static guint thinice_rc_parse_int(GScanner *scanner, GTokenType wanted_token, guint *retval) { guint token; token = g_scanner_get_next_token(scanner); if (token != wanted_token) return wanted_token; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return wanted_token; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_INT) return G_TOKEN_INT; *retval = g_scanner_cur_value(scanner).v_int; return G_TOKEN_NONE; } #endif static guint thinice_rc_parse_boolean(GScanner *scanner, GTokenType wanted_token, guint *retval) { guint token; token = g_scanner_get_next_token(scanner); if (token != wanted_token) return wanted_token; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); if (token == TOKEN_TRUE) *retval = TRUE; else if (token == TOKEN_FALSE) *retval = FALSE; else return TOKEN_TRUE; return G_TOKEN_NONE; } static guint thinice_rc_parse_marktype(GScanner *scanner, GTokenType wanted_token, guint *retval) { guint token; token = g_scanner_get_next_token(scanner); if (token != wanted_token) return wanted_token; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); switch (token) { case TOKEN_NOTHING: *retval = MARKS_NOTHING; break; case TOKEN_SLASH: *retval = MARKS_SLASH; break; case TOKEN_INVSLASH: *retval = MARKS_INVSLASH; break; case TOKEN_DOT: *retval = MARKS_DOT; break; case TOKEN_INVDOT: *retval = MARKS_INVDOT; break; case TOKEN_ARROW: *retval = MARKS_ARROW; break; default: return TOKEN_NOTHING; } return G_TOKEN_NONE; } static guint thinice_rc_parse_paned(GScanner *scanner, GTokenType wanted_token, guint *retval) { guint token; token = g_scanner_get_next_token(scanner); if (token != wanted_token) return wanted_token; token = g_scanner_get_next_token(scanner); if (token != G_TOKEN_EQUAL_SIGN) return G_TOKEN_EQUAL_SIGN; token = g_scanner_get_next_token(scanner); switch (token) { case TOKEN_NONE: *retval = PANED_DOTSNONE; break; case TOKEN_SOME: *retval = PANED_DOTSSOME; break; case TOKEN_FULL: *retval = PANED_DOTSFULL; break; default: return TOKEN_NOTHING; } return G_TOKEN_NONE; } static guint thinice_rc_style_parse (GtkRcStyle *rc_style, GtkSettings *settings, GScanner *scanner) { static GQuark scope_id = 0; ThiniceRcStyle *theme_data = THINICE_RC_STYLE (rc_style); guint old_scope; guint token; guint i; /* Set up a new scope in this scanner. */ /* g_print("thinice_rc_parse_rc_style(\"%s\")\n", rc_style->name); */ if (!scope_id) scope_id = g_quark_from_string("thinice_theme_engine"); /* If we bail out due to errors, we *don't* reset the scope, so the * error messaging code can make sense of our tokens. */ old_scope = g_scanner_set_scope(scanner, scope_id); /* Now check if we already added our symbols to this scope * (in some previous call to thinice_rc_parse_rc_style for the * same scanner. */ if (!g_scanner_lookup_symbol(scanner, thinice_rc_symbols[0].name)) { for (i = 0; i < n_thinice_rc_symbols; i++) { g_scanner_scope_add_symbol(scanner, scope_id, thinice_rc_symbols[i].name, GINT_TO_POINTER(thinice_rc_symbols[i].token)); } } /* We're ready to go, now parse the top level */ theme_data->scrollbar_type = DEFAULT_SCROLLSHAPE; theme_data->scrollbar_marks = DEFAULT_SCROLLBARMARKS; theme_data->scroll_button_marks = DEFAULT_SCROLLBUTTONMARKS; theme_data->handlebox_marks = DEFAULT_HANDLEBOXMARKS; theme_data->mark_type1 = DEFAULT_MARKTYPE1; theme_data->mark_type2 = DEFAULT_MARKTYPE2; token = g_scanner_peek_next_token(scanner); while (token != G_TOKEN_RIGHT_CURLY) { switch (token) { case TOKEN_RECTSCROLLBAR: token = thinice_rc_parse_boolean(scanner, TOKEN_RECTSCROLLBAR, &i); if (token != G_TOKEN_NONE) break; if (i == FALSE) theme_data->scrollbar_type = SCROLL_SHAPED; else theme_data->scrollbar_type = SCROLL_RECT; theme_data->flags |= THINICE_FLAG_SCROLLBAR_TYPE; break; case TOKEN_SCROLLBUTTONMARKS: token = thinice_rc_parse_boolean(scanner, TOKEN_SCROLLBUTTONMARKS, &i); if (token != G_TOKEN_NONE) break; if (i == TRUE) theme_data->mark_type2 = MARKS_SLASH; else theme_data->mark_type2 = MARKS_NOTHING; theme_data->flags |= THINICE_FLAG_MARK_TYPE2; /* if (i == TRUE) theme_data->scroll_button_marks = MARKS_ON; else theme_data->scroll_button_marks = MARKS_OFF; */ break; case TOKEN_SCROLLBARMARKS: token = thinice_rc_parse_boolean(scanner, TOKEN_SCROLLBARMARKS, &i); if (token != G_TOKEN_NONE) break; if (i == TRUE) theme_data->mark_type1 = MARKS_SLASH; else theme_data->mark_type1 = MARKS_NOTHING; theme_data->flags |= THINICE_FLAG_MARK_TYPE1; /* if (i == TRUE) theme_data->scrollbar_marks = MARKS_ON; else theme_data->scrollbar_marks = MARKS_OFF; */ break; case TOKEN_HANDLEBOXMARKS: token = thinice_rc_parse_boolean(scanner, TOKEN_HANDLEBOXMARKS, &i); if (token != G_TOKEN_NONE) break; if (i == TRUE) theme_data->handlebox_marks = MARKS_ON; else theme_data->handlebox_marks = MARKS_OFF; theme_data->flags |= THINICE_FLAG_HANDLEBOX_MARKS; break; case TOKEN_MARKTYPE1: token = thinice_rc_parse_marktype(scanner, TOKEN_MARKTYPE1, &i); if (token != G_TOKEN_NONE) break; theme_data->mark_type1 = i; theme_data->flags |= THINICE_FLAG_MARK_TYPE1; break; case TOKEN_MARKTYPE2: token = thinice_rc_parse_marktype(scanner, TOKEN_MARKTYPE2, &i); if (token != G_TOKEN_NONE) break; theme_data->mark_type2 = i; theme_data->flags |= THINICE_FLAG_MARK_TYPE2; break; case TOKEN_PANEDDOTS: token = thinice_rc_parse_paned(scanner, TOKEN_PANEDDOTS, &i); if (token != G_TOKEN_NONE) break; theme_data->paned_dots = i; theme_data->flags |= THINICE_FLAG_PANED_DOTS; break; default: g_scanner_get_next_token(scanner); token = G_TOKEN_RIGHT_CURLY; break; } if (token != G_TOKEN_NONE) { return token; } token = g_scanner_peek_next_token(scanner); } g_scanner_get_next_token(scanner); g_scanner_set_scope(scanner, old_scope); return G_TOKEN_NONE; } static void thinice_rc_style_merge (GtkRcStyle * dest, GtkRcStyle * src) { if (THINICE_IS_RC_STYLE (src)) { ThiniceRcFlags flags; ThiniceRcStyle *src_data = THINICE_RC_STYLE (src); ThiniceRcStyle *dest_data = THINICE_RC_STYLE (dest); flags = (~dest_data->flags) & src_data->flags; if (flags & THINICE_FLAG_SCROLLBAR_TYPE) dest_data->scrollbar_type = src_data->scrollbar_type; if (flags & THINICE_FLAG_SCROLLBAR_MARKS) dest_data->scrollbar_marks = src_data->scrollbar_marks; if (flags & THINICE_FLAG_SCROLL_BUTTON_MARKS) dest_data->scroll_button_marks = src_data->scroll_button_marks; if (flags & THINICE_FLAG_HANDLEBOX_MARKS) dest_data->handlebox_marks = src_data->handlebox_marks; if (flags & THINICE_FLAG_MARK_TYPE1) dest_data->mark_type1 = src_data->mark_type1; if (flags & THINICE_FLAG_MARK_TYPE2) dest_data->mark_type2 = src_data->mark_type2; if (flags & THINICE_FLAG_PANED_DOTS) dest_data->paned_dots = src_data->paned_dots; dest_data->flags = dest_data->flags | src_data->flags; } GTK_RC_STYLE_CLASS (thinice_rc_style_parent_class)->merge (dest, src); } /* Create an empty style suitable to this RC style */ static GtkStyle * thinice_rc_style_create_style (GtkRcStyle *rc_style) { return GTK_STYLE (g_object_new (THINICE_TYPE_STYLE, NULL)); } gtk-engines-2.20.2/engines/thinice/src/thinice_rc_style.h0000644000175000017500000000527711445424675020322 00000000000000#include #include "ge-support.h" typedef struct _ThiniceRcStyle ThiniceRcStyle; typedef struct _ThiniceRcStyleClass ThiniceRcStyleClass; #define THINICE_TYPE_RC_STYLE (thinice_rc_style_get_type ()) #define THINICE_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), THINICE_TYPE_RC_STYLE, ThiniceRcStyle)) #define THINICE_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THINICE_TYPE_RC_STYLE, ThiniceRcStyleClass)) #define THINICE_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), THINICE_TYPE_RC_STYLE)) #define THINICE_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THINICE_TYPE_RC_STYLE)) #define THINICE_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THINICE_TYPE_RC_STYLE, ThiniceRcStyleClass)) typedef enum { THINICE_FLAG_SCROLLBAR_TYPE = 1 << 0, THINICE_FLAG_SCROLLBAR_MARKS = 1 << 1, THINICE_FLAG_SCROLL_BUTTON_MARKS = 1 << 2, THINICE_FLAG_HANDLEBOX_MARKS = 1 << 3, THINICE_FLAG_MARK_TYPE1 = 1 << 4, THINICE_FLAG_MARK_TYPE2 = 1 << 5, THINICE_FLAG_PANED_DOTS = 1 << 6 } ThiniceRcFlags; struct _ThiniceRcStyle { GtkRcStyle parent_instance; ThiniceRcFlags flags; guint scrollbar_type:1; guint scrollbar_marks:1; guint scroll_button_marks:1; guint handlebox_marks:1; guint mark_type1; guint mark_type2; guint paned_dots; }; struct _ThiniceRcStyleClass { GtkRcStyleClass parent_class; }; GE_INTERNAL void thinice_rc_style_register_types (GTypeModule *module); GE_INTERNAL GType thinice_rc_style_get_type (void); /* Default stuff */ #define DEFAULT_SCROLLSHAPE SCROLL_SHAPED #define DEFAULT_SCROLLBARMARKS MARKS_ON #define DEFAULT_SCROLLBUTTONMARKS MARKS_ON #define DEFAULT_HANDLEBOXMARKS MARKS_ON #define DEFAULT_MARKTYPE1 MARKS_SLASH #define DEFAULT_MARKTYPE2 MARKS_INVSLASH #define DEFAULT_PANEDDOTS PANED_DOTSFULL #define DEFAULT_SCROLLTHUMB_SIZE 12 #define DEFAULT_MIN_SLIDER_SIZE 9 #define SMALLEST_HANDLE 17 enum { TOKEN_RECTSCROLLBAR = G_TOKEN_LAST + 1, TOKEN_SCROLLBARMARKS, TOKEN_SCROLLBUTTONMARKS, TOKEN_HANDLEBOXMARKS, TOKEN_MARKTYPE1, TOKEN_MARKTYPE2, TOKEN_PANEDDOTS, TOKEN_TRUE, TOKEN_FALSE, TOKEN_NOTHING, TOKEN_SLASH, TOKEN_INVSLASH, TOKEN_DOT, TOKEN_INVDOT, TOKEN_ARROW, TOKEN_FULL, TOKEN_SOME, TOKEN_NONE }; enum { SCROLL_RECT = 0, SCROLL_SHAPED = 1, MARKS_OFF = 0, MARKS_ON = 1, MARKS_NOTHING = 0, MARKS_SLASH = 1, MARKS_INVSLASH = 2, MARKS_DOT = 3, MARKS_INVDOT = 4, MARKS_ARROW = 5, PANED_DOTSFULL = 0, PANED_DOTSSOME = 1, PANED_DOTSNONE = 2 }; gtk-engines-2.20.2/engines/thinice/src/thinice_style.h0000644000175000017500000000200111445424675017614 00000000000000#include #include "ge-support.h" typedef struct _ThiniceStyle ThiniceStyle; typedef struct _ThiniceStyleClass ThiniceStyleClass; #define THINICE_TYPE_STYLE (thinice_style_get_type ()) #define THINICE_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), THINICE_TYPE_STYLE, ThiniceStyle)) #define THINICE_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THINICE_TYPE_STYLE, ThiniceStyleClass)) #define THINICE_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), THINICE_TYPE_STYLE)) #define THINICE_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THINICE_TYPE_STYLE)) #define THINICE_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THINICE_TYPE_STYLE, ThiniceStyleClass)) struct _ThiniceStyle { GtkStyle parent_instance; CairoColorCube color_cube; }; struct _ThiniceStyleClass { GtkStyleClass parent_class; }; GE_INTERNAL void thinice_style_register_types (GTypeModule *module); GE_INTERNAL GType thinice_style_get_type (void); gtk-engines-2.20.2/engines/thinice/src/thinice_misc.h0000644000175000017500000000225311445424675017420 00000000000000GtkShadowType GE_INTERNAL thinice_shadow_type (GtkStyle *style, const char *detail, GtkShadowType requested); GE_INTERNAL void thinice_slash_two(cairo_t *cr, CairoColor *color1, CairoColor *color2, gint x, gint y, gint width, gint height); GE_INTERNAL void thinice_slash_one(cairo_t *cr, CairoColor *color1, CairoColor *color2, gint x, gint y, gint width, gint height); GE_INTERNAL void thinice_dot(cairo_t *cr, CairoColor *color1, CairoColor *color2, gint x, gint y); GE_INTERNAL void thinice_arrow (cairo_t *canvas, CairoColor *color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height); GE_INTERNAL void thinice_draw_separator(cairo_t *cr, CairoColor *dark, CairoColor *light, gboolean horizontal, int x, int y, int width, int height); gtk-engines-2.20.2/engines/thinice/src/thinice_misc.c0000644000175000017500000001633311445424675017417 00000000000000#include #include #include #include "thinice_style.h" #include "thinice_rc_style.h" #include "thinice_misc.h" GtkShadowType thinice_shadow_type (GtkStyle *style, const char *detail, GtkShadowType requested) { GtkShadowType retval = GTK_SHADOW_NONE; if (requested != GTK_SHADOW_NONE) { retval = GTK_SHADOW_ETCHED_IN; } if (CHECK_DETAIL (detail, "dockitem") || CHECK_DETAIL (detail, "handlebox_bin") || CHECK_DETAIL (detail, "spinbutton_up") || CHECK_DETAIL (detail, "spinbutton_down")) { retval = GTK_SHADOW_NONE; } else if (CHECK_DETAIL (detail, "button") || CHECK_DETAIL (detail, "togglebutton") || CHECK_DETAIL (detail, "notebook") || CHECK_DETAIL (detail, "optionmenu")) { retval = requested; } else if (CHECK_DETAIL (detail, "menu")) { retval = GTK_SHADOW_ETCHED_IN; } return retval; } /*********************************************** * thinice_arrow- * * borrowed from redmond till shareable ***********************************************/ void thinice_arrow (cairo_t *canvas, CairoColor * color, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height) { gint aw = width, ah = height; GdkPoint points[3]; switch (arrow_type) { case GTK_ARROW_UP: case GTK_ARROW_DOWN: { gdouble tmp=((aw+1)/2) - ((height%2)?1:0); if (tmp > ah) { aw = 2*ah - 1 - ((height%2)?1:0); ah = (aw+1)/2; } else { ah = (gint) tmp; aw = 2*ah - 1; } if ((aw < 5) || (ah < 3)) { aw = 5; ah = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; width += width % 2 - 1; points[0].x = x; points[1].x = x + width - 1; points[2].x = x + ((height - 1) - (height - (1 + width / 2))); points[0].y = points[1].y = y; points[2].y = y + height - 1; if (arrow_type == GTK_ARROW_UP) { gint flip = points[1].y; points[0].y = points[1].y = points[2].y; points[2].y = flip; } } break; case GTK_ARROW_LEFT: case GTK_ARROW_RIGHT: { gdouble tmp=((ah+1)/2) - ((width%2)?1:0); if (tmp > aw) { ah = 2*aw - 1 - ((width%2)?1:0); aw = (ah+1)/2; } else { aw = (gint) tmp; ah = 2*aw - 1; } if ((ah < 5) || (aw < 3)) { ah = 5; aw = 3; } x += (width - aw) / 2 ; y += (height - ah) / 2; width = aw; height = ah; height += height % 2 - 1; points[0].y = y; points[1].y = y + height - 1; points[2].y = y + ((width - 1) - (width - (1 + height / 2))); points[0].x = points[1].x = x; points[2].x = x + width - 1; if (arrow_type == GTK_ARROW_LEFT) { gint flip = points[0].x; points[0].x = points[1].x = points[2].x; points[2].x = flip; } } break; default: { return; } } cairo_save(canvas); ge_cairo_set_color(canvas, color); cairo_set_line_width (canvas, 0.5); cairo_move_to(canvas, points[0].x + 0.5, points[0].y + 0.5); cairo_line_to(canvas, points[1].x + 0.5, points[1].y + 0.5); cairo_line_to(canvas, points[2].x + 0.5, points[2].y + 0.5); cairo_line_to(canvas, points[0].x + 0.5, points[0].y + 0.5); if (fill) { cairo_stroke_preserve(canvas); cairo_fill(canvas); } else { cairo_stroke(canvas); } cairo_restore(canvas); } void thinice_slash_two(cairo_t *cr, CairoColor *color1, CairoColor *color2, gint x, gint y, gint width, gint height) { gdouble centerx, centery, thick; gint ax1=0,ax2=0,ay1=0,ay2=0; centerx = width/2 + x + 0.5; centery = height/2 + y + 0.5; if (width > height) { ax1 = -2; ax2 = 1; } else { ay1 = -2; ay2 = 1; } thick = ((width < height?width-1:height-1) >> 1) - 1.5; cairo_set_line_width (cr, 1); ge_cairo_set_color(cr, color2); cairo_move_to(cr, centerx - thick + ax1, centery + thick + ay1); cairo_line_to(cr, centerx + thick + ax1, centery - thick + ay1); cairo_stroke(cr); ge_cairo_set_color(cr, color1); cairo_move_to(cr, centerx - thick + ax1 + ax2, centery + thick + ay1 + ay2); cairo_line_to(cr, centerx + thick + ax1 + ax2, centery - thick + ay1 + ay2); cairo_stroke(cr); if (width > height) { ax1 = 2; /* ax2 = 1; */ } else { ay1 = 2; /* ay2 = 1; */ } cairo_set_line_width (cr, 1); ge_cairo_set_color(cr, color2); cairo_move_to(cr, centerx - thick + ax1, centery + thick + ay1); cairo_line_to(cr, centerx + thick + ax1, centery - thick + ay1); cairo_stroke(cr); ge_cairo_set_color(cr, color1); cairo_move_to(cr, centerx - thick + ax1 + ax2, centery + thick + ay1 + ay2); cairo_line_to(cr, centerx + thick + ax1 + ax2, centery - thick + ay1 + ay2); cairo_stroke(cr); } void thinice_slash_one(cairo_t *cr, CairoColor *color1, CairoColor *color2, gint x, gint y, gint width, gint height) { gint centerx, centery, thick; centerx = width/2 + x + 0.5; centery = height/2 + y + 0.5; thick = ((width < height?width:height) >> 1) - 1.5; cairo_set_line_width (cr, 1); ge_cairo_set_color(cr, color2); cairo_move_to(cr, centerx - thick, centery + thick); cairo_line_to(cr, centerx + thick, centery - thick); cairo_stroke(cr); ge_cairo_set_color(cr, color2); cairo_move_to(cr, centerx - thick, centery + thick - 1); cairo_line_to(cr, centerx + thick - 1, centery - thick); cairo_stroke(cr); } void thinice_dot(cairo_t *cr, CairoColor *color1, CairoColor *color2, gint x, gint y) { ge_cairo_set_color (cr, color1); cairo_rectangle (cr, x + 1, y + 1, 1, 1); cairo_rectangle (cr, x + 1, y, 1, 1); cairo_rectangle (cr, x, y + 1, 1, 1); cairo_fill (cr); ge_cairo_set_color (cr, color2); cairo_rectangle (cr, x - 1, y - 1, 1, 1); cairo_rectangle (cr, x - 1, y, 1, 1); cairo_rectangle (cr, x, y - 1, 1, 1); cairo_fill (cr); } void thinice_draw_separator(cairo_t *cr, CairoColor *dark, CairoColor *light, gboolean horizontal, int x, int y, int width, int height) { cairo_save (cr); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); if (horizontal) { cairo_set_line_width (cr, 1.0); cairo_translate (cr, x, y+0.5); cairo_move_to (cr, 0.0, 0.0); cairo_line_to (cr, width, 0.0); ge_cairo_set_color (cr, dark); cairo_stroke (cr); cairo_move_to (cr, 0.0, 1.0); cairo_line_to (cr, width, 1.0); ge_cairo_set_color (cr, light); cairo_stroke (cr); } else { cairo_set_line_width (cr, 1.0); cairo_translate (cr, x+0.5, y); cairo_move_to (cr, 0.0, 0.0); cairo_line_to (cr, 0.0, height); ge_cairo_set_color (cr, dark); cairo_stroke (cr); cairo_move_to (cr, 1.0, 0.0); cairo_line_to (cr, 1.0, height); ge_cairo_set_color (cr, light); cairo_stroke (cr); } cairo_restore (cr); } gtk-engines-2.20.2/engines/thinice/src/thinice_theme_draw.c0000644000175000017500000012040711446654310020571 00000000000000/* ThinIce theme for gtk, based on raster's Motif theme and the Metal theme. Authors: Tim Gerla Tomas gren */ /* #define DEBUG 1 */ #include #include #include #include "thinice_style.h" #include "thinice_rc_style.h" #include "thinice_misc.h" #define DRAW_ARGS GtkStyle *style, \ GdkWindow *window, \ GtkStateType state_type, \ GtkShadowType shadow_type, \ GdkRectangle *area, \ GtkWidget *widget, \ const gchar *detail, \ gint x, \ gint y, \ gint width, \ gint height #define DRAW_VARS style, window, state_type, shadow_type, area, widget, detail, x, y, width, height G_DEFINE_DYNAMIC_TYPE (ThiniceStyle, thinice_style, GTK_TYPE_STYLE) void thinice_style_register_types (GTypeModule *module) { thinice_style_register_type (module); } static void thinice_style_draw_hline(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x1, gint x2, gint y) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *dark; CairoColor *light; cairo_t *cr; CHECK_ARGS cr = ge_gdk_drawable_to_cairo (window, area); dark = &thinice_style->color_cube.dark[state_type]; light = &thinice_style->color_cube.light[state_type]; thinice_draw_separator(cr, dark, light, TRUE, x1, y, x2-x1, 2); cairo_destroy (cr); } static void thinice_style_draw_vline(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint y1, gint y2, gint x) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *dark; CairoColor *light; cairo_t *cr; CHECK_ARGS if (ge_is_combo_box(widget, FALSE) && (!ge_is_combo_box_entry(widget))) return; cr = ge_gdk_drawable_to_cairo (window, area); dark = &thinice_style->color_cube.dark[state_type]; light = &thinice_style->color_cube.light[state_type]; thinice_draw_separator(cr, dark, light, FALSE, x, y1, 2, y2-y1); cairo_destroy (cr); } static void thinice_style_draw_shadow(GtkStyle *style, GdkWindow *window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle *area, GtkWidget *widget, const gchar *detail, gint x, gint y, gint width, gint height) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *color1 = NULL; CairoColor *color2 = NULL; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE switch (shadow_type) { case GTK_SHADOW_NONE: return; case GTK_SHADOW_IN: if (((x == 1) || (y == 1)) && (CHECK_DETAIL (detail, "entry") || CHECK_DETAIL (detail, "text"))) { color1 = color2 = &thinice_style->color_cube.base[state_type]; break; } case GTK_SHADOW_ETCHED_IN: color1 = &thinice_style->color_cube.light[state_type]; color2 = &thinice_style->color_cube.dark[state_type]; break; case GTK_SHADOW_OUT: case GTK_SHADOW_ETCHED_OUT: color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.light[state_type]; break; } cr = ge_gdk_drawable_to_cairo (window, area); switch (shadow_type) { case GTK_SHADOW_NONE: break; case GTK_SHADOW_ETCHED_IN: case GTK_SHADOW_ETCHED_OUT: ge_cairo_set_color(cr, color1); ge_cairo_stroke_rectangle(cr, x + 1.5, y + 1.5, width - 3, height - 3); ge_cairo_set_color(cr, color2); ge_cairo_stroke_rectangle(cr, x + 0.5, y + 0.5, width - 3, height - 3); break; case GTK_SHADOW_IN: case GTK_SHADOW_OUT: ge_cairo_simple_border (cr, color2, color1, x, y, width, height, FALSE); break; } cairo_destroy(cr); } static void thinice_style_draw_polygon(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, GdkPoint * points, gint npoints, gint fill) { static const gdouble pi_over_4 = G_PI_4; static const gdouble pi_3_over_4 = G_PI_4 * 3; ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *color1 = NULL; CairoColor *color2 = NULL; CairoColor *color3 = NULL; CairoColor *color4 = NULL; cairo_t *cr; gdouble angle; gint xadjust; gint yadjust; gint i; CHECK_ARGS g_return_if_fail(points != NULL); switch (shadow_type) { case GTK_SHADOW_IN: color1 = &thinice_style->color_cube.light[state_type]; color2 = &thinice_style->color_cube.dark[state_type]; color3 = &thinice_style->color_cube.light[state_type]; color4 = &thinice_style->color_cube.dark[state_type]; break; case GTK_SHADOW_ETCHED_IN: color1 = &thinice_style->color_cube.light[state_type]; color2 = &thinice_style->color_cube.dark[state_type]; color3 = &thinice_style->color_cube.dark[state_type]; color4 = &thinice_style->color_cube.light[state_type]; break; case GTK_SHADOW_OUT: color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.light[state_type]; color3 = &thinice_style->color_cube.dark[state_type]; color4 = &thinice_style->color_cube.light[state_type]; break; case GTK_SHADOW_ETCHED_OUT: color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.light[state_type]; color3 = &thinice_style->color_cube.light[state_type]; color4 = &thinice_style->color_cube.dark[state_type]; break; default: return; } cr = ge_gdk_drawable_to_cairo (window, area); if (fill) ge_cairo_polygon(cr, &thinice_style->color_cube.bg[state_type], points, npoints); npoints--; for (i = 0; i < npoints; i++) { if ((points[i].x == points[i + 1].x) && (points[i].y == points[i + 1].y)) { angle = 0; } else { angle = atan2(points[i + 1].y - points[i].y, points[i + 1].x - points[i].x); } if ((angle > -pi_3_over_4) && (angle < pi_over_4)) { if (angle > -pi_over_4) { xadjust = 0; yadjust = 1; } else { xadjust = 1; yadjust = 0; } ge_cairo_line(cr, color1, points[i].x - xadjust, points[i].y - yadjust, points[i + 1].x - xadjust, points[i + 1].y - yadjust); ge_cairo_line(cr, color3, points[i].x, points[i].y, points[i + 1].x, points[i + 1].y); } else { if ((angle < -pi_3_over_4) || (angle > pi_3_over_4)) { xadjust = 0; yadjust = 1; } else { xadjust = 1; yadjust = 0; } ge_cairo_line(cr, color4, points[i].x + xadjust, points[i].y + yadjust, points[i + 1].x + xadjust, points[i + 1].y + yadjust); ge_cairo_line(cr, color2, points[i].x, points[i].y, points[i + 1].x, points[i + 1].y); } } cairo_destroy(cr); } static void thinice_style_draw_arrow(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, GtkArrowType arrow_type, gint fill, gint x, gint y, gint width, gint height) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *color1, *color2, *color3=NULL,*color4=NULL; gint half_width, half_height; cairo_t *cr; CHECK_ARGS if (ge_is_combo_box(widget, FALSE) && (!ge_is_combo_box_entry(widget))) return; SANITIZE_SIZE half_width = width / 2; half_height = height / 2; switch (shadow_type) { case GTK_SHADOW_IN: color1 = &thinice_style->color_cube.bg[state_type]; color2 = &thinice_style->color_cube.dark[state_type]; color3 = &thinice_style->color_cube.light[state_type]; color4 = &thinice_style->color_cube.black; break; case GTK_SHADOW_OUT: color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.light[state_type]; color3 = &thinice_style->color_cube.black; color4 = &thinice_style->color_cube.bg[state_type]; break; case GTK_SHADOW_ETCHED_IN: color2 = &thinice_style->color_cube.light[state_type]; color1 = &thinice_style->color_cube.dark[state_type]; break; case GTK_SHADOW_ETCHED_OUT: color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.light[state_type]; break; case GTK_SHADOW_NONE: color1 = &thinice_style->color_cube.bg[state_type]; color2 = &thinice_style->color_cube.bg[state_type]; break; default: return; } cr = ge_gdk_drawable_to_cairo (window, area); if (CHECK_DETAIL (detail, "vscrollbar") || CHECK_DETAIL (detail, "hscrollbar")) { switch (THINICE_RC_STYLE (style->rc_style)->mark_type2) { case MARKS_NOTHING: break; case MARKS_INVSLASH: thinice_slash_one(cr, color2, color1, x, y, width, height); break; case MARKS_DOT: thinice_dot(cr, color2, color1, x + half_width, y + half_height); break; case MARKS_INVDOT: thinice_dot(cr, color1, color2, x + half_width, y + half_height); break; case MARKS_ARROW: if (state_type == GTK_STATE_INSENSITIVE) thinice_arrow (cr, &thinice_style->color_cube.white, arrow_type, TRUE, x+1, y+1, width, height); thinice_arrow (cr, &thinice_style->color_cube.fg[state_type], arrow_type, TRUE, x, y, width, height); break; case MARKS_SLASH: default: thinice_slash_one(cr, color1, color2, x, y, width - 1, height - 1); break; } } else { if (state_type == GTK_STATE_INSENSITIVE) thinice_arrow (cr, &thinice_style->color_cube.white, arrow_type, TRUE, x+1, y+1, width, height); thinice_arrow (cr, &thinice_style->color_cube.fg[state_type], arrow_type, TRUE, x, y, width, height); } cairo_destroy(cr); } static void thinice_style_draw_diamond(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height) { ThiniceStyle *thinice_style = THINICE_STYLE (style); gint half_width; gint half_height; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE half_width = width / 2; half_height = height / 2; cr = ge_gdk_drawable_to_cairo (window, area); switch (shadow_type) { case GTK_SHADOW_IN: ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + 2, y + half_height, x + half_width, y + height - 2); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + half_width, y + height - 2, x + width - 2, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + 1, y + half_height, x + half_width, y + height - 1); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + half_width, y + height - 1, x + width - 1, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x, y + half_height, x + half_width, y + height); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + half_width, y + height, x + width, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + 2, y + half_height, x + half_width, y + 2); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + half_width, y + 2, x + width - 2, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + 1, y + half_height, x + half_width, y + 1); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + half_width, y + 1, x + width - 1, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x, y + half_height, x + half_width, y); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + half_width, y, x + width, y + half_height); break; case GTK_SHADOW_OUT: ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + 2, y + half_height, x + half_width, y + height - 2); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + half_width, y + height - 2, x + width - 2, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + 1, y + half_height, x + half_width, y + height - 1); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + half_width, y + height - 1, x + width - 1, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x, y + half_height, x + half_width, y + height); ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], x + half_width, y + height, x + width, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + 2, y + half_height, x + half_width, y + 2); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + half_width, y + 2, x + width - 2, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + 1, y + half_height, x + half_width, y + 1); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + half_width, y + 1, x + width - 1, y + half_height); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x, y + half_height, x + half_width, y); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + half_width, y, x + width, y + half_height); break; default: break; } cairo_destroy(cr); } static void thinice_style_draw_box(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height) { ThiniceStyle *thinice_style = THINICE_STYLE (style); cairo_t *canvas; gboolean draw_border = TRUE; /***********************************************/ /* GTK Sanity Checks */ /***********************************************/ CHECK_ARGS SANITIZE_SIZE /***********************************************/ /* GTK Special Cases - Ignored Widgets */ /***********************************************/ if ((CHECK_DETAIL(detail, "optionmenutab")) || (CHECK_DETAIL (detail, "slider")) || (CHECK_DETAIL (detail, "buttondefault")) || (CHECK_DETAIL (detail, "bar") && ((height < 1) && (width < 1)))) { return; } /***********************************************/ /* GTK Special Cases - adjust Size/Offset */ /***********************************************/ if ((CHECK_DETAIL (detail, "bar"))) { x += 1; y += 1; width -= 2; height -= 2; draw_border=FALSE; } else if (CHECK_DETAIL (detail, "handlebox_bin")) { draw_border=FALSE; } else if (CHECK_DETAIL (detail, "entry-progress")) { draw_border=FALSE; } /***********************************************/ /* Fill Box */ /***********************************************/ if ((!style->bg_pixmap[state_type]) || GDK_IS_PIXMAP(window)) { canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_set_color(canvas, &thinice_style->color_cube.bg[state_type]); cairo_rectangle(canvas, x, y, width, height); cairo_fill(canvas); cairo_destroy(canvas); } else { gtk_style_apply_default_background(style, window, widget && !GTK_WIDGET_NO_WINDOW(widget), state_type, area, x, y, width, height); } /***********************************************/ /* Draw Box Border */ /***********************************************/ if (draw_border) { thinice_style_draw_shadow(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } /***********************************************/ /* Draw Widget Specific Sub-Parts */ /***********************************************/ if (CHECK_DETAIL (detail, "button")) { /* Paint a triangle here instead of in "buttondefault" which is drawn _behind_ the current button */ if (widget && GE_WIDGET_HAS_DEFAULT (widget)) { canvas = ge_gdk_drawable_to_cairo (window, area); ge_cairo_set_color(canvas, &thinice_style->color_cube.bg[GTK_STATE_SELECTED]); cairo_move_to(canvas, x+2.5, y+2.5); cairo_line_to(canvas, x+10.5, y+2.5); cairo_line_to(canvas, x+2.5, y+10.5); cairo_line_to(canvas, x+2.5, y+2.5); cairo_fill(canvas); ge_cairo_set_color(canvas, &thinice_style->color_cube.dark[state_type]); cairo_move_to(canvas, x + 2.5, y + 11); cairo_line_to(canvas, x + 2.5, y + 2.5); cairo_line_to(canvas, x + 11, y + 2.5); cairo_stroke(canvas); cairo_set_line_width (canvas, 0.5); ge_cairo_set_color(canvas, &thinice_style->color_cube.light[state_type]); cairo_move_to(canvas, x+11, y+3); cairo_line_to(canvas, x+3, y+11); cairo_stroke(canvas); cairo_destroy(canvas); } } /* Draw Option Menus and Combo Box "Tab" The Same Way Here */ if (CHECK_DETAIL(detail, "optionmenu") || (CHECK_DETAIL(detail, "button") && (ge_is_combo_box(widget, FALSE)) && !(ge_is_combo_box_entry(widget)))) { GtkRequisition indicator_size; GtkBorder indicator_spacing; CairoColor *dark; CairoColor *light; gint vline_x; if (state_type != GTK_STATE_INSENSITIVE) state_type = GTK_STATE_NORMAL; ge_option_menu_get_props (widget, &indicator_size, &indicator_spacing); if ((!widget) || (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)) vline_x = x + indicator_size.width + indicator_spacing.left + indicator_spacing.right; else vline_x = x + width - (indicator_size.width + indicator_spacing.left + indicator_spacing.right) - style->xthickness; canvas = ge_gdk_drawable_to_cairo (window, area); dark = &thinice_style->color_cube.dark[state_type]; light = &thinice_style->color_cube.light[state_type]; thinice_draw_separator(canvas, dark, light, FALSE, vline_x, y + style->ythickness + 1, style->xthickness, height - 2*style->ythickness - 2); cairo_destroy(canvas); if ((widget) && (gtk_widget_get_direction (GTK_WIDGET (widget)) == GTK_TEXT_DIR_RTL)) x += indicator_spacing.right + style->xthickness; else x += width - indicator_size.width - indicator_spacing.right - style->xthickness; y += ((height - indicator_size.height) / 2) + 1; width = indicator_size.width; height = indicator_size.height; thinice_style_draw_arrow (style, window, state_type, shadow_type, area, NULL, "optionmenu", GTK_ARROW_DOWN, TRUE, x, y, width, height); } } static void thinice_style_draw_check(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *color1 = NULL; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE if (shadow_type == GTK_SHADOW_IN) { color1 = &thinice_style->color_cube.bg[GTK_STATE_ACTIVE]; } cr = ge_gdk_drawable_to_cairo (window, area); if (state_type == GTK_STATE_INSENSITIVE) { ge_cairo_set_color(cr, &thinice_style->color_cube.dark[state_type]); ge_cairo_stroke_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1); } else { thinice_style_draw_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); if (color1) { ge_cairo_set_color(cr, color1); cairo_rectangle(cr, x+1, y+1, width-2, height-2); cairo_fill(cr); } } cairo_destroy(cr); } /* Thanks to Evan Lawrence */ static void thinice_style_draw_option(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *color1 = NULL, *color2 = NULL, *color3 = NULL; cairo_t *cr; gint centerX; gint centerY; gint radius; CHECK_ARGS SANITIZE_SIZE if (shadow_type == GTK_SHADOW_IN || shadow_type == GTK_SHADOW_ETCHED_IN) { color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.light[state_type]; color3 = &thinice_style->color_cube.bg[GTK_STATE_ACTIVE]; } else { color1 = &thinice_style->color_cube.light[state_type]; color2 = &thinice_style->color_cube.dark[state_type]; color3 = &thinice_style->color_cube.bg[state_type]; } cr = ge_gdk_drawable_to_cairo (window, area); cairo_set_line_width (cr, 0.5); centerX = x + floor(width/2); centerY = y + floor(height/2); radius = floor(MIN(width, height)/2) - 0.5; switch (shadow_type) { case GTK_SHADOW_ETCHED_IN: ge_cairo_set_color(cr, color2); cairo_arc(cr, centerX + 1, centerY + 1, radius + 1, 0, 2 * G_PI); cairo_stroke(cr); ge_cairo_set_color(cr, color1); cairo_arc(cr, centerX, centerY, radius + 1, 0, 2 * G_PI); cairo_stroke(cr); break; case GTK_SHADOW_ETCHED_OUT: ge_cairo_set_color(cr, color1); cairo_arc(cr, centerX - 1, centerY - 1, radius + 1, 0, 2 * G_PI); cairo_stroke(cr); ge_cairo_set_color(cr, color2); cairo_arc(cr, centerX, centerY, radius + 1, 0, 2 * G_PI); cairo_stroke(cr); break; default: cairo_set_line_width (cr, 0.5); cairo_new_path (cr); cairo_move_to(cr, centerX + (radius + 2), centerY + (radius + 2)); cairo_line_to(cr, centerX + (radius + 2)*sin(G_PI/4.0), centerY - (radius + 2)*cos(G_PI/4.0)); cairo_line_to(cr, centerX - (radius + 2)*sin(G_PI/4.0), centerY + (radius + 2)*cos(G_PI/4.0)); cairo_line_to(cr, centerX + (radius + 2), centerY + (radius + 2)); cairo_close_path (cr); cairo_save(cr); cairo_clip (cr); ge_cairo_set_color(cr, color2); cairo_arc(cr, centerX, centerY, radius + 1, 0, 2*G_PI); cairo_fill(cr); cairo_restore(cr); cairo_new_path (cr); cairo_move_to(cr, centerX - (radius + 2), centerY - (radius + 2)); cairo_line_to(cr, centerX + (radius + 2)*sin(G_PI/4.0), centerY - (radius + 2)*cos(G_PI/4.0)); cairo_line_to(cr, centerX - (radius + 2)*sin(G_PI/4.0), centerY + (radius + 2)*cos(G_PI/4.0)); cairo_line_to(cr, centerX - (radius + 2), centerY - (radius + 2)); cairo_close_path (cr); cairo_save(cr); cairo_clip (cr); ge_cairo_set_color(cr, color1); cairo_arc(cr, centerX, centerY, radius + 1, 0, 2*G_PI); cairo_fill(cr); cairo_restore(cr); ge_cairo_set_color(cr, color3); cairo_arc(cr, centerX, centerY, radius, 0, 2 * G_PI); cairo_fill(cr); break; } cairo_destroy(cr); } static void thinice_style_draw_shadow_gap(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *color1 = NULL, *color2 = NULL; cairo_t *cr; gint start; CHECK_ARGS SANITIZE_SIZE shadow_type = thinice_shadow_type (style, detail, shadow_type); switch (shadow_type) { case GTK_SHADOW_NONE: return; case GTK_SHADOW_IN: color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.light[state_type]; break; case GTK_SHADOW_OUT: color1 = &thinice_style->color_cube.light[state_type]; color2 = &thinice_style->color_cube.dark[state_type]; break; case GTK_SHADOW_ETCHED_IN: case GTK_SHADOW_ETCHED_OUT: color1 = &thinice_style->color_cube.dark[state_type]; color2 = &thinice_style->color_cube.dark[state_type]; } cr = ge_gdk_drawable_to_cairo (window, area); cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); cairo_rectangle (cr, x, y, width, height); switch (gap_side) { case GTK_POS_TOP: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x + start, y, MIN(width-1, gap_x+gap_width - 1) - start, 1); break; case GTK_POS_BOTTOM: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x + start, y + height - 1, MIN(width-1, gap_x+gap_width - 1) - start, 1); break; case GTK_POS_LEFT: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x, y + start, 1, MIN(width-1, gap_x+gap_width - 1) - start); break; case GTK_POS_RIGHT: start = MAX (1, gap_x + 1); cairo_rectangle (cr, x + width - 1, y + start, 1, MIN(width-1, gap_x+gap_width - 1) - start); break; } cairo_clip (cr); cairo_new_path (cr); ge_cairo_simple_border (cr, color1, color2, x, y, width, height, FALSE); cairo_destroy(cr); } static void thinice_style_draw_box_gap(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width) { SANITIZE_SIZE gtk_style_apply_default_background(style, window, widget && !GTK_WIDGET_NO_WINDOW(widget), state_type, area, x, y, width, height); thinice_style_draw_shadow_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width); } static void thinice_style_draw_extension(DRAW_ARGS, GtkPositionType gap_side) { ThiniceStyle *thinice_style = THINICE_STYLE (style); CairoColor *background, *light, *dark; cairo_t *canvas; CHECK_ARGS SANITIZE_SIZE background = &thinice_style->color_cube.bg[state_type]; light = &thinice_style->color_cube.light[state_type]; dark = &thinice_style->color_cube.dark[state_type]; canvas = ge_gdk_drawable_to_cairo (window, area); if ((!style->bg_pixmap[state_type]) || GDK_IS_PIXMAP(window)) { ge_cairo_set_color(canvas, background); cairo_rectangle(canvas, x, y, width, height); cairo_fill(canvas); } else { gtk_style_apply_default_background(style, window, widget && !GTK_WIDGET_NO_WINDOW(widget), state_type, area, x, y, width, height); } cairo_rectangle (canvas, x, y, width, height); cairo_clip (canvas); switch(gap_side) { case GTK_POS_TOP: y--; height++; break; case GTK_POS_LEFT: x--; width++; break; case GTK_POS_BOTTOM: height++; break; case GTK_POS_RIGHT: width++; break; } ge_cairo_simple_border (canvas, light, dark, x, y, width, height, FALSE); cairo_destroy(canvas); } static void thinice_style_draw_slider(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { ThiniceStyle *thinice_style = THINICE_STYLE (style); GdkPoint pointsh[7]; gint i, rect = FALSE, midlines = MARKS_SLASH; gint modx, mody; cairo_t *cr; CHECK_ARGS SANITIZE_SIZE #ifdef DEBUG printf("draw_slider(%s, %d, %d, %d)\n", detail, x, y, orientation); #endif #ifdef DEBUG printf("Slider... x,y=%d,%d width = %d, height = %d (%d)\n",x,y,width,height, state_type); #endif midlines = THINICE_RC_STYLE (style->rc_style)->mark_type1; #ifdef DEBUG printf("Midlines = %d\n", midlines); #endif if (THINICE_RC_STYLE (style->rc_style)->scrollbar_type == SCROLL_RECT) { rect = TRUE; } /* too small, use rect & no midlines */ if ((width <= SMALLEST_HANDLE) && (height <= SMALLEST_HANDLE)) { midlines = MARKS_NOTHING; rect = TRUE; } if (rect) { pointsh[0].x = x; pointsh[0].y = y; pointsh[1].x = x + width - 1; pointsh[1].y = y; pointsh[2].x = x + width - 1; pointsh[2].y = y + height - 1; pointsh[3].x = x; pointsh[3].y = y + height - 1; pointsh[4].x = x; pointsh[4].y = y; } else { int chopoff; if (orientation == GTK_ORIENTATION_HORIZONTAL) { chopoff = CLAMP(width-SMALLEST_HANDLE, 0, 6); } else { chopoff = CLAMP(height-SMALLEST_HANDLE, 0, 6); } pointsh[0].x = x; pointsh[0].y = y+height-1; pointsh[1].x = x; pointsh[1].y = y+chopoff; pointsh[2].x = x+chopoff; pointsh[2].y = y; pointsh[3].x = x+width-1; pointsh[3].y = y; pointsh[4].x = x+width-1; pointsh[4].y = y+height-1-chopoff; pointsh[5].x = x+width-1-chopoff; pointsh[5].y = y+height-1; pointsh[6].x = x; pointsh[6].y = y+height-1; } cr = ge_gdk_drawable_to_cairo (window, area); if (rect) { ge_cairo_set_color(cr, &thinice_style->color_cube.bg[state_type]); cairo_rectangle(cr, x, y, width, height); cairo_fill(cr); thinice_style_draw_shadow(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); } else { /* Fill the polygon */ ge_cairo_polygon(cr, &thinice_style->color_cube.bg[state_type], pointsh, 6); /* Draw the light border */ for (i=0;i<3;i++) { ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], pointsh[i].x,pointsh[i].y, pointsh[i+1].x,pointsh[i+1].y); } /* Draw the dark border */ for (i=3;i<6;i++) { ge_cairo_line(cr, &thinice_style->color_cube.dark[state_type], pointsh[i].x,pointsh[i].y, pointsh[i+1].x,pointsh[i+1].y); } } if (orientation == GTK_ORIENTATION_HORIZONTAL) { modx = 4; mody = 0; } else { modx = 0; mody = 4; } switch (midlines) { case MARKS_NOTHING: break; case MARKS_INVSLASH: /* Inverse //:es */ thinice_slash_two(cr, &thinice_style->color_cube.dark[state_type], &thinice_style->color_cube.light[state_type], x, y, width, height); break; case MARKS_DOT: thinice_dot(cr, &thinice_style->color_cube.light[state_type], &thinice_style->color_cube.dark[state_type], x + width / 2 - modx, y + height / 2 - mody); thinice_dot(cr, &thinice_style->color_cube.light[state_type], &thinice_style->color_cube.dark[state_type], x + width / 2, y + height / 2); thinice_dot(cr, &thinice_style->color_cube.light[state_type], &thinice_style->color_cube.dark[state_type], x + width / 2 + modx, y + height / 2 + mody); break; case MARKS_INVDOT: /* Inverted */ thinice_dot(cr, &thinice_style->color_cube.dark[state_type], &thinice_style->color_cube.light[state_type], x + width / 2 - modx, y + height / 2 - mody); thinice_dot(cr, &thinice_style->color_cube.dark[state_type], &thinice_style->color_cube.light[state_type], x + width / 2, y + height / 2); thinice_dot(cr, &thinice_style->color_cube.dark[state_type], &thinice_style->color_cube.light[state_type], x + width / 2 + modx, y + height / 2 + mody); break; case MARKS_SLASH: default: thinice_slash_two(cr, &thinice_style->color_cube.light[state_type], &thinice_style->color_cube.dark[state_type], x, y, width, height); break; } cairo_destroy(cr); } static void thinice_style_draw_handle(GtkStyle * style, GdkWindow * window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle * area, GtkWidget * widget, const gchar *detail, gint x, gint y, gint width, gint height, GtkOrientation orientation) { ThiniceStyle *thinice_style = THINICE_STYLE (style); cairo_t *cr; CairoColor *light=NULL, *dark=NULL; GdkRectangle dest; gint modx, mody; CHECK_ARGS #ifdef DEBUG printf("draw_handle(state=%d, shadow=%d, detail=%s, [%d,%d]@[%d,%d]\n", state_type, shadow_type, detail?detail:"nul",width,height,x,y); #endif SANITIZE_SIZE cr = ge_gdk_drawable_to_cairo (window, area); if (CHECK_DETAIL (detail, "paned")) { int i, w; int start_i, end_i; dest.x = x; dest.y = y; dest.width = width; dest.height = height; light = &thinice_style->color_cube.light[state_type]; dark = &thinice_style->color_cube.dark[state_type]; if (orientation == GTK_ORIENTATION_HORIZONTAL) w = width; else w = height; switch (THINICE_RC_STYLE (style->rc_style)->paned_dots) { default: case PANED_DOTSFULL: start_i = 5; end_i = w - 5; break; case PANED_DOTSSOME: start_i = w/2 - 16; end_i = w/2 + 16; break; case PANED_DOTSNONE: start_i = w; end_i = 0; break; } if (orientation == GTK_ORIENTATION_HORIZONTAL) { for (i=x + start_i; i <= x + end_i; i+=8) { thinice_dot(cr, light, dark, i, y + height / 2); } } else { for (i=y + start_i; i <= y + end_i; i+=8) { thinice_dot(cr, light, dark, x + width / 2, i); } } cairo_destroy(cr); return; } thinice_style_draw_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); ge_cairo_line(cr, &thinice_style->color_cube.light[state_type], x + width, y, x + width, y + height - 2); /* Draw something in the box if so wanted */ if (THINICE_RC_STYLE (style->rc_style)->mark_type1 != MARKS_NOTHING) { light = &thinice_style->color_cube.light[state_type]; dark = &thinice_style->color_cube.dark[state_type]; orientation = GTK_ORIENTATION_HORIZONTAL; if (height > width) orientation = GTK_ORIENTATION_VERTICAL; dest.x = x + style->xthickness; dest.y = y + style->ythickness; dest.width = width - (style->xthickness * 2); dest.height = height - (style->ythickness * 2); if (orientation == GTK_ORIENTATION_HORIZONTAL) { modx = 4; mody = 0; } else { modx = 0; mody = 4; } switch (THINICE_RC_STYLE (style->rc_style)->mark_type1) { case MARKS_INVSLASH: /* Inverse //:es */ thinice_slash_two(cr, dark, light, x, y, width, height); break; case MARKS_DOT: /* Dots */ thinice_dot(cr, light, dark, x + width / 2 - modx, y + height / 2 - mody); thinice_dot(cr, light, dark, x + width / 2, y + height / 2); thinice_dot(cr, light, dark, x + width / 2 + modx, y + height / 2 + mody); break; case MARKS_INVDOT: /* Inverted dots */ thinice_dot(cr, dark, light, x + width / 2 - modx, y + height / 2 - mody); thinice_dot(cr, dark, light, x + width / 2, y + height / 2); thinice_dot(cr, dark, light, x + width / 2 + modx, y + height / 2 + mody); break; case MARKS_SLASH: default: thinice_slash_two(cr, light, dark, x, y, width, height); break; } } cairo_destroy(cr); } static void thinice_style_init (ThiniceStyle *style) { } static void thinice_style_realize (GtkStyle * style) { ThiniceStyle *thinice_style = THINICE_STYLE (style); GTK_STYLE_CLASS (thinice_style_parent_class)->realize (style); ge_gtk_style_to_cairo_color_cube (style, &thinice_style->color_cube); } static void thinice_style_class_init (ThiniceStyleClass *klass) { GtkStyleClass *style_class = GTK_STYLE_CLASS (klass); style_class->realize = thinice_style_realize; style_class->draw_hline = thinice_style_draw_hline; style_class->draw_vline = thinice_style_draw_vline; style_class->draw_shadow = thinice_style_draw_shadow; style_class->draw_polygon = thinice_style_draw_polygon; style_class->draw_arrow = thinice_style_draw_arrow; style_class->draw_diamond = thinice_style_draw_diamond; style_class->draw_box = thinice_style_draw_box; style_class->draw_tab = thinice_style_draw_box; style_class->draw_check = thinice_style_draw_check; style_class->draw_option = thinice_style_draw_option; style_class->draw_shadow_gap = thinice_style_draw_shadow_gap; style_class->draw_box_gap = thinice_style_draw_box_gap; style_class->draw_extension = thinice_style_draw_extension; style_class->draw_slider = thinice_style_draw_slider; style_class->draw_handle = thinice_style_draw_handle; } static void thinice_style_class_finalize (ThiniceStyleClass *klass) { } /* FIXME: file/font selector background OK FIXME: radioknappar varierar storlek rtt bra.. OK FIXME: scrollbars OK FIXME: inconsistent-radioknappar OK FIXME: paned-pluttarna OK FIXME: spinbuttons, vid max OK FIXME: Bl triangeln vid RTL, WONTFIX? */ gtk-engines-2.20.2/engines/thinice/src/thinice_main.c0000644000175000017500000000064511445424675017407 00000000000000#include #include "thinice_rc_style.h" #include "thinice_style.h" GE_EXPORT void theme_init (GTypeModule *module) { thinice_rc_style_register_types (module); thinice_style_register_types (module); } GE_EXPORT void theme_exit (void) { } GE_EXPORT GtkRcStyle * theme_create_rc_style (void) { void *ptr; ptr = GTK_RC_STYLE (g_object_new (THINICE_TYPE_RC_STYLE, NULL)); return (GtkRcStyle *)ptr; } gtk-engines-2.20.2/engines/thinice/Makefile.am0000644000175000017500000000121011446654310016036 00000000000000INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libthinice.la EXTRA_DIST = \ ./AUTHORS libthinice_la_SOURCES = \ ./src/thinice_rc_style.c \ ./src/thinice_rc_style.h \ ./src/thinice_style.h \ ./src/thinice_misc.h \ ./src/thinice_misc.c \ ./src/thinice_theme_draw.c \ ./src/thinice_main.c libthinice_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libthinice_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/engines/thinice/Makefile.in0000644000175000017500000005607311451355761016074 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engines/thinice DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in AUTHORS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(enginedir)" LTLIBRARIES = $(engine_LTLIBRARIES) am__DEPENDENCIES_1 = libthinice_la_DEPENDENCIES = \ $(top_builddir)/engines/support/libsupport.la \ $(am__DEPENDENCIES_1) am_libthinice_la_OBJECTS = thinice_rc_style.lo thinice_misc.lo \ thinice_theme_draw.lo thinice_main.lo libthinice_la_OBJECTS = $(am_libthinice_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libthinice_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libthinice_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libthinice_la_SOURCES) DIST_SOURCES = $(libthinice_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir)/engines/support \ $(GTK_CFLAGS) $(DEVELOPMENT_CFLAGS) enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines engine_LTLIBRARIES = libthinice.la EXTRA_DIST = \ ./AUTHORS libthinice_la_SOURCES = \ ./src/thinice_rc_style.c \ ./src/thinice_rc_style.h \ ./src/thinice_style.h \ ./src/thinice_misc.h \ ./src/thinice_misc.c \ ./src/thinice_theme_draw.c \ ./src/thinice_main.c libthinice_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols $(top_srcdir)/engines/engine.symbols libthinice_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engines/thinice/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engines/thinice/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-engineLTLIBRARIES: $(engine_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(enginedir)" || $(MKDIR_P) "$(DESTDIR)$(enginedir)" @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(enginedir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(enginedir)"; \ } uninstall-engineLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(engine_LTLIBRARIES)'; test -n "$(enginedir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(enginedir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(enginedir)/$$f"; \ done clean-engineLTLIBRARIES: -test -z "$(engine_LTLIBRARIES)" || rm -f $(engine_LTLIBRARIES) @list='$(engine_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libthinice.la: $(libthinice_la_OBJECTS) $(libthinice_la_DEPENDENCIES) $(AM_V_CCLD)$(libthinice_la_LINK) -rpath $(enginedir) $(libthinice_la_OBJECTS) $(libthinice_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thinice_main.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thinice_misc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thinice_rc_style.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thinice_theme_draw.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< thinice_rc_style.lo: ./src/thinice_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thinice_rc_style.lo -MD -MP -MF $(DEPDIR)/thinice_rc_style.Tpo -c -o thinice_rc_style.lo `test -f './src/thinice_rc_style.c' || echo '$(srcdir)/'`./src/thinice_rc_style.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/thinice_rc_style.Tpo $(DEPDIR)/thinice_rc_style.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/thinice_rc_style.c' object='thinice_rc_style.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thinice_rc_style.lo `test -f './src/thinice_rc_style.c' || echo '$(srcdir)/'`./src/thinice_rc_style.c thinice_misc.lo: ./src/thinice_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thinice_misc.lo -MD -MP -MF $(DEPDIR)/thinice_misc.Tpo -c -o thinice_misc.lo `test -f './src/thinice_misc.c' || echo '$(srcdir)/'`./src/thinice_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/thinice_misc.Tpo $(DEPDIR)/thinice_misc.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/thinice_misc.c' object='thinice_misc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thinice_misc.lo `test -f './src/thinice_misc.c' || echo '$(srcdir)/'`./src/thinice_misc.c thinice_theme_draw.lo: ./src/thinice_theme_draw.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thinice_theme_draw.lo -MD -MP -MF $(DEPDIR)/thinice_theme_draw.Tpo -c -o thinice_theme_draw.lo `test -f './src/thinice_theme_draw.c' || echo '$(srcdir)/'`./src/thinice_theme_draw.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/thinice_theme_draw.Tpo $(DEPDIR)/thinice_theme_draw.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/thinice_theme_draw.c' object='thinice_theme_draw.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thinice_theme_draw.lo `test -f './src/thinice_theme_draw.c' || echo '$(srcdir)/'`./src/thinice_theme_draw.c thinice_main.lo: ./src/thinice_main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thinice_main.lo -MD -MP -MF $(DEPDIR)/thinice_main.Tpo -c -o thinice_main.lo `test -f './src/thinice_main.c' || echo '$(srcdir)/'`./src/thinice_main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/thinice_main.Tpo $(DEPDIR)/thinice_main.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='./src/thinice_main.c' object='thinice_main.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thinice_main.lo `test -f './src/thinice_main.c' || echo '$(srcdir)/'`./src/thinice_main.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-engineLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-engineLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-engineLTLIBRARIES clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-engineLTLIBRARIES install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-engineLTLIBRARIES -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/engines/thinice/AUTHORS0000644000175000017500000000013511445424675015067 00000000000000Tim Gerla Tomas Ögren Richard Hult gtk-engines-2.20.2/themes/0000755000175000017500000000000011451420650012274 500000000000000gtk-engines-2.20.2/themes/Makefile.am0000644000175000017500000000017211446654310014256 00000000000000SUBDIRS = $(BUILD_THEMES) DIST_SUBDIRS = Clearlooks Industrial Redmond Crux Mist ThinIce -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Makefile.in0000644000175000017500000004306611451355761014304 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = $(BUILD_THEMES) DIST_SUBDIRS = Clearlooks Industrial Redmond Crux Mist ThinIce all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Clearlooks/0000755000175000017500000000000011451420650014372 500000000000000gtk-engines-2.20.2/themes/Clearlooks/Makefile.am0000644000175000017500000000006211446654310016352 00000000000000SUBDIRS = gtk-2.0 -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Clearlooks/Makefile.in0000644000175000017500000004305211451355761016375 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Clearlooks DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gtk-2.0 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Clearlooks/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Clearlooks/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Clearlooks/gtk-2.0/0000755000175000017500000000000011451420650015454 500000000000000gtk-engines-2.20.2/themes/Clearlooks/gtk-2.0/Makefile.am0000644000175000017500000000020211446654310017430 00000000000000themedir = $(datadir)/themes/Clearlooks/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Clearlooks/gtk-2.0/Makefile.in0000644000175000017500000003076111451355761017462 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Clearlooks/gtk-2.0 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(themedir)" DATA = $(theme_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ themedir = $(datadir)/themes/Clearlooks/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Clearlooks/gtk-2.0/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Clearlooks/gtk-2.0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-themeDATA: $(theme_DATA) @$(NORMAL_INSTALL) test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)" @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \ done uninstall-themeDATA: @$(NORMAL_UNINSTALL) @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(themedir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(themedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-themeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-themeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-themeDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-themeDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Clearlooks/gtk-2.0/gtkrc0000644000175000017500000002607211446654310016446 00000000000000 # Please keep this gtkrc in sync with the other ones from Clearlooks based themes. gtk-color-scheme = "base_color:#ffffff\nfg_color:#000000\ntooltip_fg_color:#000000\nselected_bg_color:#86ABD9\nselected_fg_color:#ffffff\ntext_color:#1A1A1A\nbg_color:#EDECEB\ntooltip_bg_color:#F5F5B5" style "default" { xthickness = 1 ythickness = 1 ####################### # Style Properties ####################### GtkButton::child-displacement-x = 1 GtkButton::child-displacement-y = 1 GtkButton::default-border = { 0, 0, 0, 0 } GtkButton::image-spacing = 4 GtkToolButton::icon-spacing = 4 GtkCheckButton::indicator-size = 14 GtkPaned::handle-size = 6 GtkRange::trough-border = 0 GtkRange::slider-width = 15 GtkRange::stepper-size = 15 GtkScale::slider-length = 23 GtkScale::trough-side-details = 1 GtkScrollbar::min-slider-length = 30 GtkMenuBar::internal-padding = 0 GtkExpander::expander-size = 16 GtkToolbar::internal-padding = 1 GtkTreeView::expander-size = 14 GtkTreeView::vertical-separator = 0 GtkMenu::horizontal-padding = 0 GtkMenu::vertical-padding = 0 WnckTasklist::fade-overlay-rect = 0 # The following line hints to gecko (and possibly other appliations) # that the entry should be drawn transparently on the canvas. # Without this, gecko will fill in the background of the entry. GtkEntry::honors-transparent-bg-hint = 1 GtkEntry::progress-border = { 2, 2, 2, 2 } #################### # Color Definitions #################### bg[NORMAL] = @bg_color bg[PRELIGHT] = shade (1.02, @bg_color) bg[SELECTED] = @selected_bg_color bg[INSENSITIVE] = @bg_color bg[ACTIVE] = shade (0.9, @bg_color) fg[NORMAL] = @fg_color fg[PRELIGHT] = @fg_color fg[SELECTED] = @selected_fg_color fg[INSENSITIVE] = darker (@bg_color) fg[ACTIVE] = @fg_color text[NORMAL] = @text_color text[PRELIGHT] = @text_color text[SELECTED] = @selected_fg_color text[INSENSITIVE] = darker (@bg_color) text[ACTIVE] = @selected_fg_color base[NORMAL] = @base_color base[PRELIGHT] = shade (0.95, @bg_color) base[SELECTED] = @selected_bg_color base[INSENSITIVE] = @bg_color base[ACTIVE] = shade (0.9, @selected_bg_color) engine "clearlooks" { colorize_scrollbar = TRUE reliefstyle = 1 menubarstyle = 2 toolbarstyle = 1 animation = FALSE radius = 3.0 style = GUMMY # Set a hint to disable backward compatibility fallbacks. hint = "use-hints" } } style "wide" { xthickness = 2 ythickness = 2 } style "wider" { xthickness = 3 ythickness = 3 } style "entry" { xthickness = 3 ythickness = 3 bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) fg[SELECTED] = @text_color engine "clearlooks" { focus_color = shade (0.65, @selected_bg_color) } } style "spinbutton" { engine "clearlooks" { hint = "spinbutton" } } style "scale" { xthickness = 2 ythickness = 2 engine "clearlooks" { hint = "scale" } } style "vscale" { engine "clearlooks" { hint = "vscale" } } style "hscale" { engine "clearlooks" { hint = "hscale" } } style "scrollbar" { xthickness = 2 ythickness = 2 engine "clearlooks" { hint = "scrollbar" } } style "hscrollbar" { engine "clearlooks" { hint = "hscrollbar" } } style "vscrollbar" { engine "clearlooks" { hint = "vscrollbar" } } style "notebook_bg" { bg[NORMAL] = shade (1.02, @bg_color) } style "button" { xthickness = 3 ythickness = 3 bg[NORMAL] = shade (1.04, @bg_color) bg[PRELIGHT] = shade (1.06, @bg_color) bg[ACTIVE] = shade (0.85, @bg_color) } # The color is changed by the notebook_bg style, this style # changes the x/ythickness style "notebook" { xthickness = 3 ythickness = 3 } style "statusbar" { engine "clearlooks" { hint = "statusbar" } } style "comboboxentry" { engine "clearlooks" { # Note: # If you set the appears-as-list option on comboboxes in the theme, # then you should set this hint on the combobox instead. hint = "comboboxentry" } } style "menubar" { engine "clearlooks" { hint = "menubar" } } style "menu" { xthickness = 0 ythickness = 0 bg[NORMAL] = shade (1.08, @bg_color) engine "clearlooks" { radius = 0.0 } } style "menu_item" { xthickness = 2 ythickness = 3 fg[PRELIGHT] = @selected_fg_color } # This style is there to modify the separator menu items. The goals are: # 1. Get a specific height. # 2. The line should go to the edges (ie. no border at the left/right) style "separator_menu_item" { xthickness = 1 ythickness = 0 GtkSeparatorMenuItem::horizontal-padding = 0 GtkWidget::wide-separators = 1 GtkWidget::separator-width = 1 GtkWidget::separator-height = 7 } style "frame_title" { fg[NORMAL] = lighter (@fg_color) } style "treeview" { engine "clearlooks" { hint = "treeview" } } # The almost useless progress bar style style "progressbar" { xthickness = 1 ythickness = 1 fg[PRELIGHT] = @selected_fg_color engine "clearlooks" { # Explicitly set the radius for the progress bars inside menu items. radius = 3.0 hint = "progressbar" } } # This style is based on the default style, so that the colors from the button # style are overriden again. style "treeview_header" = "default" { xthickness = 2 ythickness = 1 engine "clearlooks" { hint = "treeview-header" } } style "tooltips" { xthickness = 4 ythickness = 4 bg[NORMAL] = @tooltip_bg_color fg[NORMAL] = @tooltip_fg_color } style "nautilus_location" { bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) } # Wrokaroudn style for places where the text color is used instead of the fg color. style "text_is_fg_color_workaround" { text[NORMAL] = @fg_color text[PRELIGHT] = @fg_color text[SELECTED] = @selected_fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = darker (@bg_color) } # Workaround style for menus where the text color is used instead of the fg color. style "menuitem_text_is_fg_color_workaround" { text[NORMAL] = @fg_color text[PRELIGHT] = @selected_fg_color text[SELECTED] = @selected_fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = darker (@bg_color) } # Workaround style for places where the fg color is used instead of the text color. style "fg_is_text_color_workaround" { fg[NORMAL] = @text_color fg[PRELIGHT] = @text_color fg[SELECTED] = @selected_fg_color fg[ACTIVE] = @selected_fg_color fg[INSENSITIVE] = darker (@bg_color) } # Style to set the toolbar to use a flat style. This is because the "New" button in # Evolution is not drawn transparent. So if there is a gradient in the background it will # look really wrong. # See http://bugzilla.gnome.org/show_bug.cgi?id=446953. style "evo_new_button_workaround" { engine "clearlooks" { toolbarstyle = 0 } } ############################################################################### # The following part of the gtkrc applies the different styles to the widgets. ############################################################################### # The default style is applied to every widget class "GtkWidget" style "default" class "GtkSeparator" style "wide" class "GtkFrame" style "wide" class "GtkCalendar" style "wide" class "GtkEntry" style "entry" class "GtkSpinButton" style "spinbutton" class "GtkScale" style "scale" class "GtkVScale" style "vscale" class "GtkHScale" style "hscale" class "GtkScrollbar" style "scrollbar" class "GtkHScrollbar" style "hscrollbar" class "GtkVScrollbar" style "vscrollbar" # General matching follows. The order is choosen so that the right styles override # each other. EG. progressbar needs to be more important than the menu match. widget_class "*" style "notebook_bg" # This is not perfect, it could be done better. # (That is modify *every* widget in the notebook, and change those back that # we really don't want changed) widget_class "**" style "notebook_bg" widget_class "**" style "notebook_bg" widget_class "**" style "notebook_bg" widget_class "**" style "notebook_bg" widget_class "**" style "notebook_bg" widget_class "*" style "button" widget_class "*" style "notebook" widget_class "**" style "statusbar" widget_class "**" style "comboboxentry" widget_class "**" style "comboboxentry" widget_class "**" style "menubar" widget_class "**" style "menu" widget_class "**" style "menu_item" widget_class "**" style "separator_menu_item" widget_class "*.." style "frame_title" widget_class "*.*" style "treeview" widget_class "*" style "progressbar" # Treeview headers (and similar stock GTK+ widgets) widget_class "*.." style "treeview_header" widget_class "*.." style "treeview_header" widget_class "*.." style "treeview_header" widget_class "*.." style "treeview_header" # The window of the tooltip is called "gtk-tooltip" ################################################################## # FIXME: # This will not work if one embeds eg. a button into the tooltip. # As far as I can tell right now we will need to rework the theme # quite a bit to get this working correctly. # (It will involve setting different priorities, etc.) ################################################################## widget "gtk-tooltip*" style "tooltips" ########################################################################## # Following are special cases and workarounds for issues in applications. ########################################################################## # Workaround for the evolution ETable (bug #527532) widget_class "*.." style "treeview_header" # Workaround for the evolution ETree widget_class "*.." style "treeview_header" # Special case the nautilus-extra-view-widget # ToDo: A more generic approach for all applications that have a widget like this. widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" # Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 # Note that this work around assumes that the combobox is _not_ in appears-as-list mode. widget_class "*.." style "text_is_fg_color_workaround" # This is the part of the workaround that fixes the menus widget "*.gtk-combobox-popup-menu.*" style "menuitem_text_is_fg_color_workaround" # Work around the usage of GtkLabel inside GtkListItems to display text. # This breaks because the label is shown on a background that is based on the base color. widget_class "**" style "fg_is_text_color_workaround" # GtkCList also uses the fg color to draw text on top of the base colors. widget_class "*" style "fg_is_text_color_workaround" # Nautilus when renaming files, and maybe other places. widget_class "*" style "fg_is_text_color_workaround" # See the documentation of the style. widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "evo_new_button_workaround" gtk-engines-2.20.2/themes/Industrial/0000755000175000017500000000000011451420650014412 500000000000000gtk-engines-2.20.2/themes/Industrial/Makefile.am0000644000175000017500000000006211446654310016372 00000000000000SUBDIRS = gtk-2.0 -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Industrial/Makefile.in0000644000175000017500000004305211451355761016415 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Industrial DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gtk-2.0 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Industrial/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Industrial/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Industrial/gtk-2.0/0000755000175000017500000000000011451420650015474 500000000000000gtk-engines-2.20.2/themes/Industrial/gtk-2.0/Makefile.am0000644000175000017500000000020211446654310017450 00000000000000themedir = $(datadir)/themes/Industrial/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Industrial/gtk-2.0/Makefile.in0000644000175000017500000003076111451355761017502 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Industrial/gtk-2.0 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(themedir)" DATA = $(theme_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ themedir = $(datadir)/themes/Industrial/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Industrial/gtk-2.0/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Industrial/gtk-2.0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-themeDATA: $(theme_DATA) @$(NORMAL_INSTALL) test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)" @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \ done uninstall-themeDATA: @$(NORMAL_UNINSTALL) @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(themedir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(themedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-themeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-themeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-themeDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-themeDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Industrial/gtk-2.0/gtkrc0000644000175000017500000001765511446654310016475 00000000000000gtk-color-scheme = "bg_color: #f6f6f6\nfg_color: #000\nbase_color: #fff\ntext_color: #000\nselected_bg_color: #6484a4\nselected_fg_color: #fff\ntooltip_bg_color: #e5e5e5\ntooltip_fg_color: #000000" style "industrial-default" { xthickness = 1 ythickness = 1 GtkWidget::interior_focus = 1 GtkButton::default_border = { 3, 3, 3, 3 } GtkButton::default_outside_border = { 3, 3, 3, 3 } GtkRange::trough_border = 0 GtkWidget::focus_padding = 1 GtkPaned::handle_size = 7 GtkRange::slider_width = 15 GtkRange::stepper_size = 15 GtkScrollbar::min_slider_length = 30 GtkCheckButton::indicator_size = 13 GtkRadioButton::indicator_size = 13 GtkMenuBar::internal-padding = 0 WnckTasklist::fade-opacity = 1 WnckTasklist::fade-overlay-rect = 0 WnckTasklist::fade-loop-time = 2 GtkButton::child_displacement_x = 0 GtkButton::child_displacement_y = 1 GtkEntry::progress-border = { 0, 0, 0, 0 } GtkMenuItem::selected_shadow_type = GTK_SHADOW_IN GtkRange::activate-slider = 1 # The following line hints to gecko (and possibly other appliations) # that the entry should be drawn transparently on the canvas. # Without this, gecko will fill in the background of the entry. GtkEntry::honors-transparent-bg-hint = 1 # color definitions bg[NORMAL] = @bg_color bg[PRELIGHT] = shade (1.1, @bg_color) bg[ACTIVE] = shade (0.85, @bg_color) bg[SELECTED] = mix (0.65, @selected_bg_color, @bg_color) bg[INSENSITIVE] = shade (0.85, @bg_color) fg[NORMAL] = @fg_color fg[PRELIGHT] = @fg_color fg[ACTIVE] = @fg_color fg[SELECTED] = @selected_fg_color fg[INSENSITIVE] = mix (0.4, @fg_color, shade (0.85, @bg_color)) #shaded to bg[INSENSITIVE] base[NORMAL] = @base_color base[PRELIGHT] = @base_color #XXX base[ACTIVE] = mix (0.45, @selected_bg_color, @base_color) #b6c9cf base[SELECTED] = @selected_bg_color base[INSENSITIVE] = mix (0.95, @base_color, @text_color) text[NORMAL] = @text_color text[PRELIGHT] = @text_color #XXX text[ACTIVE] = @selected_fg_color text[SELECTED] = @selected_fg_color text[INSENSITIVE] = mix (0.5, @text_color, @base_color) # bg[NORMAL] = "#f6f6f6" # bg[PRELIGHT] = "#ffffff" # fg[PRELIGHT] = "#202020" # bg[ACTIVE] = "#d9d9d9" # bg[INSENSITIVE] = "#d9d9d9" # bg[SELECTED] = "#99a6bf" # # base[SELECTED] = "#6484a4" # text[SELECTED] = "#ffffff" # #this is selected item without focus: # base[ACTIVE] = "#b6c9cf" # text[INSENSITIVE] = "#757575" # # #defaults # #base[NORMAL] = "#b6c9cf" # #text[NORMAL] = "#000000" # engine "industrial" { # Set a hint to disable backward compatibility fallbacks. hint = "use-hints" } } # Style to apply an exterior forcus to GtkEntry style "industrial-exterior-focus" { GtkWidget::interior-focus = 0 GtkWidget::focus-line-width = 0 } # Add trough side details to GtkScale style "industrial-scale" { GtkRange::trough-side-details = 1 } # Style for the entry progress bar -- ie. change the colors style "industrial-entry" { xthickness = 2 ythickness = 2 bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) fg[SELECTED] = @text_color } # generic squared buttons style, used for the tasklist (treeview is in the extra treeview style) style "industrial-squared" { engine "industrial" { rounded_buttons = FALSE } } style "industrial-wide" { xthickness = 2 ythickness = 2 } # style to remove the border around the progress bar style "industrial-progress" { xthickness = 0 ythickness = 0 } # make scrollbar arrows lighter style "industrial-arrows" { fg[NORMAL] = mix (0.8, @fg_color, @bg_color) } # menuitems style "industrial-menuitem" { xthickness = 3 ythickness = 3 bg[PRELIGHT] = @selected_bg_color bg[SELECTED] = @selected_bg_color fg[PRELIGHT] = @selected_fg_color fg[SELECTED] = @selected_fg_color } style "industrial-menubar" { xthickness = 3 ythickness = 3 } style "industrial-tree-header" { engine "industrial" { hint = "treeview-header" } xthickness = 2 ythickness = 2 } style "industrial-tooltips" { xthickness = 4 ythickness = 4 bg[NORMAL] = @tooltip_bg_color fg[NORMAL] = @tooltip_fg_color } style "industrial-druid" { bg[SELECTED] = @selected_bg_color } style "metacity-frame" { # Normal base color bg[NORMAL] = @bg_color # Unfocused title background color bg[INSENSITIVE] = @bg_color # Unfocused title text color fg[INSENSITIVE] = mix (0.2, @fg_color, @bg_color) # "#808080" # Focused icon color fg[NORMAL] = mix (0.8, @fg_color, @bg_color) # same as scrollbar arrow color # Focused title background color bg[SELECTED] = @selected_bg_color # Focused title text color fg[SELECTED] = @selected_fg_color } style "industrial-spinbutton" { engine "industrial" { hint = "spinbutton" } } style "industrial-comboboxentry" { engine "industrial" { hint = "comboboxentry" } } # default style class "GtkWidget" style "industrial-default" # wide class "GtkNotebook" style "industrial-wide" class "GtkButton" style "industrial-wide" class "GtkRange" style "industrial-wide" class "GtkMenu" style "industrial-wide" class "GtkFrame" style "industrial-wide" class "GtkStatusbar" style "industrial-wide" class "GtkEntry" style "industrial-entry" class "GtkEntry" style "industrial-exterior-focus" class "GtkSpinButton" style "industrial-spinbutton" class "GtkScale" style "industrial-scale" class "GtkVScrollbar" style "industrial-arrows" class "GtkHScrollbar" style "industrial-arrows" widget_class "*.*" style "industrial-comboboxentry" widget_class "*.*" style "industrial-comboboxentry" # treeview widget_class "*..GtkButton" style "industrial-tree-header" widget_class "*..GtkButton" style "industrial-tree-header" widget_class "*..GtkButton" style "industrial-tree-header" widget_class "*..*" style "industrial-tree-header" widget_class "*..*" style "industrial-tree-header" # menuitems and interior widget_class "**" style "industrial-menuitem" widget_class "*." style "industrial-progress" # druide widget_class "*GnomeDruidPage*" style "industrial-druid" widget "gtk-tooltip*" style "industrial-tooltips" widget "*.tasklist-button" style "industrial-squared" class "MetaFrames" style "metacity-frame" # Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 # Note that the work around assumes that the combobox is _not_ in # appears-as-list mode. # This style does not affect GtkComboBoxEntry, it does have an effect # on comboboxes in appears-as-list mode though. style "industrial-text-is-fg-color-workaround" { text[NORMAL] = @fg_color text[PRELIGHT] = @fg_color text[SELECTED] = @selected_fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = darker (@bg_color) } widget_class "*.." style "industrial-text-is-fg-color-workaround" style "industrial-menuitem-text-is-fg-color-workaround" { text[NORMAL] = @fg_color text[PRELIGHT] = @selected_fg_color text[SELECTED] = @selected_fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = darker (@bg_color) } widget "*.gtk-combobox-popup-menu.*" style "industrial-menuitem-text-is-fg-color-workaround" # Work around the usage of GtkLabel inside GtkListItems to display text. # This breaks because the label is shown on a background that is based on the # base color set. style "industrial-fg-is-text-color-workaround" { fg[NORMAL] = @text_color fg[PRELIGHT] = @text_color fg[ACTIVE] = @selected_fg_color fg[SELECTED] = @selected_fg_color fg[INSENSITIVE] = darker (@bg_color) } widget_class "**" style "industrial-fg-is-text-color-workaround" # The same problem also exists for GtkCList and GtkCTree # Only match GtkCList and not the parent widgets, because that would also change the headers. widget_class "*" style "industrial-fg-is-text-color-workaround" gtk-engines-2.20.2/themes/Redmond/0000755000175000017500000000000011451420650013664 500000000000000gtk-engines-2.20.2/themes/Redmond/Makefile.am0000644000175000017500000000006211446654310015644 00000000000000SUBDIRS = gtk-2.0 -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Redmond/Makefile.in0000644000175000017500000004304111451355761015665 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Redmond DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gtk-2.0 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Redmond/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Redmond/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Redmond/gtk-2.0/0000755000175000017500000000000011451420650014746 500000000000000gtk-engines-2.20.2/themes/Redmond/gtk-2.0/Makefile.am0000644000175000017500000000017711446654310016735 00000000000000themedir = $(datadir)/themes/Redmond/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Redmond/gtk-2.0/Makefile.in0000644000175000017500000003074511451355761016756 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Redmond/gtk-2.0 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(themedir)" DATA = $(theme_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ themedir = $(datadir)/themes/Redmond/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Redmond/gtk-2.0/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Redmond/gtk-2.0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-themeDATA: $(theme_DATA) @$(NORMAL_INSTALL) test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)" @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \ done uninstall-themeDATA: @$(NORMAL_UNINSTALL) @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(themedir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(themedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-themeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-themeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-themeDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-themeDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Redmond/gtk-2.0/gtkrc0000644000175000017500000000572311446654310015740 00000000000000 gtk-icon-sizes = "mini-commander-icon=32,32:print-manager=32,32:panel-button=32,32:gtk-dnd=32,32:gtk-menu=16,16:panel-menu=22,22:gtk-large-toolbar=16,16:gtk-small-toolbar=16,16:gtk-button=16,16:gtk-dialog=32,32" style "standard-default" { GtkWidget::interior_focus = 2 GtkButton::default_border = { 1, 1, 1, 1 } GtkButton::default_outside_border = { 0, 0, 0, 0 } GtkOptionMenu::indicator_size = { 9, 5 } GtkOptionMenu::indicator_spacing = { 7, 5, 2, 2 } GtkComboBox::appears-as-list = 1 GtkNotebook::tab-overlap = 4 GtkButton::child_displacement_x = 1 GtkButton::child_displacement_y = 1 GtkMenu::horizontal-padding = 1 GtkMenu::vertical-padding = 1 GtkMenu::horizontal-offset = -6 GtkScrolledWindow::scrollbar-spacing = 0 GtkScrolledWindow::scrollbars-within-bevel = 1 fg[ACTIVE] = { 0.0, 0.0, 0.0 } fg[INSENSITIVE] = { 0.5, 0.5, 0.5 } fg[NORMAL] = { 0.0, 0.0, 0.0 } fg[PRELIGHT] = { 0.0, 0.0, 0.0 } fg[SELECTED] = { 1.0, 1.0, 1.0 } bg[ACTIVE] = { 0.83, 0.81, 0.78 } bg[INSENSITIVE] = { 0.83, 0.81, 0.78 } bg[NORMAL] = { 0.83, 0.81, 0.78 } bg[PRELIGHT] = { 0.83, 0.81, 0.78 } bg[SELECTED] = { 0.04, 0.14, 0.41 } base[ACTIVE] = { 0.04, 0.14, 0.41 } base[INSENSITIVE] = { 0.83, 0.81, 0.78 } base[NORMAL] = { 1.0, 1.0, 1.0 } base[PRELIGHT] = { 0.04, 0.14, 0.41 } base[SELECTED] = { 0.04, 0.14, 0.41 } text[ACTIVE] = { 1.0, 1.0, 1.0 } text[INSENSITIVE] = { 0.5, 0.5, 0.5 } text[NORMAL] = { 0.0, 0.0, 0.0 } text[PRELIGHT] = { 1.0, 1.0, 1.0 } text[SELECTED] = { 1.0, 1.0, 1.0 } engine "redmond95" {} } class "GtkWidget" style "standard-default" style "standard-menu" { bg[PRELIGHT] = { 0.04, 0.14, 0.41 } fg[PRELIGHT] = { 1.0, 1.0, 1.0 } } widget_class "*MenuItem*" style "standard-menu" style "standard-menubar-item" { bg[PRELIGHT] = { 0.83, 0.81, 0.78 } fg[PRELIGHT] = { 0.0, 0.0, 0.0 } } class "*MenuBar.*MenuItem*" style "standard-menubar-item" widget_class "*MenuBar.*MenuItem*" style "standard-menubar-item" style "standard-list" { bg[NORMAL] = { 0.9, 0.9, 0.9 } bg[PRELIGHT] = { 0.0, 0.0, 0.0 } } class "GtkList" style "standard-list" style "standard-scrollbar" { GtkRange::trough_border = 0 GtkRange::slider_width = 16 GtkRange::stepper_size = 16 GtkRange::stepper_spacing = 0 } class "GtkScrollbar" style "standard-scrollbar" style "standard-scales" { GtkRange::slider-width = 21 GtkScale::slider-length = 11 } class "*Scale*" style "standard-scales" style "standard-option-menu" { GtkOptionMenu::indicator_width = 7 GtkOptionMenu::indicator_left_spacing = 6 GtkOptionMenu::indicator_right_spacing = 4 } class "GtkOptionMenu" style "standard-option-menu" style "standard-progressbar" { fg[PRELIGHT] = { 1.0, 1.0, 1.0 } } class "GtkProgressBar" style "standard-progressbar" style "standard-entry" { bg[SELECTED] = "#1C40A8" fg[SELECTED] = { 1.0, 1.0, 1.0 } } class "GtkEntry" style "standard-entry" gtk-engines-2.20.2/themes/Crux/0000755000175000017500000000000011451420650013215 500000000000000gtk-engines-2.20.2/themes/Crux/Makefile.am0000644000175000017500000000006211446654310015175 00000000000000SUBDIRS = gtk-2.0 -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Crux/Makefile.in0000644000175000017500000004303011451355761015214 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Crux DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gtk-2.0 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Crux/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Crux/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Crux/gtk-2.0/0000755000175000017500000000000011451420650014277 500000000000000gtk-engines-2.20.2/themes/Crux/gtk-2.0/Makefile.am0000644000175000017500000000017411446654310016263 00000000000000themedir = $(datadir)/themes/Crux/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Crux/gtk-2.0/Makefile.in0000644000175000017500000003073111451355761016302 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Crux/gtk-2.0 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(themedir)" DATA = $(theme_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ themedir = $(datadir)/themes/Crux/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Crux/gtk-2.0/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Crux/gtk-2.0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-themeDATA: $(theme_DATA) @$(NORMAL_INSTALL) test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)" @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \ done uninstall-themeDATA: @$(NORMAL_UNINSTALL) @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(themedir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(themedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-themeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-themeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-themeDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-themeDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Crux/gtk-2.0/gtkrc0000644000175000017500000001427011446654310015266 00000000000000# gtkrc -- gtkrc for crux-engine theme # # Copyright (C) 2000, 2001 Eazel, Inc. # Copyright (C) 2005, 2006 Thomas Wood # Authors # Design: Lapo Calamandrei # Code: Thomas Wood # # Original Authors # John Harper # This program 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 of the # License, or (at your option) any later version. # # This program 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. # # $Id: gtkrc,v 1.11 2006/10/02 17:57:25 thos Exp $ # Default style for all widgets to build from gtk_color_scheme = "fg_color:#000;bg_color:#d3d7cf;base_color:#fff;text_color:#000;selected_bg_color:#75507b;selected_fg_color:#fff;tooltip_bg_color:#F5F5B5;tooltip_fg_color:#000" style "default" { fg[NORMAL] = @fg_color # was 000000 --> OK fg[PRELIGHT] = @fg_color # was 000000 --> OK fg[SELECTED] = @selected_fg_color # was ffffff --> OK fg[ACTIVE] = @fg_color # was 000000 --> OK fg[INSENSITIVE] = darker (@bg_color) # was 888a85 --> ?? bg[NORMAL] = @bg_color # was d3d7cf --> NO? bg[PRELIGHT] = shade (1.02, @bg_color) # was ededeb --> NO? bg[SELECTED] = @selected_bg_color # was 75507b --> OK bg[INSENSITIVE] = @bg_color # was c4c6c0 --> OK? bg[ACTIVE] = shade (0.9, @bg_color) # was a3a69f --> ?? base[NORMAL] = @base_color # was ffffff --> OK base[PRELIGHT] = shade (0.95, @bg_color) # was 000000 --> NO? base[ACTIVE] = shade (0.9, @selected_bg_color) # undefined base[SELECTED] = @selected_bg_color # 75507b --> OK base[INSENSITIVE] = @bg_color # dddddd --> NO text[NORMAL] = @text_color # was 000000 --> OK text[PRELIGHT] = @text_color # was 000000 --> OK text[ACTIVE] = @selected_fg_color # was 000000 --> OK text[SELECTED] = @selected_fg_color # was undefined text[INSENSITIVE] = darker (@bg_color) # was 888a85 --> ?? GtkRange::slider_width = 13 GtkRange::stepper_size = 13 GtkRange::trough_border = 1 GtkScale::slider_width = 12 GtkScale::stepper_size = 12 GtkScale::trough_border = 0 GtkScale::slider_length = 16 GtkCheckButton::indicator_size = 12 GtkCheckButton::indicator_spacing = 3 GtkCheckMenuItem::indicator_size = 10 GtkOptionMenu::indicator_size = { 11, 6 } GtkOptionMenu::indicator_spacing = { 30, 5, 2, 2 } GtkScrollbar::min_slider_length = 25 engine "crux-engine" { } } # common default class "GtkWidget" style "default" # Style used for (prelighted) menu items style "menuitem" { fg[PRELIGHT] = @selected_fg_color # was 000000 --> OK bg[PRELIGHT] = @selected_bg_color # was 75507b --> OK } class "GtkMenuItem" style "menuitem" widget_class "*.*MenuItem.*" style "menuitem" style "menu" { xthickness = 3 } # This enables gradiented menu backgrounds class "GtkMenu" style "menu" style "entry" { xthickness = 3 ythickness = 3 # Slightly lighter so that the selection will be visible properly bg[SELECTED] = mix(0.85, @selected_bg_color, @base_color) engine "crux-engine" { thickness = 3 } } # some extra padding around text entries, so the focus marking fits class "GtkEntry" style "entry" class "GtkText" style "entry" style "trough" { bg[NORMAL] = shade (0.9, @bg_color) # fg[PRELIGHT] is used for the text underneath the bar. fg[PRELIGHT] = @selected_fg_color } class "GtkProgressBar" style "trough" style "statusbar" { xthickness = 3 ythickness = 3 } class "GtkStatusbar" style "statusbar" style "crux-tooltips" { xthickness = 4 ythickness = 4 bg[NORMAL] = @tooltip_bg_color fg[NORMAL] = @tooltip_fg_color } # The window of the tooltip is called "gtk-tooltip" ################################ # FIXME: # This will not work if one embeds eg. a button into the tooltip. # As far as I can tell right now we will need to rework the theme # quite a bit to get this working correctly. # (It will involve setting different priorities, etc.) ################################ widget "gtk-tooltip*" style "crux-tooltips" # Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 # Note that the work around assumes that the combobox is _not_ in # appears-as-list mode. # This style does not affect GtkComboBoxEntry, it does have an effect # on comboboxes in appears-as-list mode though. style "crux-text-is-fg-color-workaround" { text[NORMAL] = @fg_color text[PRELIGHT] = @fg_color text[SELECTED] = @selected_fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = darker (@bg_color) } widget_class "*.." style "crux-text-is-fg-color-workaround" style "crux-menuitem-text-is-fg-color-workaround" { text[NORMAL] = @fg_color text[PRELIGHT] = @selected_fg_color text[SELECTED] = @selected_fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = darker (@bg_color) } widget "*.gtk-combobox-popup-menu.*" style "crux-menuitem-text-is-fg-color-workaround" # Work around the usage of GtkLabel inside GtkListItems to display text. # This breaks because the label is shown on a background that is based on the # base color set. style "crux-fg-is-text-color-workaround" { fg[NORMAL] = @text_color fg[PRELIGHT] = @text_color fg[ACTIVE] = @selected_fg_color fg[SELECTED] = @selected_fg_color fg[INSENSITIVE] = darker (@bg_color) } widget_class "**" style "crux-fg-is-text-color-workaround" # The same problem also exists for GtkCList and GtkCTree # Only match GtkCList and not the parent widgets, because that would also change the headers. widget_class "*" style "crux-fg-is-text-color-workaround" gtk-engines-2.20.2/themes/Mist/0000755000175000017500000000000011451420650013210 500000000000000gtk-engines-2.20.2/themes/Mist/Makefile.am0000644000175000017500000000006211446654310015170 00000000000000SUBDIRS = gtk-2.0 -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Mist/Makefile.in0000644000175000017500000004303011451355761015207 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Mist DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gtk-2.0 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Mist/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Mist/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Mist/gtk-2.0/0000755000175000017500000000000011451420650014272 500000000000000gtk-engines-2.20.2/themes/Mist/gtk-2.0/Makefile.am0000644000175000017500000000017411446654310016256 00000000000000themedir = $(datadir)/themes/Mist/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/Mist/gtk-2.0/Makefile.in0000644000175000017500000003073111451355761016275 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/Mist/gtk-2.0 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(themedir)" DATA = $(theme_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ themedir = $(datadir)/themes/Mist/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/Mist/gtk-2.0/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/Mist/gtk-2.0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-themeDATA: $(theme_DATA) @$(NORMAL_INSTALL) test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)" @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \ done uninstall-themeDATA: @$(NORMAL_UNINSTALL) @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(themedir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(themedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-themeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-themeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-themeDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-themeDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/Mist/gtk-2.0/gtkrc0000644000175000017500000001014411446654310015255 00000000000000gtk-color-scheme = "bg_color:#eaeaea\nfg_color:#000\nbase_color:#fff\ntext_color:#000\nselected_fg_color:#fff\nselected_bg_color:#729fcf" style "default" { fg[NORMAL] = @fg_color fg[ACTIVE] = @fg_color fg[INSENSITIVE] = mix (0.4, @fg_color, shade (0.85, @bg_color)) #shaded to bg[INSENSITIVE] fg[PRELIGHT] = @fg_color fg[SELECTED] = @selected_fg_color bg[ACTIVE] = shade (0.9, @bg_color) bg[NORMAL] = @bg_color bg[INSENSITIVE] = shade (0.95, @bg_color) bg[PRELIGHT] = shade (1.03, @bg_color) bg[SELECTED] = @selected_bg_color base[NORMAL] = @base_color base[ACTIVE] = shade (0.9, @selected_bg_color) base[INSENSITIVE] = shade (0.95, @base_color) base[PRELIGHT] = @bg_color base[SELECTED] = @selected_bg_color text[NORMAL] = @text_color text[ACTIVE] = @text_color text[PRELIGHT] = @text_color text[SELECTED] = @selected_fg_color text[INSENSITIVE] = mix (0.5, @text_color, @base_color) GtkRange::trough_border = 0 GtkRange::slider_width = 15 GtkRange::stepper_size = 15 GtkEntry::progress-border = { 0, 0, 0, 0 } GtkScrollbar::min_slider_length = 15 GtkCheckButton::indicator_size=10 GtkCheckMenuItem::indicator_size=10 GtkRadioButton::indicator_size=12 GtkNotebook::tab_vborder = 1 GtkNotebook::tab_hborder = 1 xthickness = 1 ythickness = 1 NautilusIconContainer::dark_info_color="#888888" NautilusIconContainer::light_info_color="#bbbbbb" NautilusIconContainer::highlight_alpha=200 GtkMenu::horizontal_padding=0 GtkMenu::vertical_padding=0 engine "mist" { } } style "menuitem" { ythickness = 2 xthickness = 2 fg[PRELIGHT] = @selected_fg_color } style "menu" { ythickness = 2 xthickness = 2 } style "entry" { bg[SELECTED] = mix(0.35, @selected_bg_color, @base_color) fg[SELECTED] = @text_color } class "GtkWidget" style "default" class "GtkMenu" style "menu" class "GtkEntry" style "entry" widget_class "**" style "menuitem" # Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 # Note that the work around assumes that the combobox is _not_ in # appears-as-list mode. # This style does not affect GtkComboBoxEntry, it does have an effect # on comboboxes in appears-as-list mode though. style "mist-text-is-fg-color-workaround" { text[NORMAL] = @fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = mix (0.4, @fg_color, shade (0.85, @bg_color)) #shaded to bg[INSENSITIVE] text[PRELIGHT] = @fg_color text[SELECTED] = @selected_fg_color } widget_class "*.." style "mist-text-is-fg-color-workaround" style "mist-menuitem-text-is-fg-color-workaround" { text[NORMAL] = @fg_color text[ACTIVE] = @fg_color text[INSENSITIVE] = mix (0.4, @fg_color, shade (0.85, @bg_color)) #shaded to bg[INSENSITIVE] text[PRELIGHT] = @selected_fg_color text[SELECTED] = @selected_fg_color } widget "*.gtk-combobox-popup-menu.*" style "mist-menuitem-text-is-fg-color-workaround" # Work around the usage of GtkLabel inside GtkListItems to display text. # This breaks because the label is shown on a background that is based on the # base color set. style "mist-fg-is-text-color-workaround" { fg[NORMAL] = @text_color fg[ACTIVE] = @text_color fg[PRELIGHT] = @text_color fg[SELECTED] = @selected_fg_color fg[INSENSITIVE] = mix (0.5, @text_color, @base_color) } widget_class "**" style "mist-fg-is-text-color-workaround" # The same problem also exists for GtkCList and GtkCTree # Only match GtkCList and not the parent widgets, because that would also change the headers. widget_class "*" style "mist-fg-is-text-color-workaround" gtk-engines-2.20.2/themes/ThinIce/0000755000175000017500000000000011451420650013617 500000000000000gtk-engines-2.20.2/themes/ThinIce/Makefile.am0000644000175000017500000000006211446654310015577 00000000000000SUBDIRS = gtk-2.0 -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/ThinIce/Makefile.in0000644000175000017500000004304111451355761015620 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/ThinIce DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gtk-2.0 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ThinIce/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/ThinIce/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/ThinIce/gtk-2.0/0000755000175000017500000000000011451420650014701 500000000000000gtk-engines-2.20.2/themes/ThinIce/gtk-2.0/Makefile.am0000644000175000017500000000017711446654310016670 00000000000000themedir = $(datadir)/themes/ThinIce/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/themes/ThinIce/gtk-2.0/Makefile.in0000644000175000017500000003074511451355761016711 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = themes/ThinIce/gtk-2.0 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(themedir)" DATA = $(theme_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ themedir = $(datadir)/themes/ThinIce/gtk-2.0 theme_DATA = gtkrc EXTRA_DIST = $(theme_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ThinIce/gtk-2.0/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu themes/ThinIce/gtk-2.0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-themeDATA: $(theme_DATA) @$(NORMAL_INSTALL) test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)" @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \ done uninstall-themeDATA: @$(NORMAL_UNINSTALL) @list='$(theme_DATA)'; test -n "$(themedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(themedir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(themedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-themeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-themeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-themeDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-themeDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/themes/ThinIce/gtk-2.0/gtkrc0000644000175000017500000000504611446654310015671 00000000000000# Edit these colors and fonts however you like. style "default" { GtkOptionMenu::indicator_spacing = { 3, 2, 1, 1 } GtkEntry::progress-border = { 1, 1, 1, 1 } GtkRange::slider_width = 11 GtkRange::stepper_size = 11 GtkScrollbar::min_slider_length = 14 GtkCheckButton::indicator_size = 10 GtkCheckMenuItem::indicator_size = 10 GtkButton::default_border = { 0, 0, 0, 0 } fg[NORMAL] = "#000000" fg[ACTIVE] = "#000000" fg[PRELIGHT] = "#000000" fg[SELECTED] = "#FFFFFF" fg[INSENSITIVE] = "#747474" bg[NORMAL] = "#D3D3DD" bg[ACTIVE] = "#C1C1CC" bg[PRELIGHT] = "#E5E5F7" bg[SELECTED] = "#336699" bg[INSENSITIVE] = "#D3D3DD" base[NORMAL] = "#E5E5F7" base[ACTIVE] = "#808080" base[PRELIGHT] = "#E5E5F7" base[SELECTED] = "#336699" base[INSENSITIVE] = "#E5E5F7" text[NORMAL] = "#000000" text[ACTIVE] = "#FFFFFF" text[PRELIGHT] = "#000000" text[SELECTED] = "#FFFFFF" text[INSENSITIVE] = "#747474" #font_name = "Sans 10" engine "thinice" { # Do you want the scrollbar handles rectangular or a bit shaped? rect_scrollbar = FALSE # The following variables are semi-generic, can be applied to # different widget classes etc.. # Mark type 1 is used on scrollbar handles, handleboxes etc # Can be: NOTHING, SLASH, INVSLASH, DOT, INVDOT mark_type1 = SLASH # Mark type 2 is used on scrollbar buttons # Can be: NOTHING, SLASH, INVSLASH, DOT, INVDOT, ARROW mark_type2 = ARROW # How to draw paned stuff # Can be: NONE, SOME (currently 5), FULL paned_dots = SOME } } style "tooltips" { bg[NORMAL] = "#EEE1B3" fg[NORMAL] = "#000000" } style "progress-bar" { bg[PRELIGHT] = "#336699" fg[PRELIGHT] = "#FFFFFF" bg[NORMAL] = "#C1C1CC" } style "menu-item" { bg[PRELIGHT] = "#336699" fg[PRELIGHT] = "#FFFFFF" base[PRELIGHT] = "#336699" text[PRELIGHT] = "#FFFFFF" } style "entry" { bg[SELECTED] = "#C9D2F5" fg[SELECTED] = "#000000" } class "GtkWidget" style "default" widget "gtk-tooltip*" style "tooltips" class "GtkProgressBar" style "progress-bar" class "*MenuItem*" style "menu-item" class "GtkEntry" style "entry" widget_class "*MenuItem*" style "menu-item" widget_class "*.GtkAccelMenuItem.*" style "menu-item" widget_class "*.GtkRadioMenuItem.*" style "menu-item" widget_class "*.GtkCheckMenuItem.*" style "menu-item" widget_class "*.GtkImageMenuItem.*" style "menu-item" widget_class "*.GtkSeparatorMenuItem.*" style "menu-item" widget_class "*.GtkRadioMenuItem.*" style "menu-item" gtk-engines-2.20.2/test/0000755000175000017500000000000011451420650011766 500000000000000gtk-engines-2.20.2/test/gtkrcs/0000755000175000017500000000000011451420650013263 500000000000000gtk-engines-2.20.2/test/gtkrcs/buildin0000644000175000017500000000031211445424675014566 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "" {} } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/clearlooks0000644000175000017500000000105111445424675015277 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "clearlooks" { # Test the parsing scrollbar_color = "#ff0000" colorize_scrollbar = FALSE contrast = 1.0 menubarstyle = 1 toolbarstyle = 1 animation = FALSE style = CLASSIC radius = 3.0 # Options that are ignored ... just some junk sunkenmenubar = "JUNK" progressbarstyle = JUNK menuitemstyle = 12345 listviewitemstyle = TRUE } } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/clearlooks-glossy0000644000175000017500000000034711445424675016624 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "clearlooks" { style = GLOSSY } } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/clearlooks-inverted0000644000175000017500000000035111445424675017117 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "clearlooks" { style = INVERTED } } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/clearlooks-gummy0000644000175000017500000000034611445424675016441 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "clearlooks" { style = GUMMY } } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/crux0000644000175000017500000000031711445424675014126 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "crux" {} } class "GtkWidget" style "default" gtk-engines-2.20.2/test/gtkrcs/glide0000644000175000017500000000031711445424675014231 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "glide" {} } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/hc0000644000175000017500000000031511445424675013535 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "hc" {} } class "GtkWidget" style "default" gtk-engines-2.20.2/test/gtkrcs/industrial0000644000175000017500000000032411445424675015321 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "industrial" {} } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/mist0000644000175000017500000000031611445424675014120 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "mist" {} } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/redmond0000644000175000017500000000032111445424675014570 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "redmond" {} } class "GtkWidget" style "default"gtk-engines-2.20.2/test/gtkrcs/thinice0000644000175000017500000000032111445424675014563 00000000000000 style "default" { GtkWidget::focus-line-pattern = "\1\1" GtkOptionMenu::indicator-spacing = { 1, 1, 1, 1 } GtkOptionMenu::indicator-size = { 1, 1 } engine "thinice" {} } class "GtkWidget" style "default"gtk-engines-2.20.2/test/Makefile.am0000644000175000017500000001121211445424675013755 00000000000000# gtk-engines - a collection of drawing engines for GTK+ # Copyright (C) 2007 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # # Initilize TESTS and XFAIL_TESTS TESTS = XFAIL_TESTS = GTKRCS = \ gtkrcs/buildin \ gtkrcs/clearlooks \ gtkrcs/clearlooks-glossy \ gtkrcs/clearlooks-inverted \ gtkrcs/clearlooks-gummy \ gtkrcs/crux \ gtkrcs/glide \ gtkrcs/hc \ gtkrcs/industrial \ gtkrcs/mist \ gtkrcs/redmond \ gtkrcs/thinice EXTRA_DIST = exported torture runinx valgrind-suppressions $(GTKRCS) EXTRA_PROGRAMS = torturetest torturetest_CFLAGS = $(GTK_CFLAGS) torturetest_LDFLAGS = $(GTK_LIBS) # Setup enviroment variables for GTK+ # ie. add $(top_builddir)/tests to the module searchpath, so that GTK+ finds # the engines in tests/engines # Also set the debug-blocks debugging of g_slice, will be overridden during the valgrind test. # Unset GTK_MODULES to not load a11y stuff or similar. TESTS_ENVIRONMENT=GTK_PATH="." G_SLICE=debug-blocks GTK_MODULES="" VALGRIND_COMMAND=valgrind --leak-resolution=high --leak-check=full --suppressions=$(srcdir)/valgrind-suppressions --num-callers=20 --log-file=valgrind-logs/THEME # set some flags to make glib more valgrind friendly VALGRIND_ENV=G_SLICE=always-malloc G_DEBUG=gc-friendly,resident-modules ################################################################# ################################################################# ############################################################# # Exported Symbols Test - Tests all engines unconditionally ############################################################# # Prefix with exported_ EXPORTED_SYMBOLS_TESTS = $(patsubst %,exported_%,$(BUILD_ENGINES)) TESTS += $(EXPORTED_SYMBOLS_TESTS) ############################################################# # Torture Test ############################################################# SUPPORTED_TORTURE_TEST_ENGINES = \ clearlooks \ crux \ glide \ hc \ industrial \ mist \ redmond \ thinice # Filter engines that are not build from the set of engines TORTURE_TEST_ENGINES = $(filter $(SUPPORTED_TORTURE_TEST_ENGINES),$(BUILD_ENGINES)) # Prefix with torture_ TORTURE_TEST_TESTS = torture_buildin $(patsubst %,torture_%,$(TORTURE_TEST_ENGINES)) # Add TORTURE_TEST_ENGINES to list of tests TESTS += $(TORTURE_TEST_TESTS) # Possible other tests: # - An extensive theme switch tests that loads/unloads the engine # multiple times. A requirement here is that multiple rc styles need # to be merged. # - RC style merging? Don't think there is a way to do that. # - Maybe a visual test that looks for visible changes? That way one can # check that a modification does not break anything. (eg. when doing # code cleanups) # - I would love to have some coverage statistics for the torture test # anyone knows how to do that? ################################################################# ################################################################# engines: -rm -rf engines mkdir engines cd engines; \ for engine in $(BUILD_ENGINES); do \ # Fail if the engine does not exist. \ # Maybe we should force a build or something? \ if [ ! -f ../$(top_builddir)/engines/$$engine/.libs/*.so ]; then \ exit 1; \ fi; \ ln -s ../$(top_builddir)/engines/$$engine/.libs/*.so lib$$engine.so ; \ done; CLEANFILES = \ torture_buildin-failed \ $(EXTRA_PROGRAMS) clean-local: -$(RM) torture_* -$(RM) exported_* -$(RM) -r engines -$(RM) -r valgrind-logs -$(RM) -r symbols valgrind-logs: -$(RM) -r valgrind-logs mkdir valgrind-logs symbols: mkdir symbols torture_%: torture torturetest engines cp $(srcdir)/torture $@ exported_%: exported engines symbols cp $(srcdir)/exported $@ check-valgrind: valgrind-logs $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT="$(TESTS_ENVIRONMENT) $(VALGRIND_ENV) EXEC_WRAPPER=\"$(VALGRIND_COMMAND)\"" test: @$(MAKE) $(AM_MAKEFLAGS) check .PHONY: engines valgrind-logs -include $(top_srcdir)/git.mk gtk-engines-2.20.2/test/Makefile.in0000644000175000017500000006117711451355761014001 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # gtk-engines - a collection of drawing engines for GTK+ # Copyright (C) 2007 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ XFAIL_TESTS = EXTRA_PROGRAMS = torturetest$(EXEEXT) subdir = test DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = torturetest_SOURCES = torturetest.c torturetest_OBJECTS = torturetest-torturetest.$(OBJEXT) torturetest_LDADD = $(LDADD) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent torturetest_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(torturetest_CFLAGS) \ $(CFLAGS) $(torturetest_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/engines/support depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = torturetest.c DIST_SOURCES = torturetest.c ETAGS = etags CTAGS = ctags am__tty_colors = \ red=; grn=; lgn=; blu=; std= DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # Initilize TESTS and XFAIL_TESTS # Add TORTURE_TEST_ENGINES to list of tests TESTS = $(EXPORTED_SYMBOLS_TESTS) $(TORTURE_TEST_TESTS) GTKRCS = \ gtkrcs/buildin \ gtkrcs/clearlooks \ gtkrcs/clearlooks-glossy \ gtkrcs/clearlooks-inverted \ gtkrcs/clearlooks-gummy \ gtkrcs/crux \ gtkrcs/glide \ gtkrcs/hc \ gtkrcs/industrial \ gtkrcs/mist \ gtkrcs/redmond \ gtkrcs/thinice EXTRA_DIST = exported torture runinx valgrind-suppressions $(GTKRCS) torturetest_CFLAGS = $(GTK_CFLAGS) torturetest_LDFLAGS = $(GTK_LIBS) # Setup enviroment variables for GTK+ # ie. add $(top_builddir)/tests to the module searchpath, so that GTK+ finds # the engines in tests/engines # Also set the debug-blocks debugging of g_slice, will be overridden during the valgrind test. # Unset GTK_MODULES to not load a11y stuff or similar. TESTS_ENVIRONMENT = GTK_PATH="." G_SLICE=debug-blocks GTK_MODULES="" VALGRIND_COMMAND = valgrind --leak-resolution=high --leak-check=full --suppressions=$(srcdir)/valgrind-suppressions --num-callers=20 --log-file=valgrind-logs/THEME # set some flags to make glib more valgrind friendly VALGRIND_ENV = G_SLICE=always-malloc G_DEBUG=gc-friendly,resident-modules ################################################################# ################################################################# ############################################################# # Exported Symbols Test - Tests all engines unconditionally ############################################################# # Prefix with exported_ EXPORTED_SYMBOLS_TESTS = $(patsubst %,exported_%,$(BUILD_ENGINES)) ############################################################# # Torture Test ############################################################# SUPPORTED_TORTURE_TEST_ENGINES = \ clearlooks \ crux \ glide \ hc \ industrial \ mist \ redmond \ thinice # Filter engines that are not build from the set of engines TORTURE_TEST_ENGINES = $(filter $(SUPPORTED_TORTURE_TEST_ENGINES),$(BUILD_ENGINES)) # Prefix with torture_ TORTURE_TEST_TESTS = torture_buildin $(patsubst %,torture_%,$(TORTURE_TEST_ENGINES)) CLEANFILES = \ torture_buildin-failed \ $(EXTRA_PROGRAMS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu test/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): torturetest$(EXEEXT): $(torturetest_OBJECTS) $(torturetest_DEPENDENCIES) @rm -f torturetest$(EXEEXT) $(AM_V_CCLD)$(torturetest_LINK) $(torturetest_OBJECTS) $(torturetest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/torturetest-torturetest.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< torturetest-torturetest.o: torturetest.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(torturetest_CFLAGS) $(CFLAGS) -MT torturetest-torturetest.o -MD -MP -MF $(DEPDIR)/torturetest-torturetest.Tpo -c -o torturetest-torturetest.o `test -f 'torturetest.c' || echo '$(srcdir)/'`torturetest.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/torturetest-torturetest.Tpo $(DEPDIR)/torturetest-torturetest.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='torturetest.c' object='torturetest-torturetest.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(torturetest_CFLAGS) $(CFLAGS) -c -o torturetest-torturetest.o `test -f 'torturetest.c' || echo '$(srcdir)/'`torturetest.c torturetest-torturetest.obj: torturetest.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(torturetest_CFLAGS) $(CFLAGS) -MT torturetest-torturetest.obj -MD -MP -MF $(DEPDIR)/torturetest-torturetest.Tpo -c -o torturetest-torturetest.obj `if test -f 'torturetest.c'; then $(CYGPATH_W) 'torturetest.c'; else $(CYGPATH_W) '$(srcdir)/torturetest.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/torturetest-torturetest.Tpo $(DEPDIR)/torturetest-torturetest.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='torturetest.c' object='torturetest-torturetest.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(torturetest_CFLAGS) $(CFLAGS) -c -o torturetest-torturetest.obj `if test -f 'torturetest.c'; then $(CYGPATH_W) 'torturetest.c'; else $(CYGPATH_W) '$(srcdir)/torturetest.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ $(am__tty_colors); \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ col=$$red; res=XPASS; \ ;; \ *) \ col=$$grn; res=PASS; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xfail=`expr $$xfail + 1`; \ col=$$lgn; res=XFAIL; \ ;; \ *) \ failed=`expr $$failed + 1`; \ col=$$red; res=FAIL; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ col=$$blu; res=SKIP; \ fi; \ echo "$${col}$$res$${std}: $$tst"; \ done; \ if test "$$all" -eq 1; then \ tests="test"; \ All=""; \ else \ tests="tests"; \ All="All "; \ fi; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="$$All$$all $$tests passed"; \ else \ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all $$tests failed"; \ else \ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ skipped="($$skip test was not run)"; \ else \ skipped="($$skip tests were not run)"; \ fi; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ if test "$$failed" -eq 0; then \ echo "$$grn$$dashes"; \ else \ echo "$$red$$dashes"; \ fi; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes$$std"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-generic clean-libtool clean-local ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Possible other tests: # - An extensive theme switch tests that loads/unloads the engine # multiple times. A requirement here is that multiple rc styles need # to be merged. # - RC style merging? Don't think there is a way to do that. # - Maybe a visual test that looks for visible changes? That way one can # check that a modification does not break anything. (eg. when doing # code cleanups) # - I would love to have some coverage statistics for the torture test # anyone knows how to do that? ################################################################# ################################################################# engines: -rm -rf engines mkdir engines cd engines; \ for engine in $(BUILD_ENGINES); do \ # Fail if the engine does not exist. \ # Maybe we should force a build or something? \ if [ ! -f ../$(top_builddir)/engines/$$engine/.libs/*.so ]; then \ exit 1; \ fi; \ ln -s ../$(top_builddir)/engines/$$engine/.libs/*.so lib$$engine.so ; \ done; clean-local: -$(RM) torture_* -$(RM) exported_* -$(RM) -r engines -$(RM) -r valgrind-logs -$(RM) -r symbols valgrind-logs: -$(RM) -r valgrind-logs mkdir valgrind-logs symbols: mkdir symbols torture_%: torture torturetest engines cp $(srcdir)/torture $@ exported_%: exported engines symbols cp $(srcdir)/exported $@ check-valgrind: valgrind-logs $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT="$(TESTS_ENVIRONMENT) $(VALGRIND_ENV) EXEC_WRAPPER=\"$(VALGRIND_COMMAND)\"" test: @$(MAKE) $(AM_MAKEFLAGS) check .PHONY: engines valgrind-logs -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/test/torturetest.c0000644000175000017500000004770411451415612014474 00000000000000/* gtk-engines - a collection of drawing engines for GTK+ * Copyright (C) 2007 Benjamin Berg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Project contact: * */ #include #include #include typedef enum { WIDGET_NULL, WIDGET_SCROLLBAR, WIDGET_TOGGLE_BUTTON, WIDGET_STATUS_BAR, WIDGET_TREE_VIEW, WIDGET_TREE_VIEW_HEADER, WIDGET_SCALE, WIDGET_PROGRESS_BAR, WIDGET_MENUBAR, WIDGET_MENUBAR_ITEM, #ifndef GTK_DISABLE_DEPRECATED WIDGET_OPTION_MENU, #endif /* GTK_DISABLE_DEPRECATED */ WIDGET_TOOLBAR, WIDGET_DEFAULT_BUTTON } WidgetType; #define WIDGET_COUNT (WIDGET_DEFAULT_BUTTON+1) #define WIDGET_ALL (-1) GType widget_type_get_type (void) { static GType type = 0; if (type == 0) { static const GEnumValue values[] = { { WIDGET_NULL, "WIDGET_NULL", "NULL" }, { WIDGET_SCROLLBAR, "WIDGET_SCROLLBAR", "GtkScrollBar" }, { WIDGET_TOGGLE_BUTTON, "WIDGET_TOGGLE_BUTTON", "GtkToggleButton" }, { WIDGET_STATUS_BAR, "WIDGET_STATUS_BAR", "GtkStatusBar" }, { WIDGET_TREE_VIEW, "WIDGET_TREE_VIEW", "GtkTreeView" }, { WIDGET_TREE_VIEW_HEADER, "WIDGET_TREE_VIEW_HEADER", "GtkTreeView-header" }, { WIDGET_SCALE, "WIDGET_SCALE", "GtkScale" }, { WIDGET_PROGRESS_BAR, "WIDGET_PROGRESS_BAR", "GtkProgessBar" }, { WIDGET_MENUBAR, "WIDGET_MENUBAR", "GtkMenubar" }, { WIDGET_MENUBAR_ITEM, "WIDGET_MENUBAR_ITEM", "GtkMenubar-item" }, #ifndef GTK_DISABLE_DEPRECATED { WIDGET_OPTION_MENU, "WIDGET_OPTION_MENU", "GtkOptionMenu" }, #endif { WIDGET_TOOLBAR, "WIDGET_TOOLBAR", "GtkToolbar" }, { WIDGET_DEFAULT_BUTTON, "WIDGET_DEFAULT_BUTTON", "GtkButton-has-default" }, { 0, NULL, NULL } }; type = g_enum_register_static ("WidgeType", values); } return type; } GType bool_get_type (void) { static GType type = 0; if (type == 0) { static const GEnumValue values[] = { { 0, "BOOL_FALSE", "False" }, { 1, "BOOL_TRUE", "True" }, { 0, NULL, NULL } }; type = g_enum_register_static ("GtkBoolDummyType", values); } return type; } #define WIDGET_TYPE (widget_type_get_type ()) #define BOOL_TYPE (bool_get_type ()) typedef enum { FUNCTION_ARROW = 1 << 0, FUNCTION_BOX = 1 << 1, FUNCTION_SHADOW = 1 << 2, FUNCTION_BOX_GAP = 1 << 3, FUNCTION_SHADOW_GAP = 1 << 4, FUNCTION_CHECK = 1 << 5, FUNCTION_EXPANDER = 1 << 6, FUNCTION_EXTENSION = 1 << 7, FUNCTION_FLAT_BOX = 1 << 8, FUNCTION_FOCUS = 1 << 9, FUNCTION_HANDLE = 1 << 10, FUNCTION_HLINE = 1 << 11, FUNCTION_VLINE = 1 << 12, FUNCTION_OPTION = 1 << 13, FUNCTION_RESIZE_GRIP = 1 << 14, FUNCTION_SLIDER = 1 << 15, FUNCTION_TAB = 1 << 16, FUNCTION_ALL = -1 } FunctionType; #define FUNCTION_LAST FUNCTION_BOX GtkWidget *window; GtkWidget *box; GtkWidget *widgets[WIDGET_COUNT]; typedef struct { FunctionType function; WidgetType widget; gchar *detail; GtkStateType state; GtkShadowType shadow; GtkArrowType arrow_type; gboolean fill; GtkPositionType gap_side; GtkOrientation orientation; GtkExpanderStyle expander_style; GdkWindowEdge edge; } Test; #define ARROW_ALL (-1) #define STATE_ALL (-1) #define SHADOW_ALL (-1) #define FILL_ALL (-1) #define EXPANDER_ALL (-1) #define EDGE_ALL (-1) #define GAP_SIDE_ALL (-1) #define ORIENTATION_ALL (-1) #define CELL_DETAILS_SIDE(detail) detail ":" detail "_start" ":" detail "_middle" ":" detail "_end" #define CELL_DETAILS_SORTED(detail) CELL_DETAILS_SIDE(detail) ":" CELL_DETAILS_SIDE(detail "_sorted") #define CELL_DETAILS_RULED(detail) CELL_DETAILS_SORTED(detail) ":" CELL_DETAILS_SORTED(detail "_ruled") #define CELL_DETAILS CELL_DETAILS_RULED("cell_even") ":" CELL_DETAILS_RULED("cell_odd") #define CHECK_AND_RADIO_DETAILS "NULL:cellcheck:cellradio:check:checkbutton:radiobutton" #define EXPANDER_DETAILS "NULL:expander" /* also in common details list ... */ #define ARROW_DETAILS "NULL:arrow:tab:optionmenutab" #define COMMON_DETAILS "NULL:arrow:bar:base:button:buttondefault:combo_entry_button:dockitem:dockitem_bin:entry:entry_bg:frame:handle:handlebox:handlebox_bin:hpaned:hruler:hscale:hscrollbar:hseparator:label:menu:menubar:menuitem:metacity:notebook:option:optionmenu:optionmenutab:paned:scrolled_window:slider:spinbutton:spinbutton_arrow:spinbutton_down:spinbutton_up:stepper:tab:text:togglebutton:togglebuttondefault:toolbar:tooltip:treeitem:treeview:trough:viewport:viewportbin:vpaned:vruler:vscale:vscrollbar:vseparator:expander:iconview-drop-indicator:icon_view_item:icon_view:entry-progress" /* The following explicitly does not test EVERY combination, as that would be * overkill, and would take a lot longer. */ static Test tests[] = { { /* ARROW */ FUNCTION_ARROW, WIDGET_NULL, ARROW_DETAILS, STATE_ALL, SHADOW_ALL, ARROW_ALL, FILL_ALL, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { /* things with gaps */ FUNCTION_BOX_GAP | FUNCTION_SHADOW_GAP | FUNCTION_EXTENSION, WIDGET_NULL, COMMON_DETAILS, STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GAP_SIDE_ALL, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { /* expander */ FUNCTION_EXPANDER, WIDGET_NULL, EXPANDER_DETAILS, STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, EXPANDER_ALL, GDK_WINDOW_EDGE_SOUTH }, { /* handle, slider (+orientation wildcarded) */ FUNCTION_HANDLE | FUNCTION_SLIDER, WIDGET_NULL, COMMON_DETAILS, STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, ORIENTATION_ALL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { /* resize grip (+edge wildcarded) */ FUNCTION_RESIZE_GRIP, WIDGET_NULL, COMMON_DETAILS, STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, EDGE_ALL }, { /* check and radio */ FUNCTION_CHECK | FUNCTION_OPTION, WIDGET_NULL, CHECK_AND_RADIO_DETAILS, STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { /* cell flat box */ FUNCTION_FLAT_BOX, WIDGET_NULL, CELL_DETAILS, STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { /* GENERIC STUFF (will be duplicated somewhat, but *shrug*) */ FUNCTION_ALL ^ (FUNCTION_ARROW | FUNCTION_BOX_GAP | FUNCTION_SHADOW_GAP | FUNCTION_EXTENSION | FUNCTION_EXPANDER | FUNCTION_HANDLE | FUNCTION_SLIDER | FUNCTION_RESIZE_GRIP | FUNCTION_CHECK | FUNCTION_OPTION), WIDGET_NULL, COMMON_DETAILS, STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, /* The above brute force stuff does not hit enough code paths because it always * passes in a NULL widget. The following rules are more specilized to hit certain * code paths inside gtk-engines. Anyone forking may need to add own special things. */ { FUNCTION_FOCUS, WIDGET_DEFAULT_BUTTON, "NULL:button:add-mode:colorwheel_dark:colorwheel_light", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX, WIDGET_DEFAULT_BUTTON, "NULL:button:buttondefault:togglebutton:togglebuttondefault", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX, WIDGET_TOGGLE_BUTTON, "NULL:button:buttondefault:togglebutton:togglebuttondefault", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX, WIDGET_TREE_VIEW_HEADER, "NULL:button:buttondefault", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_SHADOW, WIDGET_STATUS_BAR, "NULL:frame", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX | FUNCTION_SLIDER, WIDGET_SCALE, "NULL:slider:stepper:trough:hscale:vscale", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX | FUNCTION_SLIDER, WIDGET_SCROLLBAR, "NULL:slider:stepper:trough:hscrollbar:vscrollbar", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX, WIDGET_PROGRESS_BAR, "NULL:trough:bar", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX, WIDGET_MENUBAR_ITEM, "NULL:menuitem", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, #ifndef GTK_DISABLE_DEPRECATED { FUNCTION_BOX, WIDGET_OPTION_MENU, "NULL:optionmenu", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, { FUNCTION_BOX, WIDGET_OPTION_MENU, "NULL:optionmenu", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, #endif /* GTK_DISABLE_DEPRECATED */ { FUNCTION_BOX, WIDGET_TOOLBAR, "NULL:toolbar:handle", STATE_ALL, SHADOW_ALL, GTK_ARROW_UP, TRUE, GTK_POS_TOP, GTK_ORIENTATION_HORIZONTAL, GTK_EXPANDER_EXPANDED, GDK_WINDOW_EDGE_SOUTH }, }; #define ENUM_NEXT(enum_type, ind, target) \ do { \ GEnumClass *enum_class = g_type_class_ref (enum_type); \ if (initial || values[ind] >= enum_class->n_values - 1) { \ values[ind] = 0; \ } else { \ done = FALSE; \ values[ind]++; \ } \ \ target = enum_class->values[values[ind]].value; \ g_type_class_unref (enum_class); \ if (!done && !initial) \ goto end; \ } while(0) static gboolean get_next_combination (Test *wildcard_test, Test *test, gboolean initial) { gint i; gchar *cur_pos, *col_pos; gboolean done = !initial; static gint values[10]; test->function = wildcard_test->function; if (wildcard_test->widget == WIDGET_ALL) ENUM_NEXT (WIDGET_TYPE, 0, test->widget); else test->widget = wildcard_test->widget; if (wildcard_test->state == STATE_ALL) ENUM_NEXT (GTK_TYPE_STATE_TYPE, 1, test->state); else test->state = wildcard_test->state; if (wildcard_test->shadow == SHADOW_ALL) ENUM_NEXT (GTK_TYPE_SHADOW_TYPE, 2, test->shadow); else test->shadow = wildcard_test->shadow; if (wildcard_test->arrow_type == ARROW_ALL) ENUM_NEXT (GTK_TYPE_ARROW_TYPE, 3, test->arrow_type); else test->arrow_type = wildcard_test->arrow_type; if (wildcard_test->fill == FILL_ALL) ENUM_NEXT (BOOL_TYPE, 4, test->fill); else test->fill = wildcard_test->fill; if (wildcard_test->gap_side == GAP_SIDE_ALL) ENUM_NEXT (GTK_TYPE_POSITION_TYPE, 5, test->gap_side); else test->gap_side = wildcard_test->gap_side; if (wildcard_test->orientation == ORIENTATION_ALL) ENUM_NEXT (GTK_TYPE_ORIENTATION, 6, test->orientation); else test->orientation = wildcard_test->orientation; if (wildcard_test->expander_style == EXPANDER_ALL) ENUM_NEXT (GTK_TYPE_EXPANDER_STYLE, 7, test->expander_style); else test->expander_style = wildcard_test->expander_style; if (wildcard_test->edge == EDGE_ALL) ENUM_NEXT (GDK_TYPE_WINDOW_EDGE, 8, test->edge); else test->edge = wildcard_test->edge; end: /* the detail is a : seperated list ... */ if (initial) { values[9] = 0; } else { /* increase, if nothing else got changed. */ if (done) values[9]++; } i = 0; cur_pos = wildcard_test->detail; while (i < values[9] && cur_pos) { cur_pos = strchr (cur_pos, ':'); if (cur_pos != NULL) cur_pos++; i++; } if (cur_pos == NULL) { values[9] = 0; cur_pos = wildcard_test->detail; if (done) return TRUE; } else { /* not done, as we moved on */ done = FALSE; } if (cur_pos != NULL) { col_pos = strchr (cur_pos, ':'); if (col_pos == NULL) test->detail = g_strdup (cur_pos); else test->detail = g_strndup (cur_pos, col_pos - cur_pos); } else test->detail = NULL; /* replace "NULL" with a NULL pointer */ if (test->detail && strcmp (test->detail, "NULL") == 0) { g_free (test->detail); test->detail = NULL; } return done; } static void run_functions (Test *test) { GtkStyle *style = window->style; GdkWindow *mywindow = window->window; if (widgets[test->widget]) { style = widgets[test->widget]->style; mywindow = widgets[test->widget]->window; } if (test->function & FUNCTION_ARROW) gtk_paint_arrow (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, test->arrow_type, test->fill, 0, 0, 10, 10); if (test->function & FUNCTION_BOX) gtk_paint_box (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10); if (test->function & FUNCTION_SHADOW) gtk_paint_shadow (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10); if (test->function & FUNCTION_BOX_GAP) gtk_paint_box_gap (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10, test->gap_side, 0, 100); if (test->function & FUNCTION_SHADOW_GAP) gtk_paint_shadow_gap (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10, test->gap_side, 0, 100); if (test->function & FUNCTION_CHECK) gtk_paint_check (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10); if (test->function & FUNCTION_EXPANDER) gtk_paint_expander (style, mywindow, test->state, NULL, widgets[test->widget], test->detail, 10, 10, test->expander_style); if (test->function & FUNCTION_EXTENSION) gtk_paint_extension (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10, test->gap_side); if (test->function & FUNCTION_FLAT_BOX) gtk_paint_flat_box (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10); if (test->function & FUNCTION_FOCUS) gtk_paint_focus (style, mywindow, test->state, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10); if (test->function & FUNCTION_HANDLE) gtk_paint_handle (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10, test->orientation); if (test->function & FUNCTION_OPTION) gtk_paint_option (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10); if (test->function & FUNCTION_RESIZE_GRIP) gtk_paint_resize_grip (style, mywindow, test->state, NULL, widgets[test->widget], test->detail, test->edge, 0, 0, 10, 10); if (test->function & FUNCTION_SLIDER) gtk_paint_slider (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10, test->orientation); if (test->function & FUNCTION_TAB) gtk_paint_tab (style, mywindow, test->state, test->shadow, NULL, widgets[test->widget], test->detail, 0, 0, 10, 10); if (test->function & FUNCTION_HLINE) gtk_paint_hline (style, mywindow, test->state, NULL, widgets[test->widget], test->detail, 1, 10, 4); if (test->function & FUNCTION_VLINE) gtk_paint_vline (style, mywindow, test->state, NULL, widgets[test->widget], test->detail, 1, 10, 4); } static void run_test (gint test) { Test current_test = {0}; gint initial = TRUE; while (!get_next_combination (&tests[test], ¤t_test, initial)) { initial = FALSE; run_functions (¤t_test); g_free (current_test.detail); } } static void create_testwidgets () { GtkWidget *treeview; GtkListStore *store; GtkCellRenderer *renderer; widgets[WIDGET_NULL] = NULL; widgets[WIDGET_SCROLLBAR] = gtk_vscrollbar_new (NULL); widgets[WIDGET_TOGGLE_BUTTON] = gtk_toggle_button_new_with_label ("blah"); widgets[WIDGET_STATUS_BAR] = gtk_statusbar_new (); treeview = gtk_tree_view_new (); /* set up the treeview */ renderer = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), -1, "Column1", renderer, "text", 0, NULL); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), -1, "Column2", renderer, "text", 0, NULL); store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store)); widgets[WIDGET_TREE_VIEW] = treeview; /* lets abuse the private API ... */ widgets[WIDGET_TREE_VIEW_HEADER] = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), 0)->button; widgets[WIDGET_SCALE] = gtk_hscale_new_with_range (0, 1, 0.1); widgets[WIDGET_PROGRESS_BAR] = gtk_progress_bar_new (); widgets[WIDGET_MENUBAR] = gtk_menu_bar_new (); widgets[WIDGET_MENUBAR_ITEM] = gtk_menu_item_new_with_label ("blah"); gtk_menu_shell_append (GTK_MENU_SHELL (widgets[WIDGET_MENUBAR]), widgets[WIDGET_MENUBAR_ITEM]); #ifndef GTK_DISABLE_DEPRECATED widgets[WIDGET_OPTION_MENU] = gtk_option_menu_new (); #else #warning Not testing engines against GtkOptionMenu #endif /* GTK_DISABLE_DEPRECATED */ widgets[WIDGET_TOOLBAR] = gtk_toolbar_new (); widgets[WIDGET_DEFAULT_BUTTON] = gtk_button_new_with_label ("blah"); /* nasty but *shrug* */ GTK_WIDGET_SET_FLAGS(widgets[WIDGET_DEFAULT_BUTTON], GTK_CAN_DEFAULT); GTK_WIDGET_SET_FLAGS(widgets[WIDGET_DEFAULT_BUTTON], GTK_HAS_DEFAULT); } int main (int argc, char **argv) { gchar *new_default_files[1] = {NULL}; GtkSettings *settings; gint i; gtk_init (&argc, &argv); /* we get a gtkrc from GTK2_RC_FILES, remove the users theme ... */ settings = gtk_settings_get_default (); g_object_set (settings, "gtk-theme-name", "Raleigh", NULL); create_testwidgets (); window = gtk_window_new (GTK_WINDOW_POPUP); box = gtk_vbox_new (FALSE, 0); gtk_container_add ((GtkContainer*)window, box); for (i = 0; i < WIDGET_COUNT; i++) { if (widgets[i] && !widgets[i]->parent) gtk_box_pack_end (GTK_BOX (box), widgets[i], FALSE, FALSE, 0); } while (gdk_events_pending ()) gtk_main_iteration_do (FALSE); gtk_widget_show_all (window); while (gdk_events_pending ()) gtk_main_iteration_do (FALSE); for (i = 0; i < G_N_ELEMENTS (tests); i++) run_test (i); /* remove the rc file again. This should cause an unload of the engine * and destruction of all engine objects. */ gtk_rc_set_default_files (new_default_files); gtk_rc_reparse_all_for_settings (settings, TRUE); gtk_widget_hide (window); gtk_widget_unmap (window); while (gdk_events_pending ()) gtk_main_iteration_do (FALSE); gtk_widget_destroy (window); while (gdk_events_pending ()) gtk_main_iteration_do (FALSE); /* TODO: It would be really cool to check if there is no * loaded engine at this point. */ /* * HRM: Calling the follwing causes an assertion failure inside cairo here -- 01.10.2010, Benjamin cairo_debug_reset_static_data (); */ return 0; } gtk-engines-2.20.2/test/exported0000755000175000017500000000301211445424675013500 00000000000000#! /bin/sh # gtk-engines - a collection of drawing engines for GTK+ # Copyright (C) 2007 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # ALLOWED_SYMBOLS="\(g_module_check_init\|theme_create_rc_style\|theme_exit\|theme_init\)" # exit with status 77 if nm does not exist which nm >/dev/null || exit 77 ENGINE="`basename $0 | cut -d '_' -f 2`" ENGINE_FILE="engines/lib$ENGINE.so" nm -gD --defined-only $ENGINE_FILE | cut -d ' ' -f 2,3 | cut -d ' ' -f 2 | grep -v '^_' | grep -v "$ALLOWED_SYMBOLS" >symbols/$ENGINE if [ -s symbols/$ENGINE ]; then exit 1; else if [ -f symbols/$ENGINE ]; then # No point in keeping an empty file around rm symbols/$ENGINE else # Something wen't wrong, there is no file?!? # This should never happen ... exit 1 fi fi gtk-engines-2.20.2/test/torture0000755000175000017500000000560211451415742013351 00000000000000#! /bin/sh # gtk-engines - a collection of drawing engines for GTK+ # Copyright (C) 2007 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # ENGINE="`basename $0 | cut -d '_' -f 2`" # Do the test for every file starting with the prefix FAILED="0" for RC_FILE in $srcdir/gtkrcs/$ENGINE*; do test -f $RC_FILE || continue something_tested="1" export GTK2_RC_FILES=$RC_FILE RC_FILE_BASENAME="`basename $RC_FILE`" MY_EXEC_WRAPPER="`echo "$EXEC_WRAPPER" | sed s/THEME/$RC_FILE_BASENAME/`" $srcdir/runinx $MY_EXEC_WRAPPER ./torturetest 2>/dev/null >/dev/null if [ "$?" != "0" ]; then FAILED=1; if [ "x$DEBUG_ON_FAILURE" != "x" ] && [ "x$DEBUG_COMMAND" != "x" ]; then $srcdir/runinx $DEBUG_COMMAND $MY_EXEC_WRAPPER ./torturetest fi fi done if [ "x$something_tested" = "x" ]; then echo "Failed to run test for \"$ENGINE\" because no gtkrc files were found" exit 77; fi if [ "$FAILED" != "0" ]; then # This is pretty stupid, but I don't know of a better way to handle it # We need to make sure that if buildin failes, all other failures don't # cause an overall test failure (ie. exit 77). I know this is stupid ... # Otherwise "make check" will _always_ fail with a broken GTK+. if [ "$ENGINE" = "buildin" ]; then echo "WARNING: The GTK+ buildin theme failed the torture test!" echo "WARNING: " echo "WARNING: As the other engines may fall back to the buildin theme, other tests" echo "WARNING: may fail in the buildin theme that we don't control." echo "WARNING: The other tests will be run, but in case of failure SKIP instead of FAIL." echo "WARNING: This way 'make check' will not fail even with a broken GTK+." echo "WARNING:" echo "WARNING: It may also mean that there is just no X server to run the test on." echo "WARNING: (and starting an Xvfb server failed)" echo touch torture_buildin-failed exit 77 else # If buildin-failed, then exit with status 77 if [ -f torture_buildin-failed ]; then exit 77 else exit 1 fi fi else # Remove the torture_buildin-failed file on success if [ "$ENGINE" = "buildin" ]; then test -f torture_buildin-failed && rm -f torture_buildin-failed fi exit 0 fi gtk-engines-2.20.2/test/runinx0000755000175000017500000000337211445424675013202 00000000000000#! /bin/sh # gtk-engines - a collection of drawing engines for GTK+ # Copyright (C) 2007 Benjamin Berg # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Project contact: # # This script is a wrapper to start an X server for tests. # there may be better ways to do this, but I don't know any ... if [ "$DISPLAY" != "" ]; then # Just start everything, and exit after that "$@" exit $? fi for port in `seq 20 1000`; do # Check if there is a lock file, if yes test if the server is running if [ -f /tmp/.X$port-lock ]; then # Test if there is anything running with the PID pid="`cat /tmp/.X$port-lock | sed 's/ //g'`" if [ "`ps -e | grep -c ^\\ *$pid`" = "0" ]; then # Remove the stale lock file rm -f /tmp/.X$port-lock break fi else break fi done export DISPLAY=:$port # Start the Xvfb server -- try to ... # We need 24bpp as cairo does not support everything Xvfb $DISPLAY -ac -screen 0 1280x1024x24 & 2>/dev/null >/dev/null xvfb_pid=$! "$@" result="$?" kill $xvfb_pid 2>/dev/null >/dev/null exit $result gtk-engines-2.20.2/test/valgrind-suppressions0000644000175000017500000000641511451420154016217 00000000000000 # X libs { Initializing X extensions causes possible leaks (1) Memcheck:Leak fun:*alloc fun:XInitExtension fun:X*AddDisplay } { Initializing X extensions causes possible leaks (2) Memcheck:Leak fun:*alloc fun:XInitExtension fun:X*FindDisplay } { Initializing X extensions causes possible leaks (3) Memcheck:Leak fun:*alloc fun:XInitExtension fun:X*UseExtension fun:X*OpenDisplay } { Initializing X extensions causes possible leaks (4) Memcheck:Leak fun:*alloc fun:XAddExtension } # Fontconfig { Leak in FC Config XML Parser Memcheck:Leak fun:malloc ... fun:XML_ParseBuffer ... fun:FcConfigParseAndLoad } { Leak in FC Config XML Parser Memcheck:Leak fun:malloc ... fun:FcStrStaticName } { Leak that happens when handling pango layouts (eg. during range creation) Memcheck:Leak fun:realloc fun:FcPatternObjectInsertElt fun:FcPatternObjectAddWithBinding fun:FcFontRenderPrepare } { Leak that happens inside pango_fc_font_map_load_fontset and others Memcheck:Leak fun:realloc fun:FcPatternObjectInsertElt fun:FcPatternObjectAddWithBinding fun:FcDefaultSubstitute } # GLib { Leak in the GType system (1) Memcheck:Leak ... fun:type_node_any_new_W fun:g_type_register_static } { Leak in the GType system (2) Memcheck:Leak ... fun:type_add_flags_W fun:g_type_register_fundamental } { Leak in the GType system (3) Memcheck:Leak ... fun:type_data_make_W fun:g_type_register_fundamental } { Leak in the GType system (4) Memcheck:Leak ... fun:type_add_interface_Wm fun:g_type_add_interface_static } { Leak in the GType system (5) Memcheck:Leak ... fun:g_memdup fun:type_iface_vtable_base_init_Wm fun:g_type_class_ref } { Leak in the GType system (6) Memcheck:Leak ... fun:g_type_class_ref fun:g_param_spec_* } { Leak in the GType system (7) Memcheck:Leak ... fun:g_type_class_ref fun:g_type_create_instance fun:g_param_spec_* } { Leak in the GType system (8) Memcheck:Leak ... fun:type_data_make_W fun:g_type_init_with_debug_flags } { Leak in the GType system (9) Memcheck:Leak ... fun:type_node_fundamental_new_W } # Pango { Pango rulesets leaks (1) Memcheck:Leak ... fun:g_slice_alloc fun:g_array_sized_new fun:pango_ot_ruleset_init fun:g_type_create_instance } { Pango rulesets leaks (2) Memcheck:Leak ... fun:g_array_append_vals fun:pango_ot_ruleset_add_feature } { Pango context leak Memcheck:Leak ... fun:pango_language_from_string fun:pango_language_get_default fun:pango_context_init fun:g_type_create_instance } # Freetype (only happens in industrial) { FT_Init_FreeType Memcheck:Leak ... fun:FT_Add_Module fun:FT_Add_Default_Modules fun:FT_Init_FreeType } { FT_Init_FreeType Memcheck:Leak ... fun:FT_New_Memory fun:FT_Init_FreeType } { FT_Init_FreeType Memcheck:Leak ... fun:FT_New_Library fun:FT_Init_FreeType } # GTK+ { Some home directory stuff, happens when loading the engine Memcheck:Leak fun:malloc fun:nss_parse_service_list fun:__nss_database_lookup obj:* obj:* fun:getpwnam_r* fun:g_get_any_init_do fun:g_get_home_dir } gtk-engines-2.20.2/schema/0000755000175000017500000000000011451420651012250 500000000000000gtk-engines-2.20.2/schema/Makefile.am0000644000175000017500000000065011446654310014232 00000000000000xmldir = $(pkgdatadir) EXTRA_DIST= \ clearlooks.xml.in.in \ hcengine.xml.in.in \ redmond95.xml.in.in \ crux-engine.xml.in.in \ industrial.xml.in.in \ glide.xml.in.in \ mist.xml.in.in \ thinice.xml.in.in xml_DATA = $(BUILD_SCHEMAS) xml_in_files = $(xml_DATA:.xml=.xml.in) xml_in_in_files = $(xml_DATA:.xml=.xml.in.in) @INTLTOOL_XML_RULE@ CLEANFILES = $(xml_DATA) $(xml_in_files) -include $(top_srcdir)/git.mk gtk-engines-2.20.2/schema/Makefile.in0000644000175000017500000003425211451355761014254 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = schema DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/clearlooks.xml.in.in $(srcdir)/crux-engine.xml.in.in \ $(srcdir)/glide.xml.in.in $(srcdir)/hcengine.xml.in.in \ $(srcdir)/industrial.xml.in.in $(srcdir)/mist.xml.in.in \ $(srcdir)/redmond95.xml.in.in $(srcdir)/thinice.xml.in.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/engines/support/config.h CONFIG_CLEAN_FILES = clearlooks.xml.in crux-engine.xml.in glide.xml.in \ hcengine.xml.in industrial.xml.in mist.xml.in redmond95.xml.in \ thinice.xml.in CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(xmldir)" DATA = $(xml_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_ENGINES = @BUILD_ENGINES@ BUILD_SCHEMAS = @BUILD_SCHEMAS@ BUILD_THEMES = @BUILD_THEMES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVELOPMENT_CFLAGS = @DEVELOPMENT_CFLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xmldir = $(pkgdatadir) EXTRA_DIST = \ clearlooks.xml.in.in \ hcengine.xml.in.in \ redmond95.xml.in.in \ crux-engine.xml.in.in \ industrial.xml.in.in \ glide.xml.in.in \ mist.xml.in.in \ thinice.xml.in.in xml_DATA = $(BUILD_SCHEMAS) xml_in_files = $(xml_DATA:.xml=.xml.in) xml_in_in_files = $(xml_DATA:.xml=.xml.in.in) CLEANFILES = $(xml_DATA) $(xml_in_files) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu schema/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu schema/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clearlooks.xml.in: $(top_builddir)/config.status $(srcdir)/clearlooks.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ crux-engine.xml.in: $(top_builddir)/config.status $(srcdir)/crux-engine.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ glide.xml.in: $(top_builddir)/config.status $(srcdir)/glide.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ hcengine.xml.in: $(top_builddir)/config.status $(srcdir)/hcengine.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ industrial.xml.in: $(top_builddir)/config.status $(srcdir)/industrial.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mist.xml.in: $(top_builddir)/config.status $(srcdir)/mist.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ redmond95.xml.in: $(top_builddir)/config.status $(srcdir)/redmond95.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ thinice.xml.in: $(top_builddir)/config.status $(srcdir)/thinice.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) test -z "$(xmldir)" || $(MKDIR_P) "$(DESTDIR)$(xmldir)" @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(xmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(xmldir)" || exit $$?; \ done uninstall-xmlDATA: @$(NORMAL_UNINSTALL) @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(xmldir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(xmldir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(xmldir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-xmlDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-xmlDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-xmlDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-xmlDATA @INTLTOOL_XML_RULE@ -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/schema/clearlooks.xml.in.in0000644000175000017500000000656011446654310016076 00000000000000 @VERSION@ http://www.gnome.org Andrea Cimitan andrea.cimitan@gmail.com Benjamin Berg benjamin@sipsolutions.net Richard Stellingwerff remenic@gmail.com Daniel Borgmann daniel.borgmann@gmail.com gtk-engines-2.20.2/schema/crux-engine.xml.in.in0000644000175000017500000000125211445424675016165 00000000000000 @VERSION@ http://www.gnome.org Arlo Rose arlo@eazel.com John Harper jsh@eazel.com Seth Nickell snickell@stanford.edu Thomas Wood thos@gnome.org gtk-engines-2.20.2/schema/glide.xml.in.in0000644000175000017500000000062111445424675015024 00000000000000 @VERSION@ http://www.gnome.org Andrew Johnson acjgenius@earthlin.net gtk-engines-2.20.2/schema/hcengine.xml.in.in0000644000175000017500000000167611445424675015533 00000000000000 @VERSION@ http://www.gnome.org Bill Haneman bill.haneman@sun.com gtk-engines-2.20.2/schema/industrial.xml.in.in0000644000175000017500000000205211445424675016116 00000000000000 @VERSION@ http://www.gnome.org Tuomas Kuosmanen Jakub Steiner jimmac@novell.com Christopher James Lahey Benjamin Berg benjamin@sipsolutions.net gtk-engines-2.20.2/schema/mist.xml.in.in0000644000175000017500000000075211445424675014721 00000000000000 @VERSION@ http://www.gnome.org Dave Camp dave@ximian.com Andrew Johnson ajgenius@ajgenius.us gtk-engines-2.20.2/schema/redmond95.xml.in.in0000644000175000017500000000076711445424675015561 00000000000000 @VERSION@ http://www.gnome.org Owen Taylor otaylor@redhat.com Andrew Johnson ajgenius@ajgenius.us gtk-engines-2.20.2/schema/thinice.xml.in.in0000644000175000017500000000603011445424675015363 00000000000000 @VERSION@ http://www.gnome.org Tim Gerla timg@rrv.net Tomas Ögren stric@ing.umu.se Richard Hult rhult@codefactory.se Andrew Johnson ajgenius@ajgenius.us gtk-engines-2.20.2/po/0000755000175000017500000000000011451420651011426 500000000000000gtk-engines-2.20.2/po/Makefile.in.in0000644000175000017500000001537711446654310014042 00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ DATADIRNAME = @DATADIRNAME@ itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtk-engines-2.20.2/po/POTFILES.in0000644000175000017500000000056011445424675013141 00000000000000[type: gettext/xml] schema/clearlooks.xml.in.in [type: gettext/xml] schema/crux-engine.xml.in.in [type: gettext/xml] schema/glide.xml.in.in [type: gettext/xml] schema/hcengine.xml.in.in [type: gettext/xml] schema/industrial.xml.in.in [type: gettext/xml] schema/mist.xml.in.in [type: gettext/xml] schema/redmond95.xml.in.in [type: gettext/xml] schema/thinice.xml.in.in gtk-engines-2.20.2/po/af.po0000644000175000017500000001112611445424675012312 00000000000000# Afrikaans translation of gtk-engines. # Copyright (C) 2009 gtk-engines's COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # F Wolff , 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-08-22 15:35+0000\n" "PO-Revision-Date: 2009-08-04 13:25+0200\n" "Last-Translator: F Wolff \n" "Language-Team: translate-discuss-af@lists.sourceforge.net\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: af\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.4.0-rc2\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D-agtig (knoppie)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D-agtig (gradiënt)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animasies" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassiek" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Verkleur rolstaaf" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontras" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "" #: ../schema/clearlooks.xml.in.in.h:8 #, fuzzy msgid "Enable Animations on Progressbars" msgstr "Aktiveer animasies op " #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glans" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Omgekeer" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Reliëfstyl" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Rolstaafkleur" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Stel die kleur van rolstawe" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Skadu" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Styl" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Hierdie keuse laat toe dat die fokustekening gedeaktiveer word. Die hoofdoel " "is om skermskote vir dokumentasie te neem." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Nutsbalkstyl" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Randdikte" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Geronde knoppies" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Pyltjie" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Vol" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Geen" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Niks" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Reghoek" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Gevormd" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "" gtk-engines-2.20.2/po/ar.po0000644000175000017500000001300611446654310012315 00000000000000# Arabic translations for gnome package. # Copyright (C) 2007 THE gnome'S COPYRIGHT HOLDER # This file is distributed under the same license as the gnome package. # Automatically generated, 2007. # Khaled Hosny , 2009. msgid "" msgstr "" "Project-Id-Version: gnome 2-18\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-05 21:51+0200\n" "PO-Revision-Date: 2009-09-05 21:51+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" "X-Generator: Virtaal 0.4.0\n" "X-Poedit-Language: Arabic\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "شبه ثلاثي الأبعاد (زر)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "شبه ثلاثي الأبعاد (تدرج)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "رسوم متحركة" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "تقليدي" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "لوّن شريط التمرير" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "التباين" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "عطّل رسم البؤرة" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "تفعيل التحريك في أشرطة التقدّم" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "مسطح" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "لمّاع" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "مصمّغ" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "داخلي" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "معكوس" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "طراز شريط القوائم" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "نصف القطر" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "أسلوب التخلي" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "يتطلّب طرازا لمّاعا أو مصمّغا" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "لون شريط التمرير" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "يحدد لون شريط التمرير" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "الظل" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "الطراز" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "يتيح هذا الخيار تعطيل رسم البؤرة. الغرض الرئيسي هو أخذ لقطات الشاشة للتوثيق." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "طراز شريط الأدوات" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "حجم مؤشر الخلايا" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "سمك الحد" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "حجم أزرار الاختيار في مظهر الشجرة" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "إذا حدد هذا، فستدور زوايا الأزرار" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "أزرار مدورة الزوايا" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "سهم" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "نقطة" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "كامل" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "علامات الصناديق" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "نقطة مقلوبة" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "قطع مقلوب" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "علامة نوع 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "علامة نوع لأزرار أعمدة التحريك" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "علامة نوع لأزرار أعمدة التحريك و الصناديق..." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "لا شيء" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "لا شيء" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "نقط لوحية" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "مستطيل" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "علامات شريط التمرير" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "نوع شريط التمرير" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "علامات أزرار التمرير" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "مشكلة" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "قطع" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "بعض" gtk-engines-2.20.2/po/as.po0000644000175000017500000001465311445424675012337 00000000000000# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Amitakhya Phukan , 2009. msgid "" msgstr "" "Project-Id-Version: as\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." "cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2009-02-28 18:50+0000\n" "PO-Revision-Date: 2009-03-16 12:24+0530\n" "Last-Translator: Amitakhya Phukan \n" "Language-Team: Assamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-প্ৰকৃতি (বাটন)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-প্ৰকৃতি (গ্ৰেডিয়েন্ট)" #: ../schema/clearlooks.xml.in.in.h:3 # msgid "Animations" msgstr "অ্যানিমেশন" #: ../schema/clearlooks.xml.in.in.h:4 # msgid "Classic" msgstr "পাৰম্পৰিক" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "স্ক্ৰোল-বাৰৰ ৰং নিৰ্ধাৰণ কৰক" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 # msgid "Contrast" msgstr "বৈপৰিত্য" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Disable focus drawing" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "প্ৰগ্ৰেস-বাৰৰ বাবে অ্যানিমেশন সক্ৰিয় কৰক" #: ../schema/clearlooks.xml.in.in.h:9 # msgid "Flat" msgstr "সমান্তৰাল" #: ../schema/clearlooks.xml.in.in.h:10 # msgid "Glossy" msgstr "চিকচিকিয়া" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "গামি" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ইনসেট" #: ../schema/clearlooks.xml.in.in.h:13 # msgid "Inverted" msgstr "বিপৰীত" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "মেনু-বাৰৰ বিন্যাস" #: ../schema/clearlooks.xml.in.in.h:15 # msgid "Radius" msgstr "ব্যাসাৰ্ধ" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "ৰিলিফ বিন্যাস" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "চিকচিকিয়া বা গামি নামক বিন্যাস আবশ্যক" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "স্ক্ৰোল-বাৰৰ ৰং" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "স্ক্ৰোল-বাৰৰ ৰং নিৰ্ধাৰণ কৰতে ব্যবহৃত হয়" #: ../schema/clearlooks.xml.in.in.h:20 # msgid "Shadow" msgstr "ছায়া" #: ../schema/clearlooks.xml.in.in.h:21 # msgid "Style" msgstr "বিন্যাস" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." #: ../schema/clearlooks.xml.in.in.h:23 # msgid "Toolbar Style" msgstr "টুল-বাৰৰ বিন্যাস" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "সেল নিৰ্দেশকচিহ্নেৰ মাপ" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "প্ৰান্তেৰ প্ৰস্থ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ট্ৰি-ভিউয়েৰ অধীন চেক- এবং ৰেডিও-বাটনেৰ মাপ। (বাগ সংখ্যা #৩৫১৭৬৪)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "নিৰ্ধাৰিত হলে, বাটনেৰ কোণাগুলি বৃত্তাকাৰ হবে" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "বৃত্তাকাৰ কোণাসহ বাটন" #: ../schema/thinice.xml.in.in.h:1 # msgid "Arrow" msgstr "তীৰচিহ্ন" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "বিন্দু" #: ../schema/thinice.xml.in.in.h:3 # msgid "Full" msgstr "পূৰ্ণ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "হ্যান্ডেল-বক্সেৰ চিহ্ন" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "বিপৰীত বিন্দু" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "বিপৰীত স্ল্যাশ চিহ্ন" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "চিহ্নেৰ ধৰন ১" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "স্ক্ৰোল-বাৰ বাটনেৰ চিহ্নেৰ ধৰন" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "স্ক্ৰোল-বাৰ হ্যান্ডেল, হ্যান্ডেল-বক্স প্ৰভৃতিৰ চিহ্নেৰ ধৰন" #: ../schema/thinice.xml.in.in.h:10 # msgid "None" msgstr "শূণ্য" #: ../schema/thinice.xml.in.in.h:11 # msgid "Nothing" msgstr "শূণ্য" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "পেইনেৰ বিন্দু" #: ../schema/thinice.xml.in.in.h:13 # msgid "Rectangle" msgstr "চতুষ্কোণ" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "স্ক্ৰোল-বাৰৰ চিহ্ন" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "স্ক্ৰোল-বাৰৰ প্ৰকৃতি" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "স্ক্ৰোল-বাটনেৰ চিহ্ন" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "বিন্যাসে" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "স্ল্যাশচিহ্ন" #: ../schema/thinice.xml.in.in.h:19 # msgid "Some" msgstr "কিছু" gtk-engines-2.20.2/po/ast.po0000644000175000017500000001255311445424675012520 00000000000000# Asturian translation for gtk-engines. # Copyright (C) 2010 gtk-engines's COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # Xandru Armesto , 2010. msgid "" msgstr "" "Project-Id-Version: gtk-engines master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2010-03-04 10:29+0000\n" "PO-Revision-Date: 2010-03-13 07:59+0200\n" "Last-Translator: Xandru Armesto \n" "Language-Team: Asturian Team alministradores@softastur.org\n" "Language: ast\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Virtaal 0.5.2\n" "X-Poedit-Language: asturian\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3er (botón)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3er (gradiente)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animaciones" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clásicu" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorear la barra de desplazamientu" #: ../schema/clearlooks.xml.in.in.h:6 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contraste" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Desactivar el focu de dibuxáu" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Activar animaciones nes barres de progresu" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Planu" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Pulíu" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Pegañosu" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertíu" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Estilu de la barra de menú" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radiu" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Estilu del relieve" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requier estilu Pulíu o Pegañosu" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Color de la barra de desplazamientu" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Afita'l color de les barres de desplazamientu" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Solombra" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estilu" #: ../schema/clearlooks.xml.in.in.h:22 msgid "This option allows to disable the focus drawing. The primary purpose is to create screenshots for documentation." msgstr "Esta opción permite desactivar el focu de dibuxáu. La propuesta ye crear captures de pantalla pa la documentación." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Estilu de la barra de ferramientes" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Indicador del tamañu de la caxella" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Grosor del berbesu" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Tamañu de los caxellos de marcáu y los botones d'escoyeta dientro de les vistes d'árbol" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Si ta activáu, les esquines de los botones son redondeaes" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botones redondeaos" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Flecha" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Puntu" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Completu" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marques de les caxes manipuladores" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Puntu invertíu" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra invertida" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tipu de marca 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipu de marca pa los botones de la barra de desplazamientu" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Tipu de marca pa los remanadores de la barra de desplazamientu, caxes manipuladores, etc" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Dengún" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Res" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Puntos de panel" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectángulu" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marques de les barres de desplazamientu" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipu de barres de desplazamientu" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marques de los botones de desplazamientu" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Contornu" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Dalgunes" gtk-engines-2.20.2/po/be@latin.po0000644000175000017500000001113511445424675013442 00000000000000# Biełaruski pierakład gtk-engines # Copyright (C) 2007 Ihar Hrachyshka # This file is distributed under the same license as the gtk-engines package. # Ihar Hrachyshka , 2007. # msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-02-17 01:36+0200\n" "PO-Revision-Date: 2008-02-17 01:38+0200\n" "Last-Translator: Ihar Hrachyshka \n" "Language-Team: Belarusian Latin \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d (knopka)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d (hradyjent)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacyi" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasyčny" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Pafarbuj panel prakrutki" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kantrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Enable Animations on Progressbars" msgstr "Uklučy animavańnie na panelach prahresu" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Flat" msgstr "Roŭny" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Glossy" msgstr "Bliskučy" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Gummy" msgstr "Smolny" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Inset" msgstr "Uklejka" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inverted" msgstr "Invertavany" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Menubar Style" msgstr "Styl paneli menu" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Radius" msgstr "Radyjus" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Relief Style" msgstr "Reliefny styl" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Requires style Glossy or Gummy" msgstr "Vymahaje ci Bliskučaha, ci Smolnaha stylu" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Scrollbar Color" msgstr "Koler paneli prakrutki" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Sets the Color of Scrollbars" msgstr "Akreślaje koler dla panelaŭ prakrutki" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Shadow" msgstr "Cień" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Style" msgstr "Styl" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Toolbar Style" msgstr "Styl paneli pryładździa" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Pamier indykatara jačei" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Taŭščynia kraju" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Pamier opcyj vybaru j zaznačeńnia ŭnutry prahladu dreva. (Pamyłka #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Kali zaznačana, kuty knopak zakruhlenyja" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Zakruhlenyja knopki" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Strełka" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punkt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Poŭny" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Paznaki handleboksa" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Invertavany punkt" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Invertavany skos" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Vid paznaki 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Vid paznaki dla knopak panelaŭ prakrutki" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Vid paznaki dla knopak elementaŭ panelaŭ prakrutki, handleboksaŭ i inš." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Niama" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ničoha" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Ustaŭlenyja punkty" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Trochvuholnik" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Paznaki paneli prakrutki" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Vid paneli prakrutki" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Paznaki knopki prakrutki" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Formavy" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Skos" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Krychu" gtk-engines-2.20.2/po/bg.po0000644000175000017500000001414111446654310012304 00000000000000# Bulgarian translation of gtk-engines po-file. # Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Alexander Shopov , 2007, 2009. # Yavor Doganov , 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-08-22 18:27+0300\n" "PO-Revision-Date: 2009-02-10 07:33+0200\n" "Last-Translator: Yavor Doganov \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "тримерен (бутон)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "тримерна (преливка)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Анимации" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Класическа" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Оцветяване на лентите за придвижване" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Контраст" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Изключване на изчертаването на фокуса" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Включване на анимациите в лентите за прогреса" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Плосък" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Гланц" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Смола" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Добавка" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Обърната" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Стил на лентите за менюта" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Радиус" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Стил на релефа" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Изисква стил „Гланц“ или „Смола“" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Цвят на лентите за придвижване" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Задава цвета на лентите за придвижване" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Сянка" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Стил" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Това позволява изключването на изчертаването на фокуса. Ползва се основно за " "правенето на снимки на екрана за документация." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Стил на лентите за инструменти" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Размер на индикатора за клетка" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Дебелина на ръба" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Размер на бутоните за отметка и радио бутоните в дървовидните изгледи. " "(доклад за грешка #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ако е ИСТИНА, ъглите на бутоните са загладени" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Загладени бутони" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Стрелка" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Точка" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Пълна" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Знаци на кутиите" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Инвертирана точка" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Инвертирана наклонена черта" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Знак, вид 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Видът на знака за бутоните за придвижване" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Видът на знака в дръжките на лентите за придвижване, кутиите за работа и т.н." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Без" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Нищо" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Точки в прозорче" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Правоъгълник" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Знаци в лентите за придвижване" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Вид на лентата за придвижване" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Знаци в бутоните за придвижване" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Оформени" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Наклонена черта" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Някои" gtk-engines-2.20.2/po/bn.po0000644000175000017500000001546711445424675012337 00000000000000# Bengali translation for gtk-engines # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Runa Bhattacharjee , 2007. # Runa Bhattacharjee , 2008. # Runa Bhattacharjee , 2009. # Israt Jahan , 2009-2010. # msgid "" msgstr "" "Project-Id-Version: bn\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-12-14 22:09+0000\n" "PO-Revision-Date: 2010-03-24 16:22+0600\n" "Last-Translator: Israt Jahan \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "ত্রিমাত্রিক ধরণের (বোতাম)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "ত্রিমাত্রিক ধরণের (গ্রেডিয়েন্ট)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "অ্যানিমেশন" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "ক্লাসিক" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "স্ক্রোলবারের রং নির্ধারণ করুন" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "বৈসাদৃশ্য" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ফোকাস অংকন নিষ্ক্রিয় করা হবে" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "প্রগ্রেসবারের জন্য অ্যানিমেশন সক্রিয় করুন" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "সমান" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "চকচকে" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "আঠালো" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ইনসেট" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "বৈপরিত্য" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "মেনুবারের শৈলী" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "ব্যাসার্ধ" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "নকশার শৈলী" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "চকচকে অথবা আঠালো নামক শৈলী আবশ্যক" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "স্ক্রোলবারের রং" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "স্ক্রোলবারের রং নির্ধারণ করতে ব্যবহৃত হয়" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "ছায়া" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "শৈলী" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "এই অপশনের সাহায্যে ফোকাস অংকন ব্যবস্থা নিষ্ক্রিয় করা হয়। নথিপত্রের জন্য স্ক্রীনশট " "নির্মাণ হল এর মূল উদ্দেশ্য।" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "টুলবারের শৈলী" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "ঘর নির্দেশকচিহ্নের আকার" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "প্রান্তের প্রস্থ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ট্রি-ভিউয়ের অধীন চেক- এবং রেডিও বোতামের মাপ। (বাগ নম্বর #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "নির্ধারিত হলে, বোতামের কোণাগুলি বৃত্তাকার হবে" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "বৃত্তাকার কোণাসহ বোতাম" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "তীরচিহ্ন" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "বিন্দু" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "পূর্ণ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "হ্যান্ডেলবাক্সের চিহ্ন" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "বিপরীত বিন্দু" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "বিপরীত স্ল্যাশ চিহ্ন" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "চিহ্নের ধরণ ১" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "স্ক্রোলবার বোতামের চিহ্নের ধরণ" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "স্ক্রোলবার হ্যান্ডেল, হ্যান্ডেলবাক্স প্রভৃতির চিহ্নের ধরণ" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "কোনওটি নয়" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "কিছু নয়" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "প্যানের বিন্দু" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "আয়তক্ষেত্র" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "স্ক্রোলবারের চিহ্ন" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "স্ক্রোলবারের ধরণ" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "স্ক্রোলবোতামের চিহ্ন" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "আকৃতির" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "স্ল্যাশচিহ্ন" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "কিছু" gtk-engines-2.20.2/po/bn_IN.po0000644000175000017500000001545211445424675012717 00000000000000# translation of bn_IN.po to Bengali INDIA # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Runa Bhattacharjee , 2007. # Runa Bhattacharjee , 2008. # Runa Bhattacharjee , 2009. msgid "" msgstr "" "Project-Id-Version: bn_IN\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2009-04-26 15:20+0000\n" "PO-Revision-Date: 2009-06-12 19:24+0530\n" "Last-Translator: Runa Bhattacharjee \n" "Language-Team: Bengali INDIA \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-প্রকৃতি (বাটন)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-প্রকৃতি (গ্রেডিয়েন্ট)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "অ্যানিমেশন" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "পারম্পরিক" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "স্ক্রোল-বারের রং নির্ধারণ করুন" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "বৈপরিত্য" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ফোকাস ড্রয়িং নিষ্ক্রিয় করা হবে" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "প্রগ্রেস-বারের জন্য অ্যানিমেশন সক্রিয় করুন" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "সমান্তরাল" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "চকচকে" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "গামি" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ইনসেট" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "বৈপরিত্য" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "মেনু-বারের বিন্যাস" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "ব্যাসার্ধ" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "নকশার বিন্যাস" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "চকচকে অথবা গামি নামক বিন্যাস আবশ্যক" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "স্ক্রোল-বারের রং" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "স্ক্রোল-বারের রং নির্ধারণ করতে ব্যবহৃত হয়" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "ছায়া" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "বিন্যাস" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "এই বিকল্পের সাহায্যে ফোকাস ড্রয়িং ব্যবস্থা নিষ্ক্রিয় করা হয়। নথিপত্রের জন্য স্ক্রিন-শট নির্মাণ হল এর মূল উদ্দেশ্য।" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "টুল-বারের বিন্যাস" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "সেল নির্দেশকচিহ্নের মাপ" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "প্রান্তের প্রস্থ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ট্রি-ভিউয়ের অধীন চেক- এবং রেডিও-বাটনের মাপ। (বাগ সংখ্যা #৩৫১৭৬৪)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "নির্ধারিত হলে, বাটনের কোণাগুলি বৃত্তাকার হবে" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "বৃত্তাকার কোণাসহ বাটন" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "তীরচিহ্ন" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "বিন্দু" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "পূর্ণ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "হ্যান্ডেল-বক্সের চিহ্ন" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "বিপরীত বিন্দু" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "বিপরীত স্ল্যাশ চিহ্ন" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "চিহ্নের ধরন ১" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "স্ক্রোল-বার বাটনের চিহ্নের ধরন" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "স্ক্রোল-বার হ্যান্ডেল, হ্যান্ডেল-বক্স প্রভৃতির চিহ্নের ধরন" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "শূণ্য" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "কিছু নয়" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "পেইনের বিন্দু" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "চতুষ্কোণ" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "স্ক্রোল-বারের চিহ্ন" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "স্ক্রোল-বারের প্রকৃতি" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "স্ক্রোল-বাটনের চিহ্ন" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "বিন্যাসে" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "স্ল্যাশচিহ্ন" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "কিছু" gtk-engines-2.20.2/po/ca.po0000644000175000017500000001233611446654310012303 00000000000000# Catalan translation of gtk-engines. # Copyright © 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Gil Forcada , 2007, 2008. # Sílvia Miranda Sanchez , 2007. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-12 18:27+0100\n" "PO-Revision-Date: 2009-02-09 23:26+0100\n" "Last-Translator: Gil Forcada \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Aparença 3D (botó)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Aparença 3D (degradat)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacions" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clàssic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Dóna color a les barres de desplaçament" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Inhabilita el dibuixat del focus" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Habilita les animacions a les barres de progrés" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Pla" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Brillant" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Enganxós" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Endins" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertit" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Estil de la barra de menú" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radi" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Estil del relleu" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requereix l'estil Brillant o Enganxós" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Color de la barra de desplaçament" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Estableix el color de les barres de desplaçament" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Ombra" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Aquesta opció permet inhabilitar el dibuixat del focus. El propòsit " "principal és per a poder fer captures de pantalla per a la documentació." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Estil de la barra d'eines" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Mida de l'indicador de la cel·la" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Gruix de la vora" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Mida dels botons d'opció i de selecció dins de la vista d'arbre. (Bug " "#351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Si s'estableix, s'arrodoneixen les cantonades dels botons" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botons arrodonits" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Fletxa" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Complet" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marques quadre de nanses" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Punt invertit" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra invertida" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tipus de marca 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipus de marca per als botons de barra de desplaçament" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipus de marca per a les nanses de les barres de desplaçament, quadres de " "nanses, etc." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Cap" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Res" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Punts del quadre" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectangle" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marques de la barra de desplaçament" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipus de barra de desplaçament" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marques del botó de desplaçament" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Amb forma" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Alguns" gtk-engines-2.20.2/po/ca@valencia.po0000644000175000017500000001251211445424675014112 00000000000000# Valencian (southern Catalan) translation of gtk-engines. # Copyright © 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Gil Forcada , 2007, 2008. # Sílvia Miranda Sanchez , 2007. # Miquel Esplà , 2009 [valencian variant adaptation]. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-05-25 14:06+0200\n" "PO-Revision-Date: 2009-02-09 23:26+0100\n" "Last-Translator: Gil Forcada \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Aparença 3D (botó)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Aparença 3D (degradat)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacions" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clàssic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Dóna color a les barres de desplaçament" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Inhabilita el dibuixat del focus" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Habilita les animacions a les barres de progrés" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Pla" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Brillant" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Enganxós" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Endins" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertit" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Estil de la barra de menú" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radi" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Estil del relleu" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requereix l'estil Brillant o Enganxós" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Color de la barra de desplaçament" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Estableix el color de les barres de desplaçament" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Ombra" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Esta opció permet inhabilitar el dibuixat del focus. El propòsit principal " "és per a poder fer captures de pantalla per a la documentació." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Estil de la barra d'eines" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Grandària de l'indicador de la cel·la" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Gruix de la vora" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Grandària dels botons d'opció i de selecció dins de la vista d'arbre. (Bug " "#351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Si s'estableix, s'arrodoneixen les cantonades dels botons" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botons arrodonits" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Fletxa" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Complet" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marques quadre de nanses" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Punt invertit" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra invertida" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tipus de marca 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipus de marca per als botons de barra de desplaçament" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipus de marca per a les nanses de les barres de desplaçament, quadres de " "nanses, etc." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Cap" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Res" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Punts del quadre" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectangle" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marques de la barra de desplaçament" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipus de barra de desplaçament" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marques del botó de desplaçament" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Amb forma" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Alguns" gtk-engines-2.20.2/po/cs.po0000644000175000017500000001216411445424675012334 00000000000000# Translation of gtk-engines to Czech. # Copyright (C) 2007, 2008, 2009 the author(s) of gtk-engines. # This file is distributed under the same license as the gtk-engines package. # Lucas Lommer , 2007, 2008, 2009. # Jakub Friedl , 2007. # Petr Kovar , 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-16 02:46+0100\n" "PO-Revision-Date: 2009-02-16 01:08+0100\n" "Last-Translator: Lucas Lommer \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D efekt (tlačítkový)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D efekt (přechod)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animace" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasický" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Obarvit posuvník" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Zakázat vykreslování zaměření" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Povolit animaci ukazatelů průběhu" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plochý" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummy" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Vsazený" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inverzní" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Styl menu" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Poloměr" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Obrys" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Vyžaduje styl Glossy nebo Gummy" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Barva posuvníku" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Nastavuje barvu posuvníků" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Stínový" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Vzhled" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Tato volba umožňuje zakázat vykreslování zaměření okna. Primárně je tato " "funkce určena pro vytváření snímků obrazovek pro dokumentaci." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Vzhled nástrojové lišty" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Velikost objektů stromu" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Síla okrajů" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Velikost přepínačů a zaškrtávacích polí ve stromu. (Chyba č. 351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Je-li zvoleno, okraje tlačítek jsou zakulacené" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Zakulacená tlačítka" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Šipka" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Tečka" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Zcela" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Značka úchytu" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Invertovaná tečka" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Invertované lomítko" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Typ značky 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Typ značky tlačítek posuvníku" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Typ značky úchytu, posuvníku atd." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Žádná" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nic" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Tečková výplň" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Obdélníkový" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Značka na posuvníku" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Typ posuvníku" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Značka tlačítek posuvníku" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Zkosený" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Lomítko" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Částečně" gtk-engines-2.20.2/po/da.po0000644000175000017500000001245311445424675012314 00000000000000# Danish translation of gtk-engines # Copyright (C) 2007-2008 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Ask Hjorth Larsen , 2007. # Kenneth Nielsen , 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-03-14 04:58+0100\n" "PO-Revision-Date: 2009-03-13 22:43+0100\n" "Last-Translator: Kenneth Nielsen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-agtig (knap)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-agtig (farveovergang)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animationer" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassisk" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Farvelæg rullebjælke" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Deaktivér fokusoptegning" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Aktivér animation af statusbjælker" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Flad" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Blank" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Tyggegummi" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Indlagt" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Omvendt" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menubjælkestil" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Relief-stil" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Kræver enten blank eller tyggegummi-stil" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Rullebjælkefarve" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Indstiller farven af rullebjælker" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Skygge" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Dette valg deaktiverer fokusoptegning. Det primære formål er at oprette " "skærmbilleder til dokumentation." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Værktøjsbjælke-stil" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Størrelse af celleindikator" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Kanttykkelse" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Størrelse af afkrydsnings- og radioknapper i træperspektiv. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ved tilvalg vil knappers hjørner blive afrundet" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Afrundede knapper" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Pil" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Prik" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Fuld" # API dokumentationen for noget af gnomes javakode (fundet med google) angiver handleboxes som noget man kan bruge til at hive dele af vinduer fra hinanden - der må altså være tale om de stiplede/prikkede områder som man typisk har på afrivelige menubarer osv. #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Håndtagsmærker" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Inverteret prik" # Det er åbenbart ikke bare backslash, så vi må hellere skrive inverteret i stedet for omvendt #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Inverteret skråstreg" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Mærketype 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Mærketype for rullebjælkeknapper" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Mærketype for rullebjælkehåndtag, håndtag osv." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Ingen" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Intet" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Prik-rude" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rektangel" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Rullebjælkemærker" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Rullebjælketype" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Rulleknapmærker" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Formet" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Skråstreg" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Nogle" gtk-engines-2.20.2/po/de.po0000644000175000017500000001225511445424675012320 00000000000000# German translations for gtk-engines package. # Copyright (C) 2007 THE gtk-engines'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # JackTheDipper , 2007. # Hendrik Brandt , 2007. # Hendrik Richter , 2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines trunk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-03-10 09:41+0100\n" "PO-Revision-Date: 2009-03-10 10:37+0100\n" "Last-Translator: Hendrik Richter \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Plastische Knöpfe" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Plastischer Farbverlauf" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animationen" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassisch" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Bildlaufleiste einfärben" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Zeichnen des Fokus deaktivieren" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Animationen von Fortschrittsanzeigen aktivieren" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Flach" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glänzend" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummi" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Eingelassen" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertiert" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menüleistenstil" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Konturstil" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Benötigt den Stil Glänzend oder Gummi" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Bildlaufleistenfarbe" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Legt die Farbe der Bildlaufleisten fest" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Schatten" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Legt fest, ob das Zeichnen des Fokus deaktiviert ist. Dies ist nützlich beim " "Erstellen von Bildschirmfotos für die Dokumentation." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Werkzeugleistenstil" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Zellzeigergröße" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Randstärke" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Größe von Ankreuzfeldern und Auswahlknöpfen innerhalb einer Listenansicht " "(Fehler Nr. 351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Falls aktiviert, werden die Ecken von Knöpfen abgerundet" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Abgerundete Knöpfe" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Pfeil" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punkt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Voll" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Grifffeldmarker" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Invertierter Punkt" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Invertierter Schrägstrich" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Markertyp 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Markertyp für Bildlaufleistenknöpfen" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Markertyp für Bildlaufleistengriffe, Grifffelder usw." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Keine" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nichts" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Trennbalkenpunkte" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rechteck" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Bildlaufleistenmarker" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Bildlaufleistentyp" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Bildlaufleistenknopf-Inhalt" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Geformt" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Schrägstrich" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Einige" gtk-engines-2.20.2/po/dz.po0000644000175000017500000001262011445424675012341 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-03-16 03:34+0000\n" "PO-Revision-Date: 2007-03-16 03:31+0530\n" "Last-Translator: yangka \n" "Language-Team: dzongkha \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2;plural=(n!=1);\n" "X-Poedit-Language: Dzongkha\n" "X-Poedit-Country: BHUTAN\n" "X-Poedit-SourceCharset: utf-8\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "ཌིཤ་༣(ཨེབ་རྟ)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "ཌིཤ་༣(སྟེགས་རིས་)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "བསྒུལ་བཟོ་ཚུ།" #: ../schema/clearlooks.xml.in.in.h:4 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "ཚོན་མདངས།" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Enable Animations on Progressbars, Radio-, and CheckButtons" msgstr "བསྒུལ་བཟོ་ཚུ་ཡར་འཕེལ་ཕྲ་རིང་ཚུ་ རེཌིའོ་ དང་བརྟག་ཞིབ་ཨེབ་རྟ་ཚུ་གུ་ལྕོགས་ཅན་བཟོ།" #: ../schema/clearlooks.xml.in.in.h:6 msgid "Flat" msgstr "ལེབ་ཏེམ།" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Menubar Style" msgstr "དཀར་ཆག་ཕྲ་རིང་བཟོ་རྣམ།" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Scrollbar Color" msgstr "རྒྱབ་སྒྲིལ་ཚོས་གཞི།" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Sets the Color of Scrollbars" msgstr "བཤུད་ཕྲ་ཚུ་གི་ཚོས་གཞི་འདི་གཞི་སྒྲིག་འབདཝ་ཨིན།" #: ../schema/hc.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "ནང་ཐིག་བརྡ་སྟོན་མིའི་ཚད།" #: ../schema/hc.xml.in.in.h:2 msgid "Edge Thickness" msgstr "མཐའམ་སྟུག་ཚད།" #: ../schema/hc.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "བརྟག་ཞིབ་དང་རེཌིའོ་ཨེབ་རྟ་ཚུའི་ནང་ན་རྩ་འབྲེལ་མཐོང་སྣང་ཚུ་གི་ཚད (རྒྱེན་ #༣༥༡༧༦༤)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "གཞི་སྒྲིག་འབད་ཡོདཔ་ཨིན་པ་ཅིན་ཨེབ་རྟ་སྒྱིད་ཁུག་ཚུ་ཆ་མཉམ་སྒོར་སྒོརམ་བཟོ་ཡོདཔ་ཨིན།" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "སྒོར་སྒོརམ་བཟོ་ཡོད་པའི་ཨེབ་རྟ་ཚུ།" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "མདའ་རྟགས།" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "ཚག" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "གངམ།" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "ལེགས་སྐྱོང་པའི་སྒྲོམ་རྟགས་ཚུ།" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "གནས་ལོག་ཡོད་མི་ཚག" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "གནས་ལོག་ཡོད་མི་གཡོ་ཤད།" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "རྟགས་དབྱེ་བ་༡" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "བཤུད་ཕྲ་ཨེབ་རྟ་ཚུ་གི་དོན་ལུ་རྟགས་དབྱེ་བ།" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "བཤུད་ཕྲ་ལེགས་སྐྱོང་པ་ཚུ་ ལེགས་སྐྱོང་པའི་སྒྲོམ་ཚུ་ ལ་སོགས་པ་གི་དོན་ལུ་རྟགས་དབྱེ་བ།" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "ཅི་མེད།" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "ག་ནི་ཡང་མེདཔ།" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "པེནཌི་ཚག་ཚུ།" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "གྲུ་བཞི་ནར་མོ།" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "བཤུད་ཕྲ་རྟགས་ཚུ།" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "བཤུད་ཕྲ་དབྱེ་བ།" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "བཤུད་སྒྲིལ་ཨེབ་རྟ་གི་རྟགས་ཚུ།" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "དབྱིབས་བཟོ་ཡོདཔ།" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "གཡོ་ཤད།" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "ལ་ལོ།" gtk-engines-2.20.2/po/el.po0000644000175000017500000001457211445424675012334 00000000000000# translation of el.po to Greek # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Simos Xenitellis , 2007. # Jennie Petoumenou , 2009. msgid "" msgstr "" "Project-Id-Version: el\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-03-11 13:20+0100\n" "Last-Translator: Jennie Petoumenou \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Greek\n" "X-Poedit-Country: GREECE\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3Δ (κουμπί)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3Δ (απόχρωση)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Κινούμενα σχέδια" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Κλασικό" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Χρωματισμός γραμμής κύλισης" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Αντίθεση" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Απενεργοποίηση σχεδίασης εστίασης" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Ενεργοποίηση κινούμενων σχεδίων στις μπάρες προόδου" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Πλατύ" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Γυαλιστερό" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Κολλώδες" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Ένθεμα" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Ανεστραμμένη" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Στυλ Μπάρας Μενού" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Ακτίνα" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Ανάγλυφο στυλ" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Απαιτεί γυαλιστερό στυλ ή κολλώδες" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Χρώμα γραμμής κύλισης" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Καθορίζει το χρώμα των γραμμών κύλισης" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Σκιά" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Στυλ" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Αυτή η επιλογή σας επιτρέπει να απενεργοποιήσετε τη σχεδίαση της εστίασης. " "Η βασική της χρησιμότητα είναι η δημιουργία στιγμιοτύπων για την " "τεκμηρίωση." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Στυλ εργαλειοθήκης" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Ένδειξη μεγέθους κελιών" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Πάχος των άκρων" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Μέγεθος του check- και κουμπιών αλληλοαποκλειώμενων επιλογών μέσα στις " "δενδρικές προβολές. (Σφάλμα #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Αν καθοριστεί, οι γωνίες των πλήκτρων στρογγυλεύουν" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Στρογγυλεμένα κουμπιά" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Βέλος" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Τελεία" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Γεμάτο" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Σημειώσεις κουτιού διαχείρισης" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Ανεστραμμένη τελεία" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Ανεστραμμένη κάθετος" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Τύπος σημείωσης 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Τύπος σημείωσης για τα πλήκτρα της γραμμής κύλισης" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Τύπος σημείωσης για τις επικεφαλίδες της γραμμής κύλισης, των κουτιών " "διαχείρισης, κλπ" # #-#-#-#-# nautilus.HEAD.el.po (el) #-#-#-#-# # # #-#-#-#-# orca.gnome-2-20.el.po (el) #-#-#-#-# # #-#-#-#-# nautilus.HEAD.el.po (el) #-#-#-#-# # #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Κανένα" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Τίποτα" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Τελείες του ταμπλό" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Ορθογώνιο" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Σημειώσεις γραμμής κύλισης" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Τύπος γραμμής κύλισης" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Σημειώσεις πλήκτρων κύλισης" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Σχηματισμένη" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Κάθετος" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Κάποια" gtk-engines-2.20.2/po/en_GB.po0000644000175000017500000001137411446654310012673 00000000000000# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same licence as the hipo package. # David Lodge , 2007 # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-23 19:45+0000\n" "PO-Revision-Date: 2008-03-03 17:33+0000\n" "Last-Translator: David Lodge \n" "Language-Team: en_GB \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (button)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animations" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Classic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colourise Scrollbar" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Disable focus drawing" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Enable Animations on Progressbars" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Flat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummy" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inverted" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menubar Style" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Relief Style" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requires style Glossy or Gummy" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Scrollbar Colour" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Sets the Colour of Scrollbars" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Shadow" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Style" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "This option allows focus drawing to be disabled. The primary purpose is to " "create screenshots for documentation." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Toolbar Style" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Cell Indicator Size" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Edge Thickness" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Size of check- and radiobuttons inside treeviews. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "If set, button corners are rounded" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Rounded Buttons" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Arrow" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Dot" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Full" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Handlebox Marks" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Inverted Dot" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Inverted Slash" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Mark Type 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Mark Type for Scrollbar Buttons" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Mark Type for Scrollbar Handles, Handleboxes, etc" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "None" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nothing" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Paned Dots" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectangle" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Scrollbar Marks" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Scrollbar Type" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Scrollbutton Marks" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Shaped" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slash" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Some" gtk-engines-2.20.2/po/en@shaw.po0000644000175000017500000001414411445424675013314 00000000000000# Shavian translation for gtk-engines. # Copyright (C) 2009 The Gnome Foundation. # Thomas Thurman , 2009. msgid "" msgstr "" "Project-Id-Version: metacity\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2010-04-30 17:35+0000\n" "PO-Revision-Date: 2010-05-12 18:37 -0400\n" "Last-Translator: Thomas Thurman \n" "Language-Team: Shavian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-𐑦𐑖 (𐑚𐑳𐑑𐑩𐑯)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-𐑦𐑖 (𐑜𐑮𐑱𐑛𐑦𐑩𐑯𐑑)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "𐑨𐑯𐑩𐑥𐑱𐑖𐑩𐑯𐑟" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "𐑒𐑤𐑨𐑕𐑦𐑒" #, fuzzy #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "𐑒𐑩𐑤𐑻𐑲𐑟 Scrollbar" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "𐑒𐑩𐑯𐑑𐑮𐑭𐑕𐑑" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "𐑛𐑦𐑕𐑱𐑚𐑩𐑤 𐑓𐑴𐑒𐑩𐑕 𐑛𐑮𐑷𐑦𐑙" #, fuzzy #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "𐑦𐑯𐑱𐑚𐑩𐑤 𐑨𐑯𐑩𐑥𐑱𐑖𐑩𐑯𐑟 𐑪𐑯 Progressbars" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "𐑓𐑤𐑨𐑑" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "𐑜𐑤𐑪𐑕𐑦" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "𐑜𐑳𐑥𐑦" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "𐑦𐑯𐑕𐑧𐑑" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "𐑦𐑯𐑝𐑻𐑑𐑦𐑛" #, fuzzy #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menubar 𐑕𐑑𐑲𐑤" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "𐑮𐑱𐑛𐑦𐑩𐑕" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "𐑮𐑦𐑤𐑰𐑓 𐑕𐑑𐑲𐑤" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "𐑮𐑦𐑒𐑢𐑲𐑼𐑟 𐑕𐑑𐑲𐑤 𐑜𐑤𐑪𐑕𐑰 𐑹 𐑜𐑩𐑥𐑰" #, fuzzy #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Scrollbar 𐑒𐑳𐑤𐑼" #, fuzzy #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "𐑕𐑧𐑑𐑕 𐑞 𐑒𐑳𐑤𐑼 𐑝 Scrollbars" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "𐑖𐑨𐑛𐑴" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "𐑕𐑑𐑲𐑤" #, fuzzy #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "𐑞𐑦𐑕 𐑪𐑐𐑖𐑩𐑯 𐑩𐑤𐑬𐑟 𐑑 𐑛𐑦𐑕𐑱𐑚𐑩𐑤 𐑞 𐑓𐑴𐑒𐑩𐑕 𐑛𐑮𐑷𐑦𐑙. 𐑞 𐑐𐑮𐑲𐑥𐑩𐑮𐑦 𐑐𐑻𐑐𐑩𐑕 𐑦𐑟 𐑑 𐑒𐑮𐑦𐑱𐑑 " "screenshots 𐑓𐑹 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑𐑱𐑖𐑩𐑯." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "𐑑𐑵𐑤𐑚𐑸 𐑕𐑑𐑲𐑤" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "𐑕𐑧𐑤 𐑦𐑯𐑛𐑦𐑒𐑱𐑑𐑼 𐑕𐑲𐑟" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "𐑧𐑡 𐑔𐑦𐑒𐑯𐑩𐑕" #, fuzzy #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "𐑕𐑲𐑟 𐑝 𐑗𐑧𐑒- 𐑯 radiobuttons 𐑦𐑯𐑕𐑲𐑛 treeviews. (𐑚𐑳𐑜 #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "𐑦𐑓 𐑕𐑧𐑑, 𐑚𐑳𐑑𐑩𐑯 𐑒𐑹𐑯𐑼𐑟 𐑸 𐑮𐑬𐑯𐑛𐑩𐑛" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "𐑮𐑬𐑯𐑛𐑩𐑛 𐑚𐑳𐑑𐑩𐑯𐑟" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "𐑸𐑴" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "𐑛𐑪𐑑" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "𐑓𐑫𐑤" #, fuzzy #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Handlebox 𐑥𐑸𐑒𐑕" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "𐑦𐑯𐑝𐑻𐑑𐑦𐑛 𐑛𐑪𐑑" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "𐑦𐑯𐑝𐑻𐑑𐑦𐑛 𐑕𐑤𐑨𐑖" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "𐑥𐑸𐑒 𐑑𐑲𐑐 1" #, fuzzy #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "·𐑥𐑸𐑒 𐑑𐑲𐑐 𐑓𐑹 Scrollbar 𐑚𐑳𐑑𐑩𐑯𐑟" #, fuzzy #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "·𐑥𐑸𐑒 𐑑𐑲𐑐 𐑓𐑹 Scrollbar 𐑣𐑨𐑯𐑛𐑩𐑤𐑟, Handleboxes, 𐑧𐑑𐑕" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "𐑯𐑳𐑯" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "𐑯𐑳𐑔𐑦𐑙" #, fuzzy #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Paned 𐑛𐑪𐑑𐑕" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "𐑮𐑧𐑒𐑑𐑨𐑙𐑜𐑩𐑤" #, fuzzy #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Scrollbar 𐑥𐑸𐑒𐑕" #, fuzzy #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Scrollbar 𐑑𐑲𐑐" #, fuzzy #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Scrollbutton 𐑥𐑸𐑒𐑕" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "𐑖𐑱𐑐𐑑" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "𐑕𐑤𐑨𐑖" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "𐑕𐑳𐑥" gtk-engines-2.20.2/po/es.po0000644000175000017500000001256611446654310012334 00000000000000# translation of gtk-engines.HEAD.po to Español # Spanish translation of gtk-engines # Copyright (C) 2007 gtk-engine'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Jorge González , 2007. # Jorge González , 2007, 2008. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2008-11-08 15:50+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3er (botón)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3er (gradiente)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animaciones" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clásico" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorear la barra de desplazamiento" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contraste" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Desactivar el foco de dibujado" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Activar animaciones en las barras de progreso" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plano" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Pulido" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Pegajoso" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Insertar" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertido" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Estilo de la barra de menú" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radio" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Estilo del relieve" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requiere estilo Pulido o Pegajoso" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Color de la barra de desplazamiento" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Establece el color de las barras de desplazamiento" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Sombra" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estilo" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Esta opción permite desactivar el foco de dibujado. La propuesta es crear " "capturas de pantalla para la documentación." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Estilo de la barra de herramientas" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Indicador del tamaño de celda" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Grosor del borde" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Tamaño de los botones de casilla y botones de radio dentro de las vistas de " "árbol" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Si está activado, las esquinas de los botones son redondeadas" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botones redondeados" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Flecha" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punto" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Lleno" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marcas de las cajas manipuladoras" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Punto invertido" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra invertida" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tipo de marcas 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipo de marcas para los botones de la barra de desplazamiento" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipo de marcas para los manejadores de la barra de desplazamiento, cajas " "manipuladoras, etc" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Ninguna" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nada" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Puntos de panel" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectángulo" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marcas de las barras de desplazamiento" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipo de barras de desplazamiento" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marcas de los botones de desplazamiento" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Contorno" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Algunas" gtk-engines-2.20.2/po/et.po0000644000175000017500000001070411446654310012325 00000000000000# GTK-mootorite eesti keele tõlge. # Estonian translation of GTK-engines. # # Copyright (C) 2007, 2008 The GNOME Project. # This file is distributed under the same license as the gtk-engines package. # # Ivar Smolin , 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-01-28 19:42+0000\n" "PO-Revision-Date: 2008-09-15 18:52+0300\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "kolmemõõtmeline (nupp)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "kolmemõõtmeline (üleminekuga)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animatsioonid" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassikaline" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Kerimisribade värvuse määramine" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Enable Animations on Progressbars" msgstr "Animatsioonide lubamine edenemisribadel" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Flat" msgstr "Lame" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Glossy" msgstr "Läikiv" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Gummy" msgstr "Kleepuv" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Inset" msgstr "" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inverted" msgstr "Tagurpidi" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Menubar Style" msgstr "Menüüriba laad" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Radius" msgstr "Raadius" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Relief Style" msgstr "Reljeefi laad" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Requires style Glossy or Gummy" msgstr "Sellele tuleb määrata läikiv või kleepuv laad" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Scrollbar Color" msgstr "Kerimisriba värvus" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Sets the Color of Scrollbars" msgstr "Kerimisribade värvuse määramine" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Shadow" msgstr "Vari" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Style" msgstr "Laad" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Toolbar Style" msgstr "Tööriistariba laad" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Lahtri näidiku suurus" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Serva paksus" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Märkeruutude ja raadionuppude suurused puuvaadetes. (Viga #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Määramise korral on nuppude nurgad ümarad" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Ümarate nurkadega nupud" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Nool" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punkt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Täielik" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tähistamise liik 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Kerimisriba nuppudele tähistamise liik" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Puudub" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Ristkülik" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Kerimisriba märgid" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Kerimisriba liik" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Kerimisnupu märgid" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Osaline" gtk-engines-2.20.2/po/eu.po0000644000175000017500000001204711445424675012340 00000000000000# translation of eu.po to Basque # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Iñaki Larrañaga Murgoitio , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: eu\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-12 19:49+0100\n" "PO-Revision-Date: 2009-02-12 19:51+0100\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (botoia)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (gradientea)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animazioak" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasikoa" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Margotu korritze-barra" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrastea" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Desgaitu fokua marraztea" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Gaitu animazioak progresio-barran" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Laua" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Satinatua" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Likatsua" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Barnekoa" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Alderantzikatua" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menu-barraren estiloa" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Erradioa" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Erliebe-estiloa" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Estilo satinatua edo likatsua behar du" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Korritze-barren kolorea" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Korritze-barren kolorea ezartzen du" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Itzala" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estiloa" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Aukera honek fokua marraztea desgaitzen du. Helburu nagusia pantailako " "argazkiak egitea da dokumentazioentzako." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Tresna-barraren estiloa" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Gelaxka-tamainaren adierazlea" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Ertzen lodiera" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Zuhaitz-ikuspegiko kontrol- eta erradio-botoien tamaina" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ezartzen bada, botoien ertzak biribilduko dira" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botoi biribilak" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Gezia" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Puntua" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Osoa" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Helduleku-laukien markak" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Puntu alderantzikatua" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra alderantzikatua" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "1 marka mota" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Korritze-barreko botoien marka mota" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Korritze-barreko heldulekuen, helduleku-laukien eta abarren marka mota" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Bat ere ez" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ezer ere ez" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Paneleko puntuak" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Laukizuzena" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Korritze-barren markak" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Korritze-barra mota" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Korritze-botoien markak" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Ingerada" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Batzuk" gtk-engines-2.20.2/po/fi.po0000644000175000017500000001212211445424675012317 00000000000000# Finnish messages for gtk-engines # Suomennos: http://www.gnome.fi/ # Copyright (C) 2007-2009 Free Software Foundation, Inc. # This file is distributed under the same license as the package. # # Ilkka Tuohela , 2007-2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-27 17:53+0300\n" "PO-Revision-Date: 2009-01-27 17:55+0300\n" "Last-Translator: Ilkka Tuohela \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Kolmiulotteinen (nappi)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Kolmiulotteinen (väriliuku)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animaatiot" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Perinteinen" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Väritä vierityspalkki" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrasti" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Poista kohdistuksen piirto käytöstä" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Käytä animaatioita edistymispalkeissa" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Litteä" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Kiiltävä" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Kumimainen" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Upotettu" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Käänteinen" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Valikkopalkin tyyli" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Säde" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Reunuksen tyyli" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Vaatii tyylin \"kiiltävä\" tai \"kumimainen\"" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Vierityspalkin väri" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Asettaa vierityspalkin värin" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Varjo" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Tyyli" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Tällä valitsimella voi estää kohdistuksen piirron. Ensisijaisesti tämä on " "tarkoitettu dokumentaation kuvakaappausten tekoa varten." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Työkalupalkin tyyli" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Solun ilmaisimen koko" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Reunan paksuus" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Valinta- ja radionappien koko puunäkymissä. (bugi #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Jos asetettu, painikkeen kulmat on pyöristetty" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Pyöristetyt napit" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Nuoli" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Piste" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Täysi" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Kahvalaatikon merkit" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Käänteinen piste" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Käänteinen kenoviiva" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Merkkityyppi 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Vierityspalkin nappien merkkityyppi" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Vierityspalkin kahvojen, kahvalaatikon jne. merkkityyppi" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Ei mitään" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ei mitään" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Paneloidut pisteet" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Neliö" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Vierityspalkin merkit" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Vierityspalkin tyyppi" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Vierityspainikken merkinnät" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Muotoiltu" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Kenoviiva" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Jonkin verran" gtk-engines-2.20.2/po/fr.po0000644000175000017500000001242111446654310012322 00000000000000# French translation of gtk-engines. # Copyright (C) 2007-2009 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # # Jonathan Ernst , 2007 # Claude Paroz , 2007-2009 # Robert-André Mauchin , 2008 # msgid "" msgstr "" "Project-Id-Version: gtk-engines fr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-28 18:59+0100\n" "PO-Revision-Date: 2009-02-28 19:49+0100\n" "Last-Translator: Claude Paroz \n" "Language-Team: GNOME French Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (bouton)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (dégradé)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animations" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Classique" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorer les barres de défilement" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contraste" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Désactiver les marques du focus" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Activer les animations pour les barres de progression" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Éclatant" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gélifié" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Biseauté" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inversé" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Style de la barre de menus" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Rayon" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Style du relief" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Nécessite le style Éclatant ou Gélifié" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Couleur de la barre de défilement" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Définit la couleur des barres de défilement" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Ombre" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Style" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Cette option permet de désactiver les marques dessinées par le focus. L'utilité " "principale est la création des captures d'écran pour la documentation." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Style de la barre d'outils" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Taille de l'indicateur de cellule" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Largeur des bordures" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Taille des cases à cocher et des boutons radio dans les arborescences (bogue " "#351764)." #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Si défini, les angles des boutons sont arrondis" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Boutons arrondis" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Flèche" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Point" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Complet" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marques de poignées" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Point inversé" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barre oblique inverse" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Type de marque 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Type de marque pour les boutons des barres de défilement" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Type de marque pour les poignées (barres de défilement, etc.)" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Aucun" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Rien" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Points de séparation des volets" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectangle" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marques des barres de défilement" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Type de barres de défilement" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marques de boutons de défilement" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Déformé" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barre oblique" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Quelques-uns" gtk-engines-2.20.2/po/fur.po0000644000175000017500000001157111445424675012524 00000000000000# Friulian translation for gtk-engines. # Copyright (C) 2007 Free Software Foundation, Inc # Massimo Furlani , 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.13.x\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-04-30 20:05+0200\n" "PO-Revision-Date: 2008-03-12 13:52+0100\n" "Last-Translator: Massimo Furlani \n" "Language-Team: FRIULIAN \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Friulian\n" "X-Poedit-Country: ITALY\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Tridimensionâl (boton)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Tridimensionâl (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animazions" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Classic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Piturâ bare di scoriment" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Enable Animations on Progressbars" msgstr "Abilite animazions su la bare di avanzament" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Flat" msgstr "Slis" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Gummy" msgstr "Gummy" # Relief Style # * Inset # * Shadow #: ../schema/clearlooks.xml.in.in.h:11 msgid "Inset" msgstr "Metût dentri" # Style # * Classic # * Glossy # * Gummy # * Inverted #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inverted" msgstr "Devantdaûr" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Menubar Style" msgstr "Stîl bare di menu" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Radius" msgstr "Ragjio" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Relief Style" msgstr "Stîl in riliêf" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Requires style Glossy or Gummy" msgstr "A covente il stîl Glossy o Gummy" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Scrollbar Color" msgstr "Colôr bare di scoment" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Sets the Color of Scrollbars" msgstr "Imposte il colôr ded baris di scoriment" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Shadow" msgstr "Ombre" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Style" msgstr "Stîl" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Toolbar Style" msgstr "Stîl bare dai imprescj" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Dimension indicadôr de cele" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Spessôr da l'ôr" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Dimension dai botons radio/check dentri dai treeview (bug #351764)." #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Se impostât, i cjantons dai botons a son tarondâts" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botons tarondâts" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Frece" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Pont" # Paned Dots # * Full # * Some # * None #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Plen" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marcjadôr maniglis" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Pont devantdaûr" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Slash devantdaûr" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Marcjadôr tipo 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipo di marcjadôr par botons da bare di scoriment" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipo di marcjadôr par maniglis da bare di scoriment, maniglis di caselis, " "ecc.." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nissun" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nuje" # da capire cosa è quel paned :-(( #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Ponts paned" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Retangul" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marcadôrs bare di scoriment" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipo di bare di scoriment" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marcjadôrs botons di scoriment" # Scrollbar Type # * Rectagle # * Shaped #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Sagomat" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slash" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Chualchidun" gtk-engines-2.20.2/po/ga.po0000644000175000017500000001231611445424675012315 00000000000000# Irish translations for gtk-engines package. # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Seán de Búrca , 2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines.master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-08-10 01:32-0600\n" "PO-Revision-Date: 2009-08-10 02:10-0600\n" "Last-Translator: Seán de Búrca \n" "Language-Team: Irish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : (n%10==1 || n%10==2) ? 1 : (n%" "10>=3 && n%10<= 6) ? 2 : ((n%10>=7 && n%10<=9) || n==10) ? 3 : 4;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Scoth-3d (cnaipe)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Scoth-3d (grádán)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Íomhánna Beo" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clasaiceach" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Dathaigh Scrollbharra" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Codarsnacht" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Díchumasaigh líníocht fócais" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Cumasaigh Íomhánna Beo ar Bharraí Dul Chun Cinn" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Murtallach" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Snasta" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gumach" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Intlise" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inbhéartach" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Stíl an Bharra Roghchlár" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Ga" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Stíl Rilífe" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Stíl Snasta nó Gumach de dhíth" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Dath an Scrollbharra" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Socraíonn Sé Seo an Dath Scrollbharraí" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Scáth" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stíl" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Ceadaíonn an rogha seo díchumasú líníochta fócais. Is é an phríomhchúis ná " "scáilghraif a chruthú le haghaidh doiciméadaithe." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Stíl an Bharra Uirlisí" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Méid Táscaire Cille" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Tiús Ciumhaiseanna" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Méid tic-chnaipí agus cnaipí raidió istigh in amhairc crainn. (Fabht #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Má socraithe, tá cúinní cnaipí cuar" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Cnaipí Cuara" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Saighead" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Ponc" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Lán" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marcanna Hanlabhosca" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Ponc Inbhéartach" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Slais Inbhéartach" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Cineál Marcanna 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Cineál Marcanna do Chnaipí Scrollbharra" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Cineál Marcanna do Hanlaí Scrollbharra, Hanlabhoscaí Scrollbharra, srl." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Neamhní" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Tada" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Poncanna i bPánaí" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Dronuilleog" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marcanna Scrollbharra" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Cineál Scrollbharra" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marcanna Scrollchnaipe" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Múnlaithe" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slais" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Roinnt" gtk-engines-2.20.2/po/gl.po0000644000175000017500000001252711446654310012324 00000000000000# translation of gl.po to Galego # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Ignacio Casal Quinteiro , 2007. # Ignacio Casal Quinteiro , 2007, 2008. # Mancomún - Centro de Referencia e Servizos de Software Libre , 2009. msgid "" msgstr "" "Project-Id-Version: gl\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-15 18:04+0100\n" "PO-Revision-Date: 2009-03-10 20:17+0000\n" "Last-Translator: Suso Baleato \n" "Language-Team: Galego \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (botón)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (gradiente)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacións" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clásico" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorear a barra de desprazamento" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contraste" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Desactivar o debuxo do foco" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Activar animacións nas barras de progreso" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plano" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Brillante" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Pegañento" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Baixorrelevo" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertido" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Estilo da barra de menú" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Raio" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Estilo relevo" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Necesita o estilo Pulido ou Pegañento" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Cor da barra de desprazamento" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Define a cor das barras de desprazamento" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Sombra" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estilo" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Esta opción permite desactivar o debuxo do foco. O propósito primario é " "crear capturas de pantalla para a documentación." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Estilo da barra de ferramentas" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Indicador do tamaño da cela" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Grosor do bordo" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Tamaño dos botóns de caixa de verificación e de opción dentro das " "visualizacións en árbore. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Se está activado, as esquinas dos botóns son redondeadas" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botóns redondeados" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Frecha" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punto" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Completo" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marcas das caixas manipuladoras" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Punto invertido" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra invertida" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tipo de marca 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipo de marca para os botóns da barra de desprazamento" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipo de marca para os manexadores da barra de desprazamento, as caixas " "manipuladoras etc." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Ningún" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nada" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Puntos espazados" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectángulo" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marcas das barras de desprazamento" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipo de barra de desprazamento" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marcas do botón de desprazamento" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Con forma" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Algunhas" gtk-engines-2.20.2/po/gu.po0000644000175000017500000001457111445424675012346 00000000000000# translation of gtk-engines.HEAD.gu.po to Gujarati # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # # Ankit Patel , 2007, 2009. # Sweta Kothari , 2008. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD.gu\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-03-10 18:39+0530\n" "Last-Translator: Ankit Patel \n" "Language-Team: Gujarati \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n\n" "\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (બટન)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (ઢાળ)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "એનીમેશનો" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "ઉત્તમ" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "સરકપટ્ટીનો રંગ સુયોજિત કરે છે" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "કોન્ટ્રાસ્ટ" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ફોકસ દોરવાનું નિષ્ક્રિય કરો" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "પ્રગતિદર્શક પટ્ટીઓ પર એનિમેશન સક્રિય કરો" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "સપાટ" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "ચળકાટ" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "ગમિ" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ચોપડી" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "ઉલટું કરાયેલ" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "મેનુબાર શૈલી" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "ત્રિજ્યા" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "રાહત શૈલી" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "ચળકાટ અથવા ગમિ શૈલીની જરૂર છે" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "સરકપટ્ટી રંગ" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "સરકપટ્ટીનો રંગ સુયોજિત કરે છે" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "છાંયડો" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "શૈલી" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "આ વિકલ્પ ફોકસ દોરવાનું નિષ્ક્રિય કરવા માટે પરવાનગી આપે છે. પ્રાથમિક હેતુ એ દસ્તાવેજીકરણ માટે સ્ક્રીનશોટ બનાવવાનો છે." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "સાધનપટ્ટી શૈલી" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "ખાનાં સૂચક માપ" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "બાજુની જાડાઈ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "વૃક્ષદૃશ્યોમાં ચકાસણી- અને રેડિયોબટનોનું માપ. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "જો સુયોજિત હોય, તો બટન કિનારીઓ ગોળ કરવામાં આવે છે" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "ગોળ કિનારીવાળા બટનો" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "તીર" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "ટપકું" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "સંપૂર્ણ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "નિયંત્રણબોક્સ ચિહ્નો" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "ઉલટું કરાયેલ ટપકું" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "ઉલટો કરાયેલ સ્લેશ" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "ચિહ્ન પ્રકાર ૧" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "સરકપટ્ટી બટનો માટે ચિહ્ન પ્રકાર" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "સરકપટ્ટી સંભાળનારાઓ, નિયંત્રણબોક્સ, વગેરે માટે ચિહ્ન પ્રકાર" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "કંઈ નહિં" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "કંઈ નહિં" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "પેનવાળાં ટપકાંઓ" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "લંબચોરસ" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "સરકપટ્ટી ચિહ્નો" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "સરકપટ્ટી પ્રકાર" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "સરકબટન ચિહ્નો" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "આકારવાળું" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "સ્લેશ" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "કંઈક" gtk-engines-2.20.2/po/he.po0000644000175000017500000001146011446654310012311 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Yair Hershkovitz , 2008. msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-03-06 17:06+0000\n" "PO-Revision-Date: 2009-03-08 00:24+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (button)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animations" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Classic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorize Scrollbar" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Disable focus drawing" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Enable Animations on Progressbars" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Flat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummy" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inverted" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menubar Style" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Relief Style" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requires style Glossy or Gummy" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Scrollbar Color" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Sets the Color of Scrollbars" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Shadow" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Style" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Toolbar Style" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Cell Indicator Size" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Edge Thickness" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Size of check- and radiobuttons inside treeviews. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "If set, button corners are rounded" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Rounded Buttons" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Arrow" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Dot" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Full" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Handlebox Marks" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Inverted Dot" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Inverted Slash" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Mark Type 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Mark Type for Scrollbar Buttons" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Mark Type for Scrollbar Handles, Handleboxes, etc" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "None" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nothing" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Paned Dots" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectangle" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Scrollbar Marks" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Scrollbar Type" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Scrollbutton Marks" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Shaped" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slash" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Some" gtk-engines-2.20.2/po/hi.po0000644000175000017500000001430111445424675012322 00000000000000# translation of gtk-engines.master.po to Hindi # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Rajesh Ranjan , 2008. # Rajesh Ranjan , 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2009-04-26 15:20+0000\n" "PO-Revision-Date: 2009-07-06 14:31+0530\n" "Last-Translator: Rajesh Ranjan \n" "Language-Team: Hindi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n\n" "\n" "\n" "\n" "\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (button)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "हुलास" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "क्लासिक" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "स्क्रॉलबार रंगीन बनाएं" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "विरोधी" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "फोकस ड्राइंग निष्क्रिय करें" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "प्रगति बार पर संजीवन सक्रिय करें" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "समतल" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "ग्लासी" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "गमी" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "इनसेट" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "उलट" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "मेन्यूबार शैली" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "त्रिज्या" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "रिलीफ शैली" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "शैली की जरूरत ग्लॉसी या गमी" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "स्क्रॉलबार रंग" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "स्क्रॉलबार रंग सेट करता है" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "छाया" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "शैली" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "यह विकल्प फोकस ड्राइंग की निष्क्रियता को अनुमति देता है. प्राथमिक उद्देश्य दस्तावेजीकरण के लिए स्क्रीनशॉट बनाना है." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "उपकरण-पट्टी शैली" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "सेल संकेतक आकार" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "किनारा मोटाई" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "तरू दृश्य के भीतर चेक व रेडियो बटन का आकार. (बग #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "यदि सेट होता है तो बटन कोना घुमावदार है" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "गोल बटन" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "तीर" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "डॉट" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "पूर्ण" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "हैंडलबॉक्स चिह्न" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "उलटा डॉट" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "उलटा स्लैश" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "चिह्न प्रकार 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "स्क्रॉलबार बटन के लिए चिह्न प्रकार" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "स्क्रॉलबार हैंडल, हैंडलबॉक्स आदि के लिए टाइप चिह्मित करें" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "कुछ नहीं" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "कुछ नहीं" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "पैन डॉट" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "आयत" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "स्क्रॉलबार चिह्न" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "स्क्रॉलबार प्रकार" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "स्क्रॉलबटन चिह्न" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "आकार दिया" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "स्लैश" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "कुछ" gtk-engines-2.20.2/po/hu.po0000644000175000017500000001205111446654310012326 00000000000000# Hungarian translation of gtk-engines # Copyright (C) 2007, 2008, 2009, Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # # Gabor Kelemen , 2007, 2008, 2009. msgid "" msgstr "" "Project-Id-Version: HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-02-14 03:21+0100\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D-szerű (gomb)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D-szerű (átmenet)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animációk" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasszikus" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Görgetősáv színezése" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontraszt" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Fókuszrajzolás letiltása" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Animációk engedélyezése folyamatsávokon" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Sima" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Üveg" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gumi" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Fordított" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menüsáv stílusa" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Sugár" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Kiemelés stílusa" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Az Üveg vagy Gumi stílusok egyikét igényli" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Görgetősáv színe" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Beállítja a görgetősávok színét" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Árnyék" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stílus" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "Ez a lehetőség letiltja a fókusz rajzolását. Elsődleges célja a dokumentációs képernyőképek készítése." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Eszköztár stílusa" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Cellajelző mérete" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Szél vastagsága" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Jelölőnégyzetek és rádiógombok mérete fanézetekben." #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ha be van állítva, a gombok sarkai le lesznek kerekítve" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Lekerekített gombok" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Nyíl" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Pont" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Teljes" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Fogantyúsdoboz-jelek" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Fordított pont" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Fordított osztásjel" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "1. jelöléstípus" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Görgetősáv-gombok jelöléstípusa" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Görgetősáv-fogantyúk, fogantyúsdobozok stb jelöléstípusa" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nincs" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Semmi" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Osztott pontok" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Négyzet" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Görgetősáv jelek" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Görgetősáv típusa" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Görgetőgomb jelek" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Formázott" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Osztásjel" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Néhány" gtk-engines-2.20.2/po/id.po0000644000175000017500000001237111451353154012311 00000000000000# translation of gtk-engines to Indonesian # Copyright (C) 2010 THE gtk-engines 'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Dirgita , 2010. # Dirgita , 2010. msgid "" msgstr "" "Project-Id-Version: gtk-engines gtk-engines-2-22\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2010-06-21 12:07+0000\n" "PO-Revision-Date: 2010-09-05 13:53+0700\n" "Last-Translator: Dirgita \n" "Language-Team: GNOME Indonesian Translation Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (tombol)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (gradien)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animasi" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasik" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Warnai Batang Penggulung" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontras" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Nonaktifkan menggambar fokus" # @Dirgita: "progressbar" sebagai "batang kemajuan" tidak akan cocok^^ #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Aktifkan Animasi untuk Indikator Proses" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Datar" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Mengkilap" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Karet" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Kebalikan" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Gaya Baris Menu" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Gaya Relief" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Memerlukan gaya Mengkilap atau Karet" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Warna Batang Penggulung" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Menentukan Warna untuk Batang Penggulung" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Bayangan" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Gaya" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Dengan opsi ini, maka penggambaran fokus tidak akan aktif. Kegunaan utamanya " "adalah dalam membuat cuplikan layar untuk dokumentasi." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Gaya Baris Alat" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Ukuran Sel Indikator" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Ketebalan Bagian Pinggir" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Ukuran kotak cek dan tombol radio di dalam tampilan pohon. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Apabila ditentukan, maka sudut tombol akan membulat" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Tombol Membulat" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Panah" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Titik" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Penuh" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Penanda Kotak Gagang" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Titik Terbalik" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Garis Terbalik" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Penanda Jenis 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Jenis Tanda untuk Tombol Batang Penggulung" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Jenis Tanda untuk Gagang Batang Penggulung, Kotak Gagang, dll" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nihil" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Tidak Ada" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Titik-titik" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Bujur Sangkar" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Tanda Batang Penggulung" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Jenis Batang Penggulung" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Tanda Tombol Penggulung" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Berbentuk" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Garis" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Beberapa" gtk-engines-2.20.2/po/it.po0000644000175000017500000001265411445424675012347 00000000000000# Italian translation for gtk-engines. # Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc # This file is distributed under the same license as the gtk-engines package. # Luca Ferretti , 2007-2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.13.x\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-03-02 19:55+0000\n" "PO-Revision-Date: 2009-03-01 17:34+0100\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Tridimensionale (pulsante)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Tridimensionale (gradiente)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animazioni" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Classico" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorare barra di scorrimento" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrasto" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Disabilitare rappresentazione del focus" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Abilita animazioni su barre avanzamento" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Piatto" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummy" # Relief Style # * Inset # * Shadow #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inserito" # Style # * Classic # * Glossy # * Gummy # * Inverted #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertito" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Stile barra menù" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Raggio" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Stile rilievo" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Richiede lo stile Glossy o Gummy" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Colore barra scorrimento" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Imposta il colore delle barre di scorrimento" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Ombra" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stile" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Questa opzione consente di disabilitare la rappresentazione del focus. Lo " "scopo principale è quello di catturare schermate per la documentazione." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Stile barra strumenti" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Dimensione indicatore cella" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Spessore del bordo" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Dimensione dei pulsanti radio/check all'interno dei treeview (bug #351764)." #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Se impostato, gli angoli dei pulsanti sono arrotondati" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Pulsanti arrotondati" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Freccia" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punto" # Paned Dots # * Full # * Some # * None #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Pieno" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Contrassegni maniglie" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Punto invertito" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Slash invertito" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Contrassegno tipo 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipo di contrassegno per pulsanti di barra scorrimento" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipo di contrassegno per maniglie di barre di scorrimento, maniglie di " "caselle, ecc.." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nessuno" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Niente" # da capire cosa è quel paned :-(( #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Punti paned" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rettangolo" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Contrassegni barra di scorrimento" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipo di barra di scorrimento" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Contrassegni di pulsanti di scorrimento" # Scrollbar Type # * Rectagle # * Shaped #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Sagomato" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slash" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Qualcuno" gtk-engines-2.20.2/po/ja.po0000644000175000017500000001310011451353163012276 00000000000000# gtk-engines ja.po. # Copyright (C) 2007,2008,2009 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Takeshi AIHANA , 2007,2008,2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines gtk-engines-2-22\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2010-09-05 06:56+0000\n" "PO-Revision-Date: 2009-02-08 20:10+0900\n" "Last-Translator: Takeshi AIHANA \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3次元風のボタン" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3次元風のグラデーション" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "アニメーション" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "クラッシック" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "スクロールバーの色" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "コントラスト" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "フォーカスの描画を無効にする" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "プログレス・バーでアニメーションを有効にする" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "平らにする" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "光沢つき" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "ゴム風" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "はめ込む" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "反転する" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "メニューバーのスタイル" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "半径" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "レリーフのスタイル" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "光沢をつけたりゴム風にするのに必要です" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "スクロールバーの色" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "スクロールバーの色を指定します" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "影" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "スタイル" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "このオプションでフォーカスの描画を無効にできます (このオプションが用意されて" "いる理由は、ドキュメント向けに妥当なスクリーンショットを生成できるようにする" "ためです)。" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "ツールバーのスタイル" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "セルのインジゲーターの大きさ" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "エッジの太さ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "ツリー・ビューの中にあるチェックボタン/ラジオボタンの大きさです (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "TRUE にすると、ボタンの隅が丸くなります" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "ボタンを丸くする" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "矢印" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "ドット" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "すべて" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "ハンドルボックスの印" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "ドットを反転する" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "スラッシュを反転する" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "タイプ1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "スクロールバーのボタンの種類です" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "スクロールバーのハンドルやハンドルボックスに付いている印の種類です" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "なし" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "なし" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "ドットを下げる" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "矩形" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "スクロールバーの印" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "スクロールバーの種類" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "スクロールボタンの印" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "シェイプ" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "スラッシュ" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Some" gtk-engines-2.20.2/po/kn.po0000644000175000017500000001570311445424675012341 00000000000000# translation of gtk-engines.HEAD.po to Kannada # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Shankar Prasad , 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2009-03-02 22:28+0000\n" "PO-Revision-Date: 2009-03-25 23:37+0530\n" "Last-Translator: Shankar Prasad \n" "Language-Team: Kannada \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (ಗುಂಡಿ)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (ಬದಲಾವಣೆಗೊಂಡ)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "ಸಜೀವನಗಳು(ಅನಿಮೇಶನ್‌ಗಳು)" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "ಸಾಂಪ್ರದಾಯಿಕ" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "ಚಲನಪಟ್ಟಿಕೆಗೆ ಬಣ್ಣ ಹಚ್ಚು" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "ವೈದೃಶ್ಯ" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ಗಮನಹರಿಸುವಿಕೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "ಪ್ರಗತಿಪಟ್ಟಿಕೆಗಳಲ್ಲಿ ಸಜೀವನವನ್ನು(ಎನಿಮೇಶನ್) ಶಕ್ತಗೊಳಿಸಿ" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "ಚಪ್ಪಟೆ" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "ಹೊಳಪಿನ" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "ಅಂಟುಅಂಟಾದ" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ಒಳಜೋಡಿಸಿದ" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "ವಿಲೋಮಗೊಳಿಸಿದ" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "ಮೆನುಪಟ್ಟಿಯ ಶೈಲಿ" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "ತ್ರಿಜ್ಯ" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "ಪರಿಹಾರದ ಶೈಲಿ" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "ಹೊಳಪಿನ ಅಥವ ಅಂಟುಅಂಟಾದ ಶೈಲಿಯ ಅಗತ್ಯವಿದೆ" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "ಚಲನಪಟ್ಟಿಕೆಯ ಬಣ್ಣ" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "ಚಲನಪಟ್ಟಿಕೆಗಳ ಬಣ್ಣಗಳನ್ನು ಅಣಿಗೊಳಿಸಿ" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "ನೆರಳು" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "ಶೈಲಿ" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "ಈ ಆಯ್ಕೆಯು ಗಮನ ಸೆಳೆಯುವಿಕೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸುತ್ತದೆ. ಇದರ ಮುಖ್ಯ ಉದ್ದೇಶವೆಂದರೆ ದಸ್ತಾವೇಜುಗಳಿಗಾಗಿ ತೆರೆಚಿತ್ರಗಳನ್ನು ರಚಿಸುವುದಾಗಿರುತ್ತದ." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "ಉಪಕರಣ ಪಟ್ಟಿಕೆಯ ಶೈಲಿ" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "ಕೋಶದ ಸೂಚಕದ ಗಾತ್ರ" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "ಅಂಚಿನ ದಪ್ಪ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ವೃಕ್ಷನೋಟದಲ್ಲಿ ಪರಿಶೀಲನೆ- ಹಾಗು ರೇಡಿಯೋ ಗುಂಡಿಗಳ ಗಾತ್ರ. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "ಹೊಂದಿಸಿದಲ್ಲಿ, ಗುಂಡಿಗಳ ಅಂಚುಗಳನ್ನು ವೃತ್ತಾಕಾರಗೊಳಿಸಲಾಗುವುದು" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "ವೃತ್ತಾಕಾರದ ಗುಂಡಿಗಳು" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "ಬಾಣದ ಗುರುತು" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "ಚುಕ್ಕಿ" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "ಸಂಪೂರ್ಣ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "ಹ್ಯಾಂಡಲ್‌ಬಾಕ್ಸಿನ ಗುರುತುಗಳು" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "ವಿಲೋಮಗೊಂಡ ಚುಕ್ಕಿ" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "ವಿಲೋಮಗೊಂಡ ಅಡ್ಡಗೆರೆ(ಸ್ಲ್ಯಾಶ್)" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "ಬಗೆ 1 ನ್ನು ಗುರುತುಹಾಕು" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "ಚಲನಪಟ್ಟಿಕೆಯ ಗುಂಡಿಗಳ ಬಗೆಯನ್ನು ಗುರುತು ಹಾಕಿ" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "ಚಲನಪಟ್ಟಿಕೆ ಹ್ಯಾಂಡಲ್‌ಗಳು, ಹ್ಯಾಂಡಲ್‌ಚೌಕಗಳು, ಮುಂತಾದವುಗಳಿಗಾಗಿ ಬಗೆಯನ್ನು ಗುರುತುಹಾಕು" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "ಯಾವುದೂ ಇಲ್ಲ" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "ಏನೂ ಇಲ್ಲ" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "ಫಲಕವಾಗಿಸಿದ ಚುಕ್ಕಿಗಳು" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "ಆಯತಾಕಾರ" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "ಚಲನಪಟ್ಟಿಕೆಯ ಗುರುತುಗಳು" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "ಚಲನಪಟ್ಟಿಕೆಯ ಬಗೆ" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "ಚಲನಾಗುಂಡಿಯ ಗುರುತುಗಳು" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "ಆಕಾರಗೊಳಿಸಲಾದ" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "ಅಡ್ಡಗೆರೆ(ಸ್ಲ್ಯಾಶ್)" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "ಕೆಲವು" gtk-engines-2.20.2/po/ko.po0000644000175000017500000001200211445424675012327 00000000000000# gtk-engines translation # This file is distributed under the same license as the PACKAGE package. # Changwoo Ryu , 2007, 2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-28 11:14+0900\n" "PO-Revision-Date: 2009-01-29 01:34+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: GNOME Korea \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3차원 모양 (단추)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3차원 모양 (그라디언트)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "애니메이션" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "클래식" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "스크롤 막대 색 설정" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "색 대비" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "포커스 그리지 않기" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "진행률 표시줄의 애니메이션 사용" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "평평하게" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "광택" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "끈적" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "조각조각" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "반전" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "메뉴모음 종류" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "반지름" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "들어가기 스타일" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "광택이나 끈적 스타일 중 하나가 필요합니다" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "스크롤 막대 색" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "스크롤 막대의 색을 설정합니다" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "그림자" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "종류" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "이 옵션을 사용하면 포커스를 그리지 않습니다. 이 옵션은 주로 문서 스크린샷을 만드는 용도입니다." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "도구 모음 종류" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "셀 컨트롤 크기" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "가장자리 두께" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "트리뷰 안에서 확인란 및 라디오 단추의 크기. (버그 #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "참이면 단추의 구석 부분을 둥그렇게 만듭니다" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "둥그런 단추" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "화살표" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "점" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "채우기" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "핸들상자 표시" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "반전한 점" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "반전한 슬래시" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "표시 종류 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "스크롤막대 단추의 표시 종류" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "스크롤막대 핸들, 핸들 상자 등의 표시 종류" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "없음" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "없음" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "경계 부분 점선" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "사각형" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "스크롤막대 표시" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "스크롤막대 종류" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "스크롤단추 표시" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "모양" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "슬래시" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "일부" gtk-engines-2.20.2/po/lt.po0000644000175000017500000001222411445424675012343 00000000000000# translation of gtk-engines.HEAD.po to Lithuanian # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Gintautas Miliauskas , 2007, 2008. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-03-08 01:26+0200\n" "PO-Revision-Date: 2009-03-08 01:26+0200\n" "Last-Translator: Gintautas Miliauskas \n" "Language-Team: Lithuanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%" "100<10 || n%100>=20) ? 1 : 2);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (mygtukas)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (gradientas)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacijos" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasikinis" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Spalvinti slankiklius" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrastas" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Išjungti fokuso piešimą" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Įjungti animacijas progreso juostose" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plokščias" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Blizgantis" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Guminis" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Įklija" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertuotas" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Meniu stilius" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radiusas" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Reljefo stilius" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Reikia blizgančio arba guminio stiliaus" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Slankiklio spalva" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Nustato slankiklių spalvą" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Šešėlis" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stilius" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Ši parinktis leidžia išjungti fokuso piešimą. Pagrindinis jos tikslas yra " "padėti kurti ekrano vaizdus dokumentacijai." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Įrankių juostos stilius" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Langelių indikatoriaus dydis" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Krašto storis" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Parinkimo ir žymimųjų laukelių dydis sąrašuose ir medžiuose (klaida #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Jei nustatyta, mygtukų kampai suapvalinami" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Suapvalinti mygtukai" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Rodyklė" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Taškas" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Pilnas" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Slankiklio žymės" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Invertuotas taškas" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Invertuotas pasviręs brūkšnys" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Žymės tipas 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Žymės tipas slinkties juostos mygtukams" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Žymės tipas slinkties juostos slankikliams" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Jokio" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Niekas" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Taškai" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Stačiakampis" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Slankiklio žymės" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Slankiklio tipas" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Slinkties juostos mygtukų žymės" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Forminis" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Pasviręs brūkšnys" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Keli" gtk-engines-2.20.2/po/lv.po0000644000175000017500000001206111451353146012333 00000000000000# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Rūdolfs Mazurs , 2010. # Anita Reitere , 2010. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." "cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2010-06-17 13:05+0000\n" "PO-Revision-Date: 2010-06-21 12:56+0300\n" "Last-Translator: Anita Reitere \n" "Language-Team: Latviešu \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-veida (poga)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-veida (krāsu pāreja)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animācijas" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Classic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Iekrāsot ritjoslu" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrasts" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Atslēgt fokusa pārņemšanu" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Ieslēgt progresa joslu animācijas" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plakans" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummy" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inverted" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Izvēlnes joslas stils" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Rādiuss" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Reljefa stils" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Tam vajadzīgs Glossy vai Gummy stils" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Ritjoslu krāsa" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Nosaka ritjoslu krāsu" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Ēna" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stils" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Ļauj atslēgt fokusa pārņemšanu. Paredzēts galvenokārt ekrānattēlu " "uzņemšanai." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Rīkjoslas stils" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Šūnas indikatora izmērs" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Malas biezums" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Atzīmes rūtiņu un radiopogu izmērs kokveida skatos. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ja iestatīts, pogu stūri ir noapaļoti." #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Noapaļotas pogas" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Bulta" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punkts" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Pilns" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Atdalāmas joslas atzīmes" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Invertēts punkts" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Apgriezta slīpsvītra" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Atzīmes tips 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Atzīmes tips ritjoslas pogām" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Atzīmes tips ritjoslas turiem, atdalāmajām joslām u.c." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nekas" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nekas" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Punkti" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Taisnstūris" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Ritjoslas atzīmes" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Ritjoslas tips" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Ritpogu atzīmes" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Formā" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slīpsvītra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Nedaudz" gtk-engines-2.20.2/po/mai.po0000644000175000017500000001100111445424675012462 00000000000000# translation of gtk-engines.master.po to Maithili # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Sangeeta Kumari , 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2009-09-11 10:49+0000\n" "PO-Revision-Date: 2009-09-11 20:46+0530\n" "Last-Translator: Sangeeta Kumari \n" "Language-Team: Maithili \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (बटन)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "संजीवन" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "क्लासिक" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "विरोधी" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "समतल" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "ग्लॉजी" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "इनसेट" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "उनट" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "त्रिज्या" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "छाया" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "शैली" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "अओजार-पट्टीक स्टाइल" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "तीर" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "बिन्दी" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "भरल" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "किछु नहि" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "किछु नहि" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "आयत" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "स्लैश" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "" gtk-engines-2.20.2/po/mk.po0000644000175000017500000001261111445424675012333 00000000000000# translation of mk.po to Macedonian # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Jovan Naumovski , 2007. # Arangel Angov , 2008. msgid "" msgstr "" "Project-Id-Version: mk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-01-28 19:42+0000\n" "PO-Revision-Date: 2008-02-03 19:29+0100\n" "Last-Translator: Arangel Angov \n" "Language-Team: Macedonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d (копче)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d (градиент)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Анимации" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Класично" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Обои го лизгачот" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Контраст" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Enable Animations on Progressbars" msgstr "Овозможи анимација на лентите за прогрес" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Flat" msgstr "Рамни" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Glossy" msgstr "Сјајно" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Gummy" msgstr "Гумено" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Inset" msgstr "Вметнато" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inverted" msgstr "Обратно" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Menubar Style" msgstr "Стил на мени лентата" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Radius" msgstr "Радиус" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Relief Style" msgstr "Опуштен стил" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Requires style Glossy or Gummy" msgstr "Го бара стилот „Сјаен“ или „Гумен“" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Scrollbar Color" msgstr "Боја на лентата за лизгање" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Sets the Color of Scrollbars" msgstr "Ја поставува бојата на лентата за лизгање" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Shadow" msgstr "Сенка" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Style" msgstr "Стил" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Toolbar Style" msgstr "Стил на мени лентата" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Големина на индикаторот на ќелии" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Дебелина на работ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Големина на копчињата за чекирањ и кружните копчиња во прегледи како дрво. " "(Бубачка #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ако е поставено, рабовите ќе се заоблени" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Кружни копчиња" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Стрелка" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Точка" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Целосно" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Ознаки на полето за справување" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Обратна точка" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Обратна коса црта" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Ознака тип 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Тип на ознака за копчињата на лентите за лизгање" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Тип на ознака за справувачите на лентите за лизгање, полињата за справување, " "итн" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Ништо" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ништо" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Наредени точки" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Правоаголник" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Ознаки на лентите за движење" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Тип на ленти за движење" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Ознаки на копчето за лизгање" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Со форма" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Коса црта" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Некои" gtk-engines-2.20.2/po/ml.po0000644000175000017500000001645611445424675012347 00000000000000# translation of gtk-engines.master.ml.po to # Copyright (C) 2007-2008 gtk-engines'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Ani Peter , 2007. # Hari Vishnu , 2008 msgid "" msgstr "" "Project-Id-Version: gtk-engines.master.ml\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2009-04-26 15:20+0000\n" "PO-Revision-Date: 2009-09-12 23:12+0530\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (ബട്ടണ്‍)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (ഗ്രേഡിയന്റ്)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "അനിമേഷനുകള്‍" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "നിത്യഹരിതം" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "സ്ക്രോള്‍ബാറുകള്‍ക്കു് നിറം കൊടുക്കുക" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "വൈരുദ്ധ്യം" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ഫോക്കസ് ഡ്രോയിങ് പ്രവര്‍ത്തന രഹിതമാക്കുക" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "പുരോഗതി കാണിയ്ക്കുന്ന പട്ടകളില്‍ അനിമേഷനുകള്‍ പ്രാവര്‍ത്തികമാക്കുക" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "പരന്ന" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "തിളങ്ങുന്ന" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "ഗമ്മി" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ഇന്‍സെറ്റ്" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "തിരിച്ചിരിക്കുന്നതു്" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "മെനുപ്പട്ടയുടെ രീതികള്‍" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "വ്യാസാര്‍ദ്ധം" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "ആശ്വാസ ശൈലി" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "ഗമ്മി അല്ലെങ്കില്‍ തിളങ്ങുന്ന ശൈലി ആവശ്യമാണു്" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "സ്ക്രോള്‍ബാറിന്റെ നിറം" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "സ്ക്രോള്‍ബാറുകളുടെ നിറം ക്രമികരിക്കുക" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "നിഴല്‍" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "ശൈലി" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "ഈ ഉപാധി ഫോക്കസ് ഡ്രോയിങ് പ്രവര്‍ത്തന രഹിതമാക്കുന്നു. പ്രധാന ഉദ്ദേശം വിവരണക്കുറിപ്പിന്റെ " "സ്ക്രീന്‍ഷോട്ടുകള്‍ എടുക്കുകയെന്നതാണു്." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "ഉപകരണ തട്ടിന്റെ രീതികള്‍" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "സെല്‍ സൂചന വലിപ്പം" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "അറ്റത്തിന്റെ വീതി" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" " ശരി-ചിഹ്നവും (ചെക്കും) റേഡിയൊ ബട്ടനുകളും (തിരഞ്ഞെടുക്കല്‍ ചതുരങ്ങള്‍) - ഇവയുടെ വലിപ്പം " "ട്രീകാഴ്ചകളില്‍ (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "If set, button corners are rounded" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "വട്ടത്തിലുള്ള ബട്ടണുകള്‍" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "അമ്പു്" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "ബിന്ദു" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "മുഴുവന്‍" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "ഹാന്‍ഡില്‍ബോക്സ് അടയാളങ്ങള്‍" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "തിരിച്ചിരിയ്ക്കുന്ന ബിന്ദു" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "തിരിച്ചിടുന്ന സ്ലാഷ്" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "ടൈപ്പ് 1 അടയാളപ്പെടുത്തുക" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "സ്ക്രോള്‍ബാര്‍ ബട്ടണുകള്‍ക്കുള്ള അടയാള രീതി" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "സ്ക്രീന്‍ താഴോട്ടനക്കാനുള്ള ഹാന്റിലുകള്‍, ഹാന്റില്‍ ചതുരങ്ങള്‍, ഇത്യാദിക്കുള്ള അടയാളതരം" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "ഒന്നുമില്ല" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "ശൂന്യം" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "പാളിയിലാക്കിയ ബിന്ദുക്കള്‍" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "ചതുരം" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "സ്ക്രോള്‍ബാര്‍ അടയാളങ്ങള്‍" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "സ്ക്രോള്‍ബാര്‍ തരം" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "സ്ക്രോള്‍ബട്ടണ്‍ അടയാളങ്ങള്‍" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "ആകൃതിയുള്ള" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "സ്ലാഷ്" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "ചിലതു്" gtk-engines-2.20.2/po/mr.po0000644000175000017500000001462011445424675012344 00000000000000# translation of gtk-engines.HEAD.mr.po to marathi # Sandeep Shedmake , 2008, 2009. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD.mr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-03-13 16:19+0530\n" "Last-Translator: Sandeep Shedmake \n" "Language-Team: marathi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "\n" "\n" "\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (बटन)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (ग्रेडीऐंट)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "चित्रचेतनीकरण" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "विशिष्ट" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "रंग आकार स्क्रॉलबार" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "विभिन्नता" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "केंद्रीत रेखाटण अकार्यान्वीत करा" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "सक्षम वर" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "सपाट" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "चकाचक" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "चिकटाऊ" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "आंतरीक" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "आतल्या बाजुला वळणारे" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "मेनुपट्टी शैली" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "त्रिज्या" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "रिलीफ प्रकार" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "चकाचक किंवा चिकटाऊ शैली आवश्यक आहे" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "स्क्रॉलबार रंग" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "स्क्रॉलबारचे रंग निश्चित करतो" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "छायाकृती" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "शैली" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "हा पर्याय केंद्रीत रेखाटण अकार्यान्वीत करण्यास परवानदी देतो. प्राथमिक उद्देश दस्तऐवजीकरण करीता स्क्रीनशॉट बनविणे आहे." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "साधनपट्टी शैली" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "कक्ष सूचकाचा आकार" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "टोकांचा जाडेपणा" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "वृक्षदृश्य मधिल चेक- व रेडिओबटन बटनांचा आकार. (बग #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "निश्चित असल्यास, बनटांचे टोक गोलाकार असतात" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "गोलाकार बटने" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "बाण" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "बिंदू" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "पूर्णतया" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "हँडलबॉक्स चिन्ह" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "आतल्या बाजुला वळणारे बिंदू" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "आतल्या बाजुला वळणारे स्लॅश" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "चिन्ह प्रकार 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "स्क्रॉलबार बटनांकरीता चिन्ह प्रकार" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "स्क्रॉलबार हाताळणी, हॅंडलबॉक्स, इत्यादी करीता चिन्ह प्रकार" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "काहीच नाही" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "काहीच नाही" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "पॅन बिंदू" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "काटकोन" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "स्क्रॉलबार चिन्ह" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "स्क्रॉलबार प्रकार" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "स्क्रॉलबटन चिन्ह" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "पूर्णाकृतीत" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "स्लॅश" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "काहीक" gtk-engines-2.20.2/po/nb.po0000644000175000017500000001164111446654310012315 00000000000000# Norwegian bokmål translation of gtk-engines. # Copyright (C) 2007 # This file is distributed under the same license as the gtk-engines package. # Kjartan Maraas , 2007-2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.21.x\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-05 15:46+0100\n" "PO-Revision-Date: 2009-01-05 15:48+0100\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian bokmål \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (knapp)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animasjoner" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassisk" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Sett farge på rullefeltene" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Slå av tegning av fokus" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Slå på animerte framdriftsindikatorer." #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Flat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Skinnende" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummi" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Innsats" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Omvendt" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Stil for menylinje" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Stil for relieff" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Krev skinnende eller gummi-stil" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Farge for rullefelt" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Setter farge på rullefeltene" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Skygge" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "Dette valget lar deg slå av tegning av fokus. Formålet med å tegne fokus er at det hjelper for skjermdump som brukes i dokumentasjon." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Stil for verktøylinje" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Størrelse på celleindikator" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Tykkelse for kant" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Størrelsen på radio- og avkryssningsknapper (Feil #351764)." #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Gir knapper avrundede kanter" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Avrundete knapper" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Pil" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Prikk" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Full" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Merker for håndtakboks" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Omvendt prikk" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Omvendt skråstrek" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Markeringstype 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Markeringstype for knapper på rullefelt" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Type merking for håndtak på rullefelt, håndtakbokser osv." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Ingen" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ingenting" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Splitta prikker" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rektangel" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Markeringer på rullefelt" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Type rullefelt" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Markeringer på rulleknapper" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Formet" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Skråstrek" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Litt" gtk-engines-2.20.2/po/nl.po0000644000175000017500000001201111445424675012327 00000000000000# Dutch translation for gtk-engines # # This file is distributed under the same license as the gtk-engines package. # # Wouter Bolsterlee , 2007–2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-16 13:00+0100\n" "PO-Revision-Date: 2009-02-16 13:00+0100\n" "Last-Translator: Wouter Bolsterlee \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-achtig (knop)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-achtig (kleurverloop)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animaties" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassiek" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Schuifbalken inkleuren" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" # Vrij vertaald (Wouter Bolsterlee) #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Tekenen van focusranden uitschakelen" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Animaties op voortgangsbalken tonen" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glimmend" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Kleverig" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Ingelegd" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Omgekeerd" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menubalk-stijl" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Reliëfstijl" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Vereist stijl ‘Glimmend’ of ‘Kleverig’" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Schuifbalkkleur" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Stelt de kleur van de schuifbalken in" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Schaduw" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stijl" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Deze opties maakt het mogelijk het tekenen van focusranden uit te schakelen. " "Dit is hoofdzakelijk bedoeld voor het maken van schermafdrukken voor " "documentatie." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Werkbalkstijl" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Cel-inidicatiegrootte" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Randdikte" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Grootte van de aanvink- en keuzevakjes in boomweergaven (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Indien ingeschakeld worden randen van knoppen afgerond" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Ronde knoppen" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Pijl" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Volledig" # Wat is dit? (Wouter Bolsterlee) #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Actievlak-markering" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Omgekeerde punt" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Omgekeerde slash" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Markeringstype 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Markeringstype voor schuifbalkknoppen" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Markeringstype voor schuifbalkknoppen, etc" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Geen" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Niets" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Paneelpunten" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rechthoek" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Schuifbalkmarkering" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Schuifbalktype" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Schuifknopmarkering" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Gevormd" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slash" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Enkele" gtk-engines-2.20.2/po/nn.po0000644000175000017500000001104211445424675012334 00000000000000# Norwegian nynorsk translation of gtk-engines. # Copyright (C) 2007 # This file is distributed under the same license as the gtk-engines package. # Kjartan Maraas , 2007. # Eskild Hustvedt , 2007, 2008 # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.19.x\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-04-04 08:39+0200\n" "PO-Revision-Date: 2008-04-04 08:41+0200\n" "Last-Translator: Eskild Hustvedt \n" "Language-Team: Norwegian Nynorsk \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (knapp)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animasjonar" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassisk" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Set farge på rullefelta" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Enable Animations on Progressbars" msgstr "Slå på animerte framdriftsindikatorar." #: ../schema/clearlooks.xml.in.in.h:8 msgid "Flat" msgstr "Flat" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Glossy" msgstr "Skinnande" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Gummy" msgstr "Gummi" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Inset" msgstr "Innsats" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inverted" msgstr "Omvendt" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Menubar Style" msgstr "Stil for menylinje" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Radius" msgstr "Radius" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Relief Style" msgstr "Stil for relieff" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Requires style Glossy or Gummy" msgstr "Krev skinnande eller gummi-stil" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Scrollbar Color" msgstr "Farge for rullefelt" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Sets the Color of Scrollbars" msgstr "Set farge på rullefelta" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Shadow" msgstr "Skugge" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Style" msgstr "Stil" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Toolbar Style" msgstr "Stil for verktøylinje" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Storleik på celleindikator" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Tykkelse for kant" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Storleiken på radio- og avkryssningsknapper (Feil #351764)." #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Gjev knappar avrundede kantar" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Avrundete knappar" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Pil" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Prikk" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Full" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Merker for handtakboks" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Omvendt prikk" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Omvendt skråstrek" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Markeringstype 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Markeringstype for knappar på rullefelt" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Markeringstype for handtak på rullefelt, handtakboksar osv." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Inga" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ingenting" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Splitta prikker" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rektangel" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Markeringar på rullefelt" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Type rullefelt" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Markeringar på rulleknapper" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Formet" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Skråstrek" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Litt" gtk-engines-2.20.2/po/oc.po0000644000175000017500000000775611445424675012343 00000000000000# Translation of oc.po to Occitan # Occitan translation of gtk-engines. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # # Yannig Marchegay (Kokoyaya) , 2006-2008 msgid "" msgstr "" "Project-Id-Version: oc\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-03-07 10:22+0100\n" "PO-Revision-Date: 2007-12-27 13:34+0100\n" "Last-Translator: Yannig Marchegay (Kokoyaya) \n" "Language-Team: Occitan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacions" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Classic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Enable Animations on Progressbars" msgstr "" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Flat" msgstr "Plan" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Glossy" msgstr "" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Gummy" msgstr "" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Inset" msgstr "" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inverted" msgstr "" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Menubar Style" msgstr "Estil de la barra de menuts" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Radius" msgstr "" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Relief Style" msgstr "" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Requires style Glossy or Gummy" msgstr "" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Scrollbar Color" msgstr "" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Sets the Color of Scrollbars" msgstr "" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Shadow" msgstr "" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Style" msgstr "Estil" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Toolbar Style" msgstr "Estil de barra d'espleches" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Flècha" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Pas cap" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Res" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectangle" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "" gtk-engines-2.20.2/po/or.po0000644000175000017500000001542711445424675012354 00000000000000# translation of or.po to Oriya # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Subhransu Behera , 2007. # Manoj Kumar Giri , 2009. msgid "" msgstr "" "Project-Id-Version: or\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-03-05 13:10+0530\n" "Last-Translator: Manoj Kumar Giri \n" "Language-Team: Oriya \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n\n" "\n" "\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (ବଟନ)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "ଥ୍ରୀ.ଡି. (ଅନୁପାତ)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "ଜୀବନାୟନ" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "ଚିରପ୍ରତିଷ୍ଠିତ" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "ଦୃଶ୍ଯବଦଳା ପଟି ମାନଙ୍କର ରଙ୍ଗ ବିନ୍ଯାସ କରନ୍ତୁ" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "ଆଲୋକ ପ୍ରଦର୍ଶନର ପ୍ରଭେଦ ମାତ୍ରା" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ଲକ୍ଷ୍ୟସ୍ଥଳ ଅଙ୍କନକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "ଅବସ୍ଥିତି ପଟିରେ ଜୀବନାୟନକୁ ସକ୍ରିୟ କରନ୍ତୁ" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "ସମତଳ" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "ଚମକଦାର" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "ଚିପଚିପା" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ଭର୍ତ୍ତିକରନ୍ତୁ" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "ଓଲଟା ବିନ୍ଦୁ" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "ତାଲିକା ପଟି ଶୈଳୀ" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "ବ୍ୟାସାର୍ଦ୍ଧ" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "ମୁକ୍ତ ଶୈଳୀ" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "ଚମକଦାର କିମ୍ବା ଚିପଚିପା ଶୈଳୀ ଆବଶ୍ୟକ" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "ଦୃଶ୍ଯବଦଳା ପଟି ରଙ୍ଗ" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "ଦୃଶ୍ଯବଦଳା ପଟି ମାନଙ୍କର ରଙ୍ଗ ବିନ୍ଯାସ କରନ୍ତୁ" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "ଛାୟା" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "ଶୈଳୀ" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "ଏହି ବିକଳ୍ପ ଲକ୍ଷ୍ୟସ୍ଥଳ ଅଙ୍କନକୁ ନିଷ୍କ୍ରିୟ କରିବାକୁ ଅନୁମତି ଦେଇଥାଏ। ପ୍ରାଥମିକ ଉଦ୍ଦେଶ୍ୟଟି ହେଉଛି " "ଦଲିଲିକରଣ ପାଇଁ ପରଦା ପ୍ରତିଛବି ନିର୍ମାଣ କରନ୍ତୁ।" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "ସାଧନପଟି ଶୈଳୀ" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "କୋଷ ସୂଚକ ଆକାର" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "ଧାର ମୋଟାଇ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ବୃକ୍ଷ ପ୍ରଦର୍ଶନ ମାନଙ୍କ ମଧ୍ଯରେ ଚିହ୍ନିତ- ଏବଂ ରେଡିଓ ବଟନ ମାନଙ୍କର ଆକାର। (ତୃଟି #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "ବିନ୍ଯାସ କରାଯାଇଥିଲେ, ବଟନ କୋଣ ଗୁଡିକ ଗୋଲାକାର ହୋଇଥିବେ।" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "ଗୋଲାକାର ବଟନ" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "ତୀର" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "ବିନ୍ଦୁ" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "ପୂର୍ଣ୍ଣ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "ନିୟନ୍ତ୍ରଣ ବାକ୍ସ ସୂଚକ" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "ଓଲଟା ବିନ୍ଦୁ" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "ଓଲଟା ସ୍ଲାଶ" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "ସୂଚକ ପ୍ରକାର ୧" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "ଦୃଶ୍ଯବଦଳା ବଟନ ପାଇଁ ସୂଚକ ପ୍ରକାର" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "ଦୃଶ୍ଯବଦଳା ନିୟନ୍ତ୍ରଣ, ନିୟନ୍ତ୍ରଣ ବାକ୍ସ, ଇତ୍ଯାଦି ମାନଙ୍କ ପାଇଁ ପ୍ରକାର ସୂଚୀତ କରନ୍ତୁ" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "କିଛି ନୁହେଁ" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "କିଛି ନୁହେଁ" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "ଆଚ୍ଛାଦିତ ବିନ୍ଦୁ" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "ଆୟତାକାର" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "ଦୃଶ୍ଯବଦଳା ପଟି ସୂଚକ" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "ଦୃଶ୍ଯବଦଳା ପଟି ପ୍ରକାର" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "ଦୃଶ୍ଯବଦଳା ବଟନ ସୂଚକ" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "ନିର୍ଦ୍ଦିଷ୍ଟ ଆକାର ବିଶିଷ୍ଟ" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "ସ୍ଲାଶ" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "କିଛି" gtk-engines-2.20.2/po/pa.po0000644000175000017500000001355511446654310012324 00000000000000# translation of gtk-engines.HEAD.po to Punjabi # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # A S Alam , 2007, 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-03-15 07:33+0000\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (ਬਟਨ)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (ਢਾਲੂ)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "ਸਜੀਵਤਾ" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "ਕਲਾਸਿਕ" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "ਰੰਗਦਾਰ ਸਕਰੋਲਪੱਟੀ" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "ਵੱਖਰੇਵਾਂ" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ਫੋਕਸ ਡਰਾਇੰਗ ਆਯੋਗ" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "ਤਰੱਕੀ-ਪੱਟੀਆਂ ਉੱਤੇ ਐਨੀਮੇਸ਼ਨ ਯੋਗ" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "ਸਮਤਲ" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "ਗਲੋਸੀ" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "ਗੱਮੀ" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "ਉਲਟ ਕੀਤਾ" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "ਮੇਨੂ-ਪੱਟੀ ਸਟਾਈਲ" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "ਰੇਡੀਅਸ" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "ਰਾਹਤ ਸਟਾਈਲ" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "ਸਟਾਈਲ ਗਲੋਸੀ ਜਾਂ ਗੱਮੀ ਚਾਹੀਦਾ ਹੈ" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "ਸਕਰੋਲ-ਪੱਟੀ ਰੰਗ" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "ਸਕਰੋਲ-ਪੱਟੀਆਂ ਦਾ ਰੰਗ ਦਿਓ" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "ਸ਼ੇਡੋ" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "ਸਟਾਈਲ" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "ਇਹ ਚੋਣ ਫੋਕਸ ਡਰਾਇੰਗ ਆਯੋਗ ਕਰਨ ਲਈ ਸਹਾਇਕ ਹੈ। ਮੁੱਢਲਾ ਮਕਸਦ ਡੌਕੂਮੈਂਟ ਲਈ " "ਸਕਰੀਨ-ਸ਼ਾਟ ਬਣਾਉਣਾ " "ਹਨ।" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "ਟੂਲਬਾਰ ਸਟਾਈਲ" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "ਸੈੱਲ ਇੰਡੀਕੇਟਰ ਸਾਈਜ਼" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "ਕੋਨ ਚੌੜਾਈ" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ਲੜੀ-ਝਲਕ ਵਿੱਚ ਚੈੱਕ- ਅਤੇ ਰੇਡੀਓ ਬਟਨ ਦਾ ਆਕਾਰ ਹੈ। (ਬੱਗ #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "ਜੇ ਸੈੱਟ ਕੀਤਾ ਤਾਂ ਬਟਨ ਕੋਨੇ ਗੋਲ ਹੋਣਗੇ" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "ਗੋਲ ਬਟਨ" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "ਤੀਰ" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "ਬਿੰਦੀ" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "ਪੂਰਾ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "ਹੈਂਡਲਬਕਸਾ ਮਾਰਕ" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "ਉਲਟ ਡਾਟ" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "ਉਲਟ ਸਲੇਸ਼" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "ਮਾਰਕ ਕਿਸਮ ੧" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "ਸਕਰੋਲ-ਪੱਟੀ ਬਟਨ ਦੀ ਮਾਰਕ ਕਿਸਮ" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "ਸਕਰੋਲ-ਪੱਟੀ ਹੈਂਡਲ, ਹੈਂਡਲ-ਬਕਸੇ ਦੀ ਮਾਰਕ ਕਿਸਮ" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "ਕੋਈ ਨਹੀਂ" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "ਕੁਝ ਨਹੀਂ" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "ਪੈਨ ਕੀਤੇ ਡਾਟ" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "ਚਤੁਰਭੁਜ" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "ਸਕਰੋਲ-ਪੱਟੀ ਮਾਰਕ" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "ਸਕਰੋਲ-ਪੱਟੀ ਕਿਸਮ" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "ਸਕਰੋਲ-ਬਟਨ ਮਾਰਕ" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "ਸ਼ਕਲ" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "ਸਲੇਸ਼" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "ਕੁਝ" gtk-engines-2.20.2/po/pl.po0000644000175000017500000001245311445424675012343 00000000000000# Polish translation of gtk-engines # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Aviary.pl # Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz # pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas: # gnomepl@aviary.pl # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Artur Flinta , 2007. # Aviary.pl , 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-15 19:46+0100\n" "PO-Revision-Date: 2009-02-15 19:49+0100\n" "Last-Translator: Tomasz Dominikowski \n" "Language-Team: Aviary.pl \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Polish\n" "X-Poedit-Country: Poland\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Trójwymiarowość (przycisk)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Trójwymiarowość (cieniowanie)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacje" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasyczny" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Kolorowanie pasków przewijania" #: ../schema/clearlooks.xml.in.in.h:6 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Wyłączenie rysowania skupienia" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Animacje na paskach postępu oraz polach wyboru" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Płaski" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Błyszczący" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gumowaty" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Wstawka" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Odwrócony" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Styl paska menu" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Promień" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Styl rzeźby (relief style)" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Wymaga styli Błyszczący lub Gumowaty" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Kolor paska przewijania" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Ustawia kolor pasków przewijania" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Cień" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Styl" #: ../schema/clearlooks.xml.in.in.h:22 msgid "This option allows to disable the focus drawing. The primary purpose is to create screenshots for documentation." msgstr "Ta opcja pozwala na wyłączenie rysowania skupienia. Głównym zastosowaniem tej opcji jest tworzenie zrzutów ekranu do dokumentacji." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Styl paska menu" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Rozmiar wskaźnika komórki" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Grubość krawędzi" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Rozmiar pól wyboru wewnątrz widoku drzewa. (Błąd #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Określa, czy narożniki przycisków mają być zaokrąglone" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Zaokrąglone przyciski" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Strzałka" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Kropka" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Pełny" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Znaczniki uchwytu" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Odwrócona kropka" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Odwrócony ukośnik" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Pirwszy rodzaj znacznika" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Rodzaj znacznika dla przycisków paska przewijania" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Rodzaj znacznika dla uchwytów pasków przewijania itp." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Brak" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nic" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Wyrównane kropki" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Prostokąt" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Znaczniki paska przewijania" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Rodzaj paska przewijania" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Znaczniki przycisków przewijania" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Uformowane" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Ukośnik" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Część" gtk-engines-2.20.2/po/pt.po0000644000175000017500000001217411445424675012353 00000000000000# gtk-engines Portuguese translation. # Copyright © 2007, 2008, 2009 gtk-engines # This file is distributed under the same license as the gtk-engines package. # Duarte Loreto , 2007, 2008, 2009. # msgid "" msgstr "" "Project-Id-Version: 2.26\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-25 01:32+0000\n" "PO-Revision-Date: 2009-02-25 01:35+0000\n" "Last-Translator: Duarte Loreto \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-simulado (botão)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-simulado (gradiente)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animações" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clássico" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Dar Cor à Barra de Rolamento" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contraste" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Desactivar o desenho do foco" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Activar as Animações em Barras de Progresso" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Liso" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Brilhante" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Borracha" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Embutido" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertido" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Estilo da Barra de Menu" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Raio" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Estilo de Relevo" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requer o estilo Brilhante ou Borracha" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Cor da Barra de Rolamento" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Define a Cor da Barra de Rolamento" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Sombra" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estilo" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Esta opção permite desactivar o desenho do foco. O seu principal objectivo " "é criar capturas de ecrã para documentação." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Estilo da Barra de Ferramentas" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Indicador do Tamanho da Célula" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Espessura da Margem" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Tamanho dos botões de selecção exclusiva e caixas de selecção dentro das " "vistas em árvore. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Se definido, os cantos dos botões são arredondados" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botões Arredondados" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Seta" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Ponto" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Cheio" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marcas da Caixa de Gestão" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Ponto Invertido" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra Invertida" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tipo de Marca 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipo de Marca para os Botões da Barra de Rolamento" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipo de Marca para os Manipuladores da Barra de Rolamento, Caixas de Gestão, " "etc" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nenhum" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nenhum" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Pontos Espaçados" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rectângulo" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marcas da Barra de Rolamento" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipo da Barra de Rolamento" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marcas dos Botões de Rolamento" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Com Formas" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Algumas" gtk-engines-2.20.2/po/pt_BR.po0000644000175000017500000001234211445424675012733 00000000000000# Brazilian Portuguese translation of gtk-engines # Copyright © 2007 gtk-engines # This file is distributed under the same license as the gtk-engines package. # Washington Lins , 2007. # Leonardo Ferreira Fontenelle , 2007, 2008. # Jonh Wendell , 2008 # # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.22\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-06 22:52-0300\n" "PO-Revision-Date: 2009-09-06 22:51-0300\n" "Last-Translator: Krix Apolinário \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-simulado (botão)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-simulado (gradiente)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animações" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clássico" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorir a barra de rolagem" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contraste" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Desabilitar o desenho do foco" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Ativar Animações em Barras de Progresso" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plano" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummy" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Baixo Relevo" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Invertido" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Estilo da Barra de Menu" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Raio" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Estilo do Relevo" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Requer o estilo Glossy ou Gummy" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Cor da Barra de Rolagem" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Define a Cor da Barra de Rolagem" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Com Sombras" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Estilo" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Esta opção permite desabilitar o desenho do foco. O objetivo principal é o " "de criar capturas de tela para documentação." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Estilo da Barra de Ferramentas" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Tamanho do Indicador de Célula" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Espessura da Borda" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Tamanho dos botões de verificação e de seleção dentro das visões de árvore " "(\"treeviews\"). (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Se definido, os cantos dos botões são arredondados" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Botões Arredondados" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Seta" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Ponto" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Cheio" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marcas de \"Handlebox\"" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Ponto Invertido" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Barra Invertida" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Tipo de Marca 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tipo de Marca para os Botões da Barra de Rolagem" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Tipo de Marca para Manipuladores de Barra de Rolagem, \"Handleboxes\" etc." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nenhum" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nada" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Pontos Espaçados" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Retângulo" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marcas da Barra de Rolagem" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tipo da Barra de Rolagem" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marcas dos Botões de Rolagem" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Com Formas" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Barra" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Algumas" gtk-engines-2.20.2/po/ro.po0000644000175000017500000001237111445424675012347 00000000000000# This file is distributed under the same license as the gtk-engines package. # Adi Roiban https://launchpad.net/~adiroiban, 2009 # Lucian Adrian Grijincu , 2009 msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-09-25 04:27+0000\n" "PO-Revision-Date: 2009-10-11 18:15+0300\n" "Last-Translator: Lucian Adrian Grijincu \n" "Language-Team: Gnome Romanian Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2);;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D (buton)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D (degradeu)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animații" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Clasic" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Colorează bara de derulare" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Contrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Dezactivează afișarea focalizării" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Activează animațiile în bara de progres" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Lucios" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Lipicios" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Înscris" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inversat" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Stil bară meniu" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Rază" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Stil relief" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Necesită stilul Lucios sau Lipicios" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Culoare bară de derulare" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Definește culoare barelor de derulare" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Umbră" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Această opțiune permite dezactivarea afișării focalizării. Scopul principal " "este acela de a realiza capturi de ecran pentru documentație." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Stil bară de unelte" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Dimensiune indicator celulă" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Grosime margini" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Dimensiunea butoanelor de bifare și a butoanelor radio în vizualizări" " arborescente. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Dacă este definit, butoanele vor avea colțuri rotunjite" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Butoane rotunjite" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Săgeată" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punct" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Plin" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Marcaje pentru mânere" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Punct inversat" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Linie oblică inversă" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Marcaj tip 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tip de marcaj pentru butoane de derulare" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Tip de marcaj pentru mânerele de derulare, căsuțele de derulare, etc." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Niciunul" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Nimic" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Puncte de separare a componentelor" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Dreptunghi" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Marcaje bară derulare" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tip bară derulare" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Marcaje buton de derulare" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Conturat" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slash" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Câteva" gtk-engines-2.20.2/po/ru.po0000644000175000017500000001353611445424675012361 00000000000000# Translation of gtk-engines to Russian # Copyright (C) 2007 Free Software foundation # # This file is distributed under the same license as the gtk-engines package. # Nickolay V. Shmyrev , 2007. # msgid "" msgstr "" "Project-Id-Version: gtk-engines trunk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-03-12 23:51+0300\n" "PO-Revision-Date: 2008-02-29 12:12+0300\n" "Last-Translator: Alexandre Prokoudine \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "трёхмерность (кнопка)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "трёхмерность (градиент)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Анимации" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Классическая" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Раскрашивать полосы прокрутки" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Контраст" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Выключить рамку фокуса" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Включить анимацию в индикаторах прогресса" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Простой" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Глянец" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Смола" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Вкладка" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Инвертированные" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Стиль меню" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Радиус" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Стиль рельефа" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Требует стиля Глянец или Смола" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Цвет полосы прокрутки" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Устанавливает цвет полос прокрутки" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Тень" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Стиль" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Этот параметр выключает отрисовку рамки фокуса. Он полезен, например, для " "сохранения снимков экрана для документации." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Стиль панели инструментов" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Размер индикатора ячейки" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Толщина углов" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Размер отметок и кнопок выбора в деревьях и списках. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Если установлено, углы кнопок закругляются" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Скруглённые кнопки" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Стрелки" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Точки" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Полностью" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Стиль отделяемой области" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Инвертированные точки" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Инвертированные черточки" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Отметка первого типа" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Тип отметок для кнопок полосы прокрутки" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Тип отметки для бегунков полос прокрутки, панелей отделения и т.д." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Нет" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ничего" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Разделённые точки" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Прямоугольник" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Отметки полосы прокрутки" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Тип полосы прокрутки" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Отметки кнопки прокрутки" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Выделенные" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Черта" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Некоторые" gtk-engines-2.20.2/po/si.po0000644000175000017500000001137111445424675012341 00000000000000# translation of gtk-engines.si.po to Sinhala # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Danishka Navin , 2007. msgid "" msgstr "" "Project-Id-Version: gtk-engines.si\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-04-27 03:43+0100\n" "PO-Revision-Date: 2007-05-31 10:29+0530\n" "Last-Translator: Danishka Navin \n" "Language-Team: Sinhala \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (බොත්තම)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (අනුක්‍ර්‍රමණය)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "සජීවීකරණ" #: ../schema/clearlooks.xml.in.in.h:4 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "ප්‍රභේදනය" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Enable Animations on Progressbars, Radio-, and CheckButtons" msgstr "ප්‍රගති දර්ශකවල, රේඩියෝ-, සහ චෙක් බොත්තම්වල සජීවීකරණ සක්‍රිය කිරිම" #: ../schema/clearlooks.xml.in.in.h:6 msgid "Flat" msgstr "සමතල" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Menubar Style" msgstr "මෙනුබාරයේ රටාව" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Scrollbar Color" msgstr "ස්ක්‍රොල්බාරයේ වර්ණය" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Sets the Color of Scrollbars" msgstr "ස්ක්‍රොල්බාරයේ වර්ණය සකසන්න" #: ../schema/hc.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "සෙල් එක දක්වන විශාලත්වය" #: ../schema/hc.xml.in.in.h:2 msgid "Edge Thickness" msgstr "දාරයේ ඝනකම" #: ../schema/hc.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ට්‍රීවීව්‍ තුළ චෙක්-සහ රේඩියො බොත්තම් වල විශාලත්වය. (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "බොත්තම් මුළු කවාකාර ලෙස සැකසුව හොත්" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "කවාකාර් බොත්තම්" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "ඊතලය" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "තිත" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "පූර්ණ" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "හැඩල්බොක්ස් සලකුණු" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "අපවර්තිත තිත" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "අපවර්තිත ස්ලැශය" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "මුද්‍රා වර්‍ගය 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "ස්ක්‍රෝල්බාරයේ බොත්තම් සඳහා මුද්‍රා වර්‍ගය" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "ස්ක්‍රෝල්බාර හැන්ඩ්ලර්, හැන්ලර්බොක්සර් සදහා මුද්‍රා වර්‍ගය , වෙනත්" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "කිසිවක් නැත" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "කිසිවක් නැත" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "රාමුගත තිත්" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "සෘජුකෝණාශ්‍රය" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "ස්ක්‍රෝල්බාරයේ සලකුණු" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "ස්ක්‍රෝල්බාරයේ වර්‍ග" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "ස්ක්‍රෝල්බොත්තමේ සලකුණු" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "හැඩගැන්වූ" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "ස්ලැෂ්" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "කිහිපයක්" gtk-engines-2.20.2/po/sl.po0000644000175000017500000001221211446654310012327 00000000000000# Slovenian translation of gtk-engines. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Matej Urbančič , 2007 - 2010. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2008-12-14 13:59+0000\n" "PO-Revision-Date: 2010-04-30 10:32+0100\n" "Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian GNOME Translation Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-SourceCharset: utf-8\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d (gumbi)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d (preliv)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacije" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Običajno" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Obarvanje drsnikov" #: ../schema/clearlooks.xml.in.in.h:6 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Onemogoči žariščno risanje" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Omogoči animacije vrstice napredka" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Plosko" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Bleščeče" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Lepljivo" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Vložek" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Preobrnjeno" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Slog menijske vrstice" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radij" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Reliefni slog" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Zahteva bleščeč ali pa lepljiv slog" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Barva drsnika" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Določitev barve drsnikov" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Senca" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Slog" #: ../schema/clearlooks.xml.in.in.h:22 msgid "This option allows to disable the focus drawing. The primary purpose is to create screenshots for documentation." msgstr "Izbrana možnost onemogoči žariščno risanje. Osnovni namen je ustvarjanje zaslonskih slik za dokumentacijo." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Slog orodne vrstice" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Velikost kazalnika celice" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Debelina robov" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Velikost predmetov programa znotraj drevesnega pogleda" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Izbrana možnost omogoči izris zaobljenih robov." #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Zaobljeni gumbi" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Puščica" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Pika" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Polno" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Sledi ročke predala" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Obrnjena točka" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Obrnjena poševnica" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Sled vrste 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Sled za gumbe drsnika" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Sled za ročke drsnika, predalov ..." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Brez" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ničesar" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Točke okna" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Pravokotnik" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Sledi drsnika" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Vrsta drsnika" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Sledi gumba drsnika" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Oblikovano" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Poševnica" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Nekateri" gtk-engines-2.20.2/po/sq.po0000644000175000017500000001156211445424675012353 00000000000000# Përkthimi i mesazheve të gtk-engines në shqip. # Copyright (C) 2007-2008, gtk-engines'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # # Laurent Dhima , 2007, 2008. msgid "" msgstr "" "Project-Id-Version: gtk-engines HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-01-28 19:42+0000\n" "PO-Revision-Date: 2008-09-20 19:18+0200\n" "Last-Translator: Laurent Dhima \n" "Language-Team: Albanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Tredimensional (buton)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Tredimensional (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacione" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasik" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Ngjyros shtyllën e rrëshqitjes" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrasti" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Enable Animations on Progressbars" msgstr "Aktivizon animimet në shtyllën e ecurisë" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Flat" msgstr "E shtrirë" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Glossy" msgstr "Glossy" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Gummy" msgstr "Gummy" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Inset" msgstr "Futur" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inverted" msgstr "Invertuar" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Menubar Style" msgstr "Stili i shtyllës së menu-së" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Radius" msgstr "Rreze" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Relief Style" msgstr "Stili i rilievit" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Requires style Glossy or Gummy" msgstr "Kërkon stilin Glossy ose Gummy" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Scrollbar Color" msgstr "Ngjyra e shtyllës së rrëshqitjes" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Sets the Color of Scrollbars" msgstr "Përcakton ngjyrën e shtyllës së rrëshqitjes" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Shadow" msgstr "Hija" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Style" msgstr "Stili" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Toolbar Style" msgstr "Stili i panelit të instrumentëve" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Treguesi i madhësisë së qelisë" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Trashësia e bordit" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Madhësia e pulsantëve radio dhe të zgjedhjes tek paraqitja e degëzuar." #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Nëse caktuar, këndet e pulsantit janë të rrumbullt" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Pulsantë të rrumbullt" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Shigjetë" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Pikë" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Mbushur" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Shenjat e kutisë së manipolimit" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Pikë e invertuar" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Slash e invertuar" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Shenjë e llojit 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Lloji i shenjës për pulsantët e shtyllës së rrëshqitjes" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "" "Lloji i shënimit për dorezat e shtyllës së rrështijes, kutive të " "manipolimit, etj." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Asnjë" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Asgjë" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Pika paneli" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Drejtkëndësh" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Shënjat e shtyllës së rrëshqitjes" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Lloji i shtyllës së rrëshqitjes" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Shenjat e pulsantit të rrëshkitjes" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Me kornizë" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Slash" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Ndonjë" gtk-engines-2.20.2/po/sr.po0000644000175000017500000001375611446654310012353 00000000000000# Serbian translation of gtk-engines # Courtesy of Prevod.org team (http://prevod.org/) -- 2007 -2009 . # # This file is distributed under the same license as the gtk-engines package. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-04-26 15:20+0000\n" "PO-Revision-Date: 2008-09-20 03:57+0100\n" "Last-Translator: Горан Ракић \n" "Language-Team: Serbian (sr) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n%" "10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3д (дугме)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3д (градијент)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Анимације" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "класична" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Обоји траке за померање" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Контраст" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Искључи превлачење фокуса" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Омогући анимиране показатеље напретка" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Равно" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "стакласта" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "гумена" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Уметак" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Обрнуто" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Стил линије менија" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Пречник" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Стил рељефа" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Захтева стил „Стакласта“ или „Гумена“" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Боја трака за померање" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Поставља боју трака за померање" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Сенка" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Стил" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Ова опција искључује могућности везане за превлачење фокуса. Њена основна сврха " "ја израда снимака екрана приликом писања документације." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Стил траке алатки" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Величина показатеља ћелије" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Дебљина ивице" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Величина радио и дугмади за потврду унутар разгранатог стабла (Грешка " "#351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ако је постављено, дугме је заобљено по ивицама" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Заобљена дугмад" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Стрелица" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Тачка" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Пуна" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Ознака кућице за хватање" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Обрнута тачка" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Обрнута коса црта" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Ознака типа 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Тип ознаке на дугменцима линије за померање" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Тип ознаке за дршке траке за померање, кућица за хватање, итд." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Нема" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ништа" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Поплочане тачкице" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Правоугаоник" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Ознаке на траци за померање" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Тип траке за померање" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Ознаке на дугменцима линије за померање" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Обликовано" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Коса црта" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Неки" gtk-engines-2.20.2/po/sr@latin.po0000644000175000017500000001230711446654310013472 00000000000000# Serbian translation of gtk-engines # Courtesy of Prevod.org team (http://prevod.org/) -- 2007 -2009 . # # This file is distributed under the same license as the gtk-engines package. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-04-26 15:20+0000\n" "PO-Revision-Date: 2008-09-20 03:57+0100\n" "Last-Translator: Goran Rakić \n" "Language-Team: Serbian (sr) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n%" "10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d (dugme)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d (gradijent)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animacije" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "klasična" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Oboji trake za pomeranje" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Isključi prevlačenje fokusa" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Omogući animirane pokazatelje napretka" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Ravno" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "staklasta" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "gumena" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Umetak" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Obrnuto" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Stil linije menija" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Prečnik" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Stil reljefa" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Zahteva stil „Staklasta“ ili „Gumena“" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Boja traka za pomeranje" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Postavlja boju traka za pomeranje" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Senka" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Ova opcija isključuje mogućnosti vezane za prevlačenje fokusa. Njena osnovna svrha " "ja izrada snimaka ekrana prilikom pisanja dokumentacije." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Stil trake alatki" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Veličina pokazatelja ćelije" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Debljina ivice" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Veličina radio i dugmadi za potvrdu unutar razgranatog stabla (Greška " "#351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Ako je postavljeno, dugme je zaobljeno po ivicama" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Zaobljena dugmad" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Strelica" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Tačka" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Puna" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Oznaka kućice za hvatanje" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Obrnuta tačka" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Obrnuta kosa crta" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Oznaka tipa 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Tip oznake na dugmencima linije za pomeranje" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Tip oznake za drške trake za pomeranje, kućica za hvatanje, itd." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Nema" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ništa" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Popločane tačkice" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Pravougaonik" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Oznake na traci za pomeranje" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Tip trake za pomeranje" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Oznake na dugmencima linije za pomeranje" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Oblikovano" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Kosa crta" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Neki" gtk-engines-2.20.2/po/sv.po0000644000175000017500000001163011446654310012344 00000000000000# Swedish translation for gtk-engines. # Copyright (C) 2007, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Daniel Nylander , 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-12-01 22:50+0100\n" "PO-Revision-Date: 2008-12-01 22:54+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d (knapp)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d (gradient)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Animeringar" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klassisk" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Färglägg rullist" #: ../schema/clearlooks.xml.in.in.h:6 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Kontrast" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Inaktivera fokusutritning" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Aktivera animeringar på förloppsmätare" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Flat" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Glansig" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Gummig" # FIXME. Finns det en översättning för inset? #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Inset" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Inverterad" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menyradsstil" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Radie" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Reliefstil" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Kräver stilen Glansig eller Gummig" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Rullistfärg" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Ställer in färg för rullister" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Skugga" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Stil" #: ../schema/clearlooks.xml.in.in.h:22 msgid "This option allows to disable the focus drawing. The primary purpose is to create screenshots for documentation." msgstr "Detta alternativ tillåter att fokusutritning inaktiveras. Det huvudsakliga syftet är att skapa skärmbilder för dokumentation." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Verktygsradsstil" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Storlek för cellindikator" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Kanttjockhet" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Storlek för kryss- och radioknappar inne i trädvyer. (Felrapport #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Om inställd, rundas knappkanter av" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Rundade knappar" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Pil" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Punkt" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Fullständig" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Handtagsrutmärke" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Inverterad punkt" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Inverterat snedstreck" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Märktyp 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Märktyp för rullistknappar" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Märktyp för rullisthandtag, handtagsrutor, etc" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Ingen" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Ingenting" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Panelade punkter" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Rektangel" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Rullistmärken" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Rullisttyp" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Rullknappmärke" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Formad" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Snedstreck" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Viss" gtk-engines-2.20.2/po/ta.po0000644000175000017500000001536411446654310012330 00000000000000# translation of gtk-engines.HEAD.ta.po to Tamil # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Dr.T.Vasudevan , 2007. # I. Felix , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD.ta\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-03-10 16:26+0530\n" "Last-Translator: I. Felix \n" "Language-Team: Tamil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\\n\n" "\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "முப்பரிமாண (பொத்தான்)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "முப்பரிமாண (சரிவு)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "அசைகலை" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "கிளாசிக்" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "உருளைப்பட்டைகளை நிறப்படுத்து" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "வேறுபாடு" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ஃபோகஸ் வரைதலை செயல்நீக்கு" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "முன்னேற்ற பட்டைகளில் அசைவூட்டத்தை செயல்படுத்தவும்" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "தட்டை" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "கிளாசி" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "கம்மி" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "இன்செட்" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "தலைகீழானது" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "பட்டியல்பட்டையின் பாங்கு" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "ரேடியஸ்" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "ரிலீஃப் தோற்றம்" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "ஸ்டைல் கிளாசி அல்லது கம்மி தேவைப்படுகிறது" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "உருளைப்பட்டை நிறம்" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "உருளைப்பட்டைகளின் நிறத்தை அமைக்கிறது" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "நிழல்" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "தோற்றம்" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "இந்த விருப்பம் ஃபோகஸ் வரைதலை செயல்நீக்க அனுமதிக்கிறது. முதன்மை நோக்கம் ஆவணத்தின் திரைப்பிடிப்புகளை உருவாக்குவதாகும்." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "கருவிப்பட்டை தோற்றம்" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "அறை சுட்டி அளவு" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "விளிம்பின் தடிமன்" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "கிளைக்காட்சியில் குறியீட்டு மற்றும் ரேடியோ பொத்தான்களின் அளவு (உள் பிழை #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "அமைத்தால் பொத்தான்கள் வட்டமாக இருக்கும்" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "வட்ட பொத்தான்கள்" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "அம்பு" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "புள்ளி" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "முழுவதும்" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "கைப்பெட்டி குறிகள்" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "தலைகீழ் புள்ளி" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "தலைகீழ் வெட்டு" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "குறி வகை 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "உருளைப்பட்டிகளுக்கு குறி வகை" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "உருளை கைப்பிடிகள், கைப்பிடி பெட்டிகள் ஆகியவற்றுக்கு குறி வகை" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "ஒன்றுமில்லை" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "எதுவுமில்லை" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr " புள்ளிகள்" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "நீள்சதுரம்" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "உருளைப்பட்டி குறிகள்" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "உருளைப்பட்டி வகை" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "உருளைப்பட்டி பொத்தான் குறிகள்" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "வடிவ" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "சாய்கோடு" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "சில" gtk-engines-2.20.2/po/te.po0000644000175000017500000001536011445424675012340 00000000000000# translation of gtk-engines.master.te.po to Telugu # Telugu translation of gtk-engines # Copyright (C) Krishna Babu K , 2008. # This file is distributed under the same license as the gtk-engines package. # # Krishna Babu K , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines.master.te\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-engines&component=general\n" "POT-Creation-Date: 2009-04-26 15:20+0000\n" "PO-Revision-Date: 2009-05-15 12:59+0530\n" "Last-Translator: Krishna Babu K \n" "Language-Team: Telugu \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n\n" "\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d-ish (బటన్)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d-ish (గ్రేడియంట్)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "యానిమేషన్స్" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "శాస్త్రీయ" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "వర్ణరంజిత స్క్రాల్‌బార్" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "కాంతితీవ్రత" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ఫోకస్ డ్రాయింగ్‌ను అచేతనముచేయుము" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "ప్రోగ్రెస్‌బార్ పైన యానిమేషన్స్ ను చేతనంచేయుము" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "సమతల" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "నున్నని" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "జిడ్డుగా" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "లోనిఅమరిక" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "తలక్రిందులైన" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "మెనూబార్ శైలి" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "వ్యాసార్ధం" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "వెసులుబాటు శైలి" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "నున్నని లేదా జిడ్డు శైలి అవసరం" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "స్క్రాల్‌బార్ వర్ణము" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "స్క్రాల్‌బార్స్ వర్ణమును అమర్చుతుమది" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "ఛాయ" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "శైలి" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "ఈ ఐచ్చికము ఫోకస్ డ్రాయింగును అచేతనము చేయుటకు అనుమతిస్తుంది. ప్రాధమిక ప్రయోజనం " "పత్రికీకరణ కొరకు తెరపట్టులను సృష్టించుట." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "సాధనముల శైలి" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "అర సూచకి పరిమాణం" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "అంచు మందం" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "వృక్షదర్శనం లో ఉన్న చెక్ మరియు రెడియో బటన్సు యొక్క పరిమాణం (Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "అమర్చినట్లేతే, బటన్ మూలలు గుండ్రంగాఉంటాయి" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "గుండ్రని బటన్స్" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "బాణము" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "చుక్క" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "పూర్తి" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "హాండిల్‌పెట్టె గుర్తులు" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "తిరొగమన చుక్క" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "తిరొగమన స్లాష్" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "గుర్తు రకం 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "స్క్రాల్‌బార్ బటన్స్ కొరకు గుర్తు రకం" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "స్క్రాల్‌బార్ హాండిల్సు, హాండిల్‌పెట్టెలు, మోద.వానికొరకు గుర్తు రకం" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "ఏదీకాదు" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "ఏమీలేదు" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "పాన్డ్ చుక్కలు" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "దీర్ఘచురస్త్రం" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "స్క్రాల్‌బార్ గుర్తులు" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "స్క్రాల్‌బార్ రకం" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "స్క్రాల్‌బటన్ గుర్తులు" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "మలిచిన" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "స్లాష్" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "కొన్ని" gtk-engines-2.20.2/po/th.po0000644000175000017500000001421611445424675012342 00000000000000# Thai translation of gtk-engines. # Copyright (C) 2007-2009 Free Software Foundation, Inc. # This file is distributed under the same license as the gtk-engines package. # Theppitak Karoonboonyanan , 2007-2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.11.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-06 21:31+0700\n" "PO-Revision-Date: 2009-02-06 21:54+0700\n" "Last-Translator: Theppitak Karoonboonyanan \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3 มิติ (ปุ่ม)" #: schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3 มิติ (ไล่สี)" #: schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "ภาพเคลื่อนไหว" #: schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "ดั้งเดิม" #: schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "ใช้สีในแถบเลื่อน" #: schema/clearlooks.xml.in.in.h:6 schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "ความต่างระดับสี" #: schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "ปิดการวาดโฟกัส" #: schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "ใช้ภาพเคลื่อนไหวในแถบความคืบหน้า" #: schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "แบน" #: schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "มันวาว" #: schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "หนึบหนับ" #: schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "ผลุบเข้า" #: schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "กลับทาง" #: schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "รูปแบบแถบเมนู" #: schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "รัศมี" #: schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "รูปแบบแสงเงา" #: schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "ต้องใช้สไตล์มันวาวหรือหนึบหนับ" #: schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "สีแถบเลื่อน" #: schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "กำหนดสีของแถบเลื่อน" #: schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "เงาตกกระทบ" #: schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "สไตล์" #: schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "ตัวเลือกนี้สามารถใช้ปิดการวาดโฟกัสได้ " "จุดประสงค์หลักคือใช้ในการจับภาพหน้าจอเพื่อใช้ประกอบในเอกสาร" #: schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "รูปแบบแถบเครื่องมือ" #: schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "ขนาดของช่องกาของเซลล์" #: schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "ความหนาของขอบ" #: schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "ขนาดของช่องกาและปุ่มวิทยุภายในแผนภาพต้นไม้ (บั๊ก #351764)" #: schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "ถ้าเลือก มุมของปุ่มกดจะมน" #: schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "ปุ่มมน" #: schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "ลูกศร" #: schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "จุด" #: schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "เต็ม" #: schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "เครื่องหมายที่ช่องมือจับ" #: schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "จุดกลับสี" #: schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "ขีดเฉียง" #: schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "เครื่องหมาย 1" #: schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "เครื่องหมายสำหรับปุ่มของแถบเลื่อน" #: schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "เครื่องหมายสำหรับมือจับ, กล่องมือจับ ฯลฯ ของแถบเลื่อน" #: schema/thinice.xml.in.in.h:10 msgid "None" msgstr "ไม่มี" #: schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "ไม่มี" #: schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "จุดบนเส้นกั้นช่อง" #: schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "สี่เหลี่ยม" #: schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "เครื่องหมายบนแถบเลื่อน" #: schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "ชนิดของแถบเลื่อน" #: schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "เครื่องหมายบนปุ่มแถบเลื่อน" #: schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "รูปร่างพิเศษ" #: schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "ขีดเฉียง" #: schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "บางส่วน" gtk-engines-2.20.2/po/tr.po0000644000175000017500000001211311445424675012346 00000000000000# translation of gtk-engines to Turkish # Copyright (C) 2008 # This file is distributed under the same license as the gtk-engines package. # # Baris Cicek , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-22 19:29+0200\n" "PO-Revision-Date: 2009-02-22 19:30+0200\n" "Last-Translator: Baris Cicek \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3b-gibi (düğme)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3b-gibi (geçiş)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Canlandırmalar" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Klasik" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Renkli Kaydırma Çubuğu" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Zıt" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Odak çizimini kapat" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "İlerleme Çubuklarında Canlandırmaları Etkinleştir" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Düz" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Parlak" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Yapışık" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "İlave" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Ters" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Menü Çubuğu Biçemi" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Çap" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Kabartma Biçemi" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Gereken biçem Parlak ya da Yapışkan" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Kaydırma Çubuğu Rengi" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Kaydırma Çubuklarının Rengini Atar" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Gölge" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Biçem" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Bu seçenek odak çizimini kapatmanıza olanak sağlar. Esas amacı " "belgelendirmeler için ekran görüntüleri oluşturmaktır." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Araç Çubuğu Biçemi" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Hücre Belirteç Boyutu" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Kenar Kalınlığı" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Ağaç görünümlerinde seçim ve radyo düğmeleri boyutu (Hata #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Eğer atanmışsa, düğme köşeleri yuvarlatılmış" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Yuvarlatılmış Düğmeler" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Ok" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Nokta" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Tam" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Tutaç Kutusu İşaretleri" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Ters Çevirilmiş Nokta" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Ters Çevirilmiş Taksim" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "İşaret Tipi 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Kaydırma Çubuğu Düğmeleri için İşaret Tipi" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Kaydırma Çubuğu Tutaçları, Tutaç kutuları vb. için İşaret Tipi" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Hiçbiri" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Hiçbir Şey" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Paneli Noktalar" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Dikdörtgen" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Kaydırma Çubuğu İşaretleri" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Kaydırma Çubuğu Tipi" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Kaydırma Düğmesi İşaretleri" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Şekilli" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Taksim" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Bazı" gtk-engines-2.20.2/po/uk.po0000644000175000017500000001342111445424675012343 00000000000000# Ukrainian translation of gtk-engines. # Copyright (C) 2000 Free Software Foundation, Inc. # Maxim Dziumanenko , 2007 # # wanderlust , 2009. msgid "" msgstr "" "Project-Id-Version: gtk-engines\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-04-26 15:20+0000\n" "PO-Revision-Date: 2009-07-08 11:16+0300\n" "Last-Translator: wanderlust \n" "Language-Team: ukrainian >\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3d (кнопка)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3d (градієнт)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Анімації" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Класична" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Розфарбовувати смуги прокрутки" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Контрастність" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Неможливо фокусувати зображення" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Увімкнути анімацію на індикаторах поступу" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Плоский" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Глянець" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Смола" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Вкладка" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Інвертовані" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Стиль панелі меню" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Радіус" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Стиль рельєфу" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Вимагає стилю Глянець чи Смола" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Колір смуги прокрутки" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Встановлює колір смуги прокрутки" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Тінь" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Стиль" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "" "Цей параметр дозволяє заборонити фокусування зображення. Його основна мета - " "створення знімків для документації." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Стиль панелі інструментів" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Розмір індикатора комірки" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Товщина рамки" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "" "Розмір полів з відміткою та радіокнопок при перегляді дерева. (Помилка " "#351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Якщо встановлено, кути кнопки закруглені" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Закруглені кнопки" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Стрілка" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Крапка" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Повна" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Позначки полів перетягування" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Інвертована точка" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Зворотний слеш" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Позначка типу 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Позначка типу для кнопок смуги прокрутки" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Позначка типу для полів перетягування тощо." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Немає" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Нічого" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Часті крапки" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Прямокутник" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Позначка смуги прокрутки" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Тип смуги прокрутки" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Марки смуги прокрутки" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "З контуром" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Слеш" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Деякі" gtk-engines-2.20.2/po/vi.po0000644000175000017500000001213211445424675012340 00000000000000# Vietnamese translation for GTK Engines. # Copyright © 2009 GNOME i18n Project for Vietnamese. # Clytie Siddall , 2007-2009. # msgid "" msgstr "" "Project-Id-Version: gtk-engines TRUNK\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-02-06 23:58+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.8\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "Kiểu 3D (nút)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "Kiểu 3D (dốc)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "Hoạt ảnh" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "Cổ điển" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "Đặt màu của thanh cuộn" #: ../schema/clearlooks.xml.in.in.h:6 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "Tương phản" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "Tắt chức năng vẽ tiêu điểm" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "Bật hoạt ảnh trên các thanh tiến hành" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "Phẳng" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "Bóng loáng" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "Dính" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "Dát" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "Đảo" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "Kiểu thanh trình đơn" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "Bán kính" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "Kiểu dáng đắp" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "Yêu cầu kiểu dáng Bóng loáng hay Dính" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "Màu thanh cuộn" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "Đặt màu của thanh cuộn" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "Bóng" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "Kiểu dáng" #: ../schema/clearlooks.xml.in.in.h:22 msgid "This option allows to disable the focus drawing. The primary purpose is to create screenshots for documentation." msgstr "Tùy chọn này cho phép người dùng tắt chức năng vẽ tiêu điểm. Mục đích chính là tạo ảnh chụp màn hình cho tài liệu hướng dẫn." #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "Kiểu thanh công cụ" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "Cỡ chỉ thị ô" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "Độ dày cạnh" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "Kích cỡ của các cái nút chọn một và cái nút kiểm bên trong ô xem cây. (Lỗi #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "Đặt thì cái nút có góc tròn" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "Nút góc tròn" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "Mũi tên" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "Chấm" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "Đầy" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Dấu móc hộp" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "Chấm đảo" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "Xuyệc đảo" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "Dấu kiểu 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "Kiểu dấu cho cái nút trên thanh cuộn" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "Kiểu dấu cho các móc trên trên thanh cuộn, hộp kéo v.v." #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "Không có" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "Không gì" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "Chấm ô" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "Chữ nhật" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "Dấu thanh cuộn" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "Kiểu thanh cuộn" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "Dấu nút cuộn" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "Vỡ hình" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "Xuyệc" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "Một số" gtk-engines-2.20.2/po/zh_CN.po0000644000175000017500000001166111446654310012721 00000000000000# Chinese translations for gtk-engines package # gtk-engines 软件包的简体中文翻译. # Copyright (C) 2007 THE GTK-ENGINES'S COPYRIGHT HOLDER # This file is distributed under the same license as the gtk-engines package. # Deng Xiyue , 2007, 2008, 2009. # # msgid "" msgstr "" "Project-Id-Version: gtk-engines HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-" "engines&component=general\n" "POT-Creation-Date: 2009-04-04 13:18+0000\n" "PO-Revision-Date: 2009-04-09 15:08+0800\n" "Last-Translator: Ray Wang \n" "Language-Team: Chinese/Simplified \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D风格(按钮)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D风格(梯度)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "动画效果" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "古典" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "设定滚动条的颜色" #: ../schema/clearlooks.xml.in.in.h:6 ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "对比度" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "禁止绘画焦点" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "开启进度条的动画效果" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "平坦" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "光泽" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "黏性" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "插图" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "反转" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "菜单栏风格" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "半径" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "放松风格" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "要求光泽或者黏性风格" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "滚动条颜色" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "设定滚动条的颜色" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "阴影" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "风格" #: ../schema/clearlooks.xml.in.in.h:22 msgid "" "This option allows to disable the focus drawing. The primary purpose is to " "create screenshots for documentation." msgstr "此选项允许禁止绘画焦点。它的主要目的是创建文档的屏幕截图。" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "工具栏风格" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "单元指示器大小" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "边缘厚度" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "树状显示中多选按钮和单选按钮的大小。(Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "如果开启,按钮边缘将变得圆滑" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "圆滑按钮" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "箭头" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "点" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "满" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "可浮动窗口标记" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "反转的点" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "反转的斜线" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "标记类型1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "滚动条按钮的标记类型" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "滚动条柄、可浮动窗口及其他的标记类型" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "无" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "无" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "网格点" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "矩形" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "滚动条标记" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "滚动条类型" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "滚动按钮标记" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "形状" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "斜线" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "一些" gtk-engines-2.20.2/po/zh_HK.po0000644000175000017500000001137311446654310012723 00000000000000# Chinese (Hong Kong) translation of gtk-engines. # Copyright (C) 2002-2007 Free Software Foundation, Inc. # Chao-Hsiung Liao , 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.17.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-02-09 07:40+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (Hong Kong) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D化(圓鈕)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D化(漸變色)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "動畫" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "古典" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "色彩化捲動軸" #: ../schema/clearlooks.xml.in.in.h:6 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "對比" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "停用焦點繪製" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "啟用進度列動畫效果" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "平坦" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "亮彩" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "橡膠材質" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "插入" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "反轉的" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "選單列風格" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "半徑" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "釋放的樣式" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "要求有光澤的或橡膠材質的" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "捲動軸顏色" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "設定捲動軸的顏色" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "陰影" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "風格" #: ../schema/clearlooks.xml.in.in.h:22 msgid "This option allows to disable the focus drawing. The primary purpose is to create screenshots for documentation." msgstr "這個選項允許停用焦點的繪製。它主要的用途是可以建立文件所需的螢幕快照。" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "工具列樣式" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "儲存格指標大小" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "邊緣厚度" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "核取方塊及樹狀檢視中的單選圓鈕大小。(Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "如果設定,則按鈕的角會成為圓角" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "圓角按鈕" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "箭頭" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "點" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "填滿" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Handlebox 標記" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "反轉的點" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "反轉的斜線" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "標記類型 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "捲動軸按鈕的標記類型" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "捲動軸 Handles, Handleboxes, 等的標記類型" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "沒有" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "沒有" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "拼點" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "矩形" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "捲動軸標記" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "捲動軸類型" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "捲動鈕標記" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "成形" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "斜線" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "一些" gtk-engines-2.20.2/po/zh_TW.po0000644000175000017500000001136511446654310012754 00000000000000# Chinese (Taiwan) translation of gtk-engines. # Copyright (C) 2002-2007 Free Software Foundation, Inc. # Chao-Hsiung Liao , 2008. # msgid "" msgstr "" "Project-Id-Version: gtk-engines 2.17.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-11-07 14:19+0100\n" "PO-Revision-Date: 2009-02-08 15:52+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (Taiwan) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../schema/clearlooks.xml.in.in.h:1 msgid "3d-ish (button)" msgstr "3D化(圓鈕)" #: ../schema/clearlooks.xml.in.in.h:2 msgid "3d-ish (gradient)" msgstr "3D化(漸層)" #: ../schema/clearlooks.xml.in.in.h:3 msgid "Animations" msgstr "動畫" #: ../schema/clearlooks.xml.in.in.h:4 msgid "Classic" msgstr "古典" #: ../schema/clearlooks.xml.in.in.h:5 msgid "Colorize Scrollbar" msgstr "色彩化捲動軸" #: ../schema/clearlooks.xml.in.in.h:6 #: ../schema/industrial.xml.in.in.h:1 msgid "Contrast" msgstr "對比" #: ../schema/clearlooks.xml.in.in.h:7 msgid "Disable focus drawing" msgstr "停用焦點繪製" #: ../schema/clearlooks.xml.in.in.h:8 msgid "Enable Animations on Progressbars" msgstr "啟用進度列動畫效果" #: ../schema/clearlooks.xml.in.in.h:9 msgid "Flat" msgstr "平坦" #: ../schema/clearlooks.xml.in.in.h:10 msgid "Glossy" msgstr "亮彩" #: ../schema/clearlooks.xml.in.in.h:11 msgid "Gummy" msgstr "橡膠材質" #: ../schema/clearlooks.xml.in.in.h:12 msgid "Inset" msgstr "插入" #: ../schema/clearlooks.xml.in.in.h:13 msgid "Inverted" msgstr "反轉的" #: ../schema/clearlooks.xml.in.in.h:14 msgid "Menubar Style" msgstr "選單列風格" #: ../schema/clearlooks.xml.in.in.h:15 msgid "Radius" msgstr "半徑" #: ../schema/clearlooks.xml.in.in.h:16 msgid "Relief Style" msgstr "釋放的樣式" #: ../schema/clearlooks.xml.in.in.h:17 msgid "Requires style Glossy or Gummy" msgstr "要求有光澤的或橡膠材質的" #: ../schema/clearlooks.xml.in.in.h:18 msgid "Scrollbar Color" msgstr "捲動軸顏色" #: ../schema/clearlooks.xml.in.in.h:19 msgid "Sets the Color of Scrollbars" msgstr "設定捲動軸的顏色" #: ../schema/clearlooks.xml.in.in.h:20 msgid "Shadow" msgstr "陰影" #: ../schema/clearlooks.xml.in.in.h:21 msgid "Style" msgstr "風格" #: ../schema/clearlooks.xml.in.in.h:22 msgid "This option allows to disable the focus drawing. The primary purpose is to create screenshots for documentation." msgstr "這個選項允許停用焦點的繪製。它主要的用途是可以建立文件所需的螢幕快照。" #: ../schema/clearlooks.xml.in.in.h:23 msgid "Toolbar Style" msgstr "工具列樣式" #: ../schema/hcengine.xml.in.in.h:1 msgid "Cell Indicator Size" msgstr "儲存格指標大小" #: ../schema/hcengine.xml.in.in.h:2 msgid "Edge Thickness" msgstr "邊緣厚度" #: ../schema/hcengine.xml.in.in.h:3 msgid "Size of check- and radiobuttons inside treeviews. (Bug #351764)" msgstr "核取方塊及樹狀檢視中的單選圓鈕大小。(Bug #351764)" #: ../schema/industrial.xml.in.in.h:2 msgid "If set, button corners are rounded" msgstr "如果設定,則按鈕的角會成為圓角" #: ../schema/industrial.xml.in.in.h:3 msgid "Rounded Buttons" msgstr "圓角按鈕" #: ../schema/thinice.xml.in.in.h:1 msgid "Arrow" msgstr "箭頭" #: ../schema/thinice.xml.in.in.h:2 msgid "Dot" msgstr "點" #: ../schema/thinice.xml.in.in.h:3 msgid "Full" msgstr "填滿" #: ../schema/thinice.xml.in.in.h:4 msgid "Handlebox Marks" msgstr "Handlebox 標記" #: ../schema/thinice.xml.in.in.h:5 msgid "Inverted Dot" msgstr "反轉的點" #: ../schema/thinice.xml.in.in.h:6 msgid "Inverted Slash" msgstr "反轉的斜線" #: ../schema/thinice.xml.in.in.h:7 msgid "Mark Type 1" msgstr "標記類型 1" #: ../schema/thinice.xml.in.in.h:8 msgid "Mark Type for Scrollbar Buttons" msgstr "捲動軸按鈕的標記類型" #: ../schema/thinice.xml.in.in.h:9 msgid "Mark Type for Scrollbar Handles, Handleboxes, etc" msgstr "捲動軸 Handles, Handleboxes, 等的標記類型" #: ../schema/thinice.xml.in.in.h:10 msgid "None" msgstr "沒有" #: ../schema/thinice.xml.in.in.h:11 msgid "Nothing" msgstr "沒有" #: ../schema/thinice.xml.in.in.h:12 msgid "Paned Dots" msgstr "拼點" #: ../schema/thinice.xml.in.in.h:13 msgid "Rectangle" msgstr "矩形" #: ../schema/thinice.xml.in.in.h:14 msgid "Scrollbar Marks" msgstr "捲動軸標記" #: ../schema/thinice.xml.in.in.h:15 msgid "Scrollbar Type" msgstr "捲動軸類型" #: ../schema/thinice.xml.in.in.h:16 msgid "Scrollbutton Marks" msgstr "捲動鈕標記" #: ../schema/thinice.xml.in.in.h:17 msgid "Shaped" msgstr "成形" #: ../schema/thinice.xml.in.in.h:18 msgid "Slash" msgstr "斜線" #: ../schema/thinice.xml.in.in.h:19 msgid "Some" msgstr "一些" gtk-engines-2.20.2/po/ChangeLog0000644000175000017500000004631111445424675013142 000000000000002009-04-10 Funda Wang * zh_CN.po: Updated zh_CN translation. 2009-03-26 Shankar Prasad * kn.po: Updated Kannada translations. 2009-03-25 Shankar Prasad * kn.po: Added Kannada(kn) translations. * LINGUAS: Added kn to the list. 2009-03-18 Djihed Afifi * ar.po: Updated Arabic translation by Djihed Afifi. 2009-03-16 Ignacio Casal Quinteiro * gl.po: Updated Galician translation by Suso Baleato. 2009-03-16 Amitakhya Phukan * LINGUAS: Added as * as.po: Updated Assamese translations. 2009-03-14 Kenneth Nielsen * da.po: Updated Danish translation by Ask H. Larsen 2009-03-13 Kostas Papadimas * el.po: Updated Greek Translation by Jennie Petoumenou. 2009-03-13 Sandeep Shedmake * mr.po: Updated Marathi Translations. 2009-03-10 Ankitkumar Patel * gu.po: Updated Gujarati Translations. 2009-03-10 I. Felix * ta.po: Tamil Translation updated 2009-03-10 Hendrik Richter * de.po: Updated German translation. 2009-03-08 Yair Hershkovitz * he.po: Updated Hebrew translation by Yaron Sharabani. 2009-03-08 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. 2009-03-05 Manoj Kumar Giri * or.po: Updated Oriya Translation. 2009-03-02 Benjamin Berg * LINGUAS: Fix LINUGAS file. 2009-03-02 Milo Casagrande * it.po: Updated Italian translation 2009-02-28 Claude Paroz * fr.po: Updated French translation. 2009-02-25 Duarte Loreto * pt.po: Updated Portuguese translation. 2009-02-23 Philip Withnall * en_GB.po: Updated British English translation. 2009-02-22 Baris Cicek * tr.po: Updated Turkish translation. 2009-02-17 Jani Monoses * LINGUAS: * ro.po: Added Romanian translation by Adi Roiban 2009-02-16 Wouter Bolsterlee * nl.po: Updated Dutch translation by Wouter Bolsterlee. 2009-02-16 Petr Kovar * cs.po: Updated Czech translation by Lucas Lommer. 2009-02-15 Tomasz Dominikowski * pl.po: Updated Polish translation 2009-02-14 Gabor Kelemen * hu.po: Translation updated. 2009-02-12 Inaki Larranaga Murgoitio * eu.po: Updated Basque translation. 2009-02-12 Gil Forcada * ca.po: Updated Catalan translation. 2009-02-10 Alexander Shopov * bg.po: Updated Bulgarian translation by Alexander Shopov 2009-02-09 Chao-Hsiung Liao * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). * zh_TW.po: Updated Traditional Chinese translation(Taiwan). 2009-02-08 Takeshi AIHANA * ja.po: Updated Japanese translation. 2009-02-06 Theppitak Karoonboonyanan * th.po: Updated Thai translation. 2009-02-06 Clytie Siddall * vi.po: Updated Vietnamese translation. 2009-01-29 Changwoo Ryu * ko.po: Updated Korean translation. 2009-01-27 Ilkka Tuohela * fi.po: Updated Finnish translation. 2009-01-26 Jonh Wendell * pt_BR: Updated Brazilian Portuguese translation by Krix Apolinário. 2009-01-05 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. 2008-12-01 Daniel Nylander * sv.po: Updated Swedish translation. 2008-11-08 Jorge Gonzalez * es.po: Updated Spanish translation 2008-09-20 Laurent Dhima * sq.po: Updated Albanian Translation. 2008-09-20 Goran Rakić * sr.po, sr@latin.po: Updated Serbian Translation. 2008-09-18 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-09-17 I. Felix * ta.po: Tamil Translation updated 2008-09-16 Priit Laes * et.po: Translation updated by Ivar Smolin 2008-09-15 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-08-31 Praveen Arimbrathodiyil * ml.po: Malayalam translation updated by Harivishnu 2008-08-30 Sunil Mohan Adapa * LINGUAS: Added Telugu (te). Fixed incorrect order for sq and sr. * te.po: Added Telugu translation done by Krishna Babu K . 2008-08-25 Goran Rakic * LINGUAS, sr@latin.po, sr@Latn.po: Conversion from sr@Latn to sr@latin. 2008-08-6 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-08-06: Sweta Kothari * gu.po: Committed Gujarati Translation. 2008-07-29 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-07-25 Gil Forcada * POTFILES.in: Fixed, now damned-lies can generate stats from gtk-engines. 2008-06-11 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-05-31 Clytie Siddall * vi.po: Updated Vietnamese translation. 2008-05-22 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-05-19 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-05-12 Alexander Shopov * bg.po: Updated Bulgarian translation by Yavor Doganov 2008-04-30 Andre Klapper * LINGUAS: * fur.po: Added Friulian translation on behalf of the Friulian team. Fixes bug #530509. 2008-04-04 Eskild Hustvedt * nn.po: Updated Norwegian Nynorsk translation 2008-03-10 Kostas Papadimas * el.po: Updated Greek translation by Giannis Katsampipis 2008-03-09 Kenneth Nielsen * da.po: Updated Danish translation 2008-03-09 Gabor Kelemen * hu.po: Translation updated 2008-03-09 Chao-Hsiung Liao * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). * zh_TW.po: Updated Traditional Chinese translation(Taiwan). 2008-03-08 Runa Bhattacharjee * bn_IN.po: Updated Bengali India Translation 2008-03-08 Priit Laes * et.po: Translation updated by Ivar Smolin 2008-03-07 Maxim Dziumanenko * uk.po: Update Ukrainian translation. 2008-03-04 Rajesh Ranjan * hi.po: added Hindi translation. 2008-03-03 Alexandre Prokoudine * ru.po: Updated Russian translation. 2008-03-03 Philip Withnall * en_GB.po: Updated British English translation. 2008-03-03 Rahul Bhalerao * mr.po: Updated Marathi translations from Sandeep Shedmake. 2008-03-02 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. 2008-02-27 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-02-26 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-02-26 Changwoo Ryu * ko.po: Updated Korean translation. 2008-02-23 Luca Ferretti * it.po: Updated Italian translation. 2008-02-22 Jonh Wendell * pt_BR: Updated Brazilian Portuguese translation. 2008-02-22 Yair Hershkovitz * he.po: Added Hebrew translation. 2008-02-19 Priit Laes * et.po: Translation updated by Ivar Smolin 2008-02-18 Ilkka Tuohela * fi.po: Updated Finnish translation. 2008-02-17 Wouter Bolsterlee * nl.po: Updated Dutch translation by Wouter Bolsterlee. 2008-02-17 Baris Cicek * tr.po: Added Turkish translation * LINGUAS: Added tr (turkish) 2008-02-17 Gil Forcada * ca.po: Updated Catalan translation. 2008-02-17 Ihar Hrachyshka * be@latin.po: Updated Belarusian Latin translation. 2008-02-13 Chao-Hsiung Liao * LINGUAS: Add zh_HK adn zh_TW * zh_HK.po: Added Traditional Chinese translation(Hong Kong). * zh_TW.po: Added Traditional Chinese translation(Taiwan). 2008-02-13 Ilkka Tuohela * fi.po: Updated Finnish translation. 2008-02-12 Claude Paroz * fr.po: Updated French translation by Robert-André Mauchin. 2008-02-10 Petr Kovar * cs.po: Updated Czech translation by Lucas Lommer. 2008-02-09 Duarte Loreto * pt.po: Updated Portuguese translation. 2008-02-09 Hendrik Brandt * de.po: Updated German translation. 2008-02-09 Theppitak Karoonboonyanan * th.po: Updated Thai translation. 2008-02-08 Inaki Larranaga Murgoitio * eu.po: Updated Basque translation. 2008-02-07 Artur Flinta * pl.po: Updated Polish translation by GNOME PL Team. 2008-02-04 Andre Klapper * LINGUAS: Added missing languages (cs, sr@Latn, ml). 2008-02-03 Arangel Angov * mk.po: Updated Macedonian translation. 2008-02-03 Takeshi AIHANA * ja.po: Updated Japanese translation. 2008-02-02 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. 2008-02-02 Ignacio Casal Quinteiro * gl.po: Updated Galician Translation. 2008-01-31 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-01-29 Jorge Gonzalez * es.po: Updated Spanish translation 2008-01-28 Daniel Nylander * sv.po: Updated Swedish translation. 2008-01-11 Inaki Larranaga Murgoitio * eu.po: Added Basque translation. * LINGUAS: Added "eu" (Basque) entry. 2008-01-07 Priit Laes * et.po: Translation updated by Ivar Smolin 2008-01-05 Clytie Siddall * vi.po: Updated Vietnamese translation. 2008-01-03 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. 2007-12-31 Yannig Marchegay * oc.po: Updated Occitan translation. 2007-12-28 Rahul Bhalerao * mr.po: Added Marathi translations from Sandeep Shedmake. * LINGUAS: Added an entry for Marathi(mr). 2007-12-17 Daniel Nylander * sv.po: Updated Swedish translation. 2007-12-15 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation * nn.po: Updated Norwegian nynorsk translation From Eskild Hustvedt 2007-12-10 Matej Urbančič * sl.po: Updated Slovenian Translation. 2007-12-08 Ihar Hrachyshka * be@latin.po: Updated Belarusian Latin translation. 2007-12-06 Jorge Gonzalez * es.po: Updated Spanish translation 2007-12-01 Ignacio Casal Quinteiro * gl.po: Updated Galician Translation. 2007-11-15 Priit Laes * et.po: Translation updated by Ivar Smolin. 2007-11-14 Matej Urbančič * sl.po: Updated Slovenian Translation. 2007-11-13 Ihar Hrachyshka * be@latin.po: Updated Belarusian Latin translation. 2007-11-13 Daniel Nylander * sv.po: Updated Swedish translation. 2007-11-12 Jorge Gonzalez * es.po: Updated Spanish translation 2007-10-23 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-10-21 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-10-21 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-10-15 Matej Urbančič * sl.po: Updated Slovenian translation. 2007-09-25 Priit Laes * et.po: Translation update by Ivar Smolin. 2007-09-22 Ihar Hrachyshka * LINGUAS: Added be@latin to the list of languages. * be@latin.po: Added Belarusian Latin translation. 2007-09-13 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-09-12 Nickolay V. Shmyrev * LINGUAS: Added Russian to the list of languages. * ru.po: Updated Russian translation. 2007-09-12 Goran Rakić * sr.po, sr@Latn.po: Added Serbian translation. 2007-09-10 Luca Ferretti * LINGUAS: Added Italian to list of languages. * it.po: Added Italian translation. 2007-09-01 Gil Forcada * ca.po: Updated catalan translation. 2007-08-28 Ani Peter * ml.po: Added Malayalam (ml) Translation * LINGUAS: Added Malayalam (ml) to the list of languages 2007-08-15 Ilkka Tuohela * fi.po: Added Finnish translation. 2007-08-14 Simos Xenitellis * el.po: Added Greek translation. * LINGUAS: Added Greek (el) to the list of languages. 2007-08-06 I. Felix * ta.po: Tamil Translation updated by Tirumurthi Vasudevan * LINGUAS: Added Tamil (ta) to The List of Languages. 2007-08-03 Theppitak Karoonboonyanan * LINGUAS: Added 'th'. * th.po: Added Thai translation. 2007-08-02 Hendrik Brandt * de.po: Updated German translation. 2007-08-01 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. 2007-07-08 Takeshi AIHANA * LINGUAS: Added 'ja'. * ja.po: Added Japanese translation. 2007-07-03 Artur Flinta * pl.po: Updated Polish translation by GNOME PL Team. 2007-06-27 Clytie Siddall * LINGUAS: Added vi * vi.po: Added Vietnamese translation. 2007-06-23 Kjartan Maraas * LINGUAS: Add nb * nb.po: Updated Norwegian bokmål translation. 2007-06-22 I. Felix * si.po: Sinhala Translation updated by Danishka Navin * LINGUAS: Added Sinhala (si) to The List of Languages. 2007-06-19 Jakub Friedl * cs.po: Added a new translation by Lucas "Drom" Lommer Thanks to JackTheDipper, Cimi a benzea (#gnome-art). 2007-06-15 Benjamin Berg * POTFILES.in: * POTFILES.skip: Update because I renamed the xml.in.in files to follow the library names. 2007-06-09 Laurent Dhima * sq.po: Added Albanian translation. 2007-06-03 Priit Laes * et.po: Updated Estonian translation by Ivar Smolin . 2007-05-30 Priit Laes * et.po: Updated Estonian translation by Ivar Smolin . 2007-05-28 Runa Bhattacharjee * bn_IN.po: Added Bengali India Translation * LINGUAS: Added Bengali India (bn_IN) to the list of languages. 2007-05-15 Ignacio Casal Quinteiro * gl.po: Updated Galician Translation. 2007-05-11 Subhransu Behera * or.po: Updated Oriya Translation. 2007-05-11 Subhransu Behera * or.po: Added and Updated Oriya Translation. 2007-05-10 Subhransu Behera * LINGUAS: Added Oriya (or) to the list. 2007-04-15 Thomas Wood * LINGUAS: Add hu translation to LINGUAS 2007-04-12 Gintautas Miliauskas * lt.po: Added Lithuanian translation. * LINGUAS: Added Lithuanian (lt) to the list. 2007-04-12 Priit Laes * et.po: Added Estonian translation by Ivar Smolin . * LINGUAS: Added Estonian (et) to the list. 2007-04-09 Gabor Kelemen * hu.po: Translation added. 2007-04-03 Leonardo Ferreira Fontenelle * pt_BR.po: Fix in Brazilian Portuguese translation. 2007-04-03 A S Alam * pa.po: Punjabi Translation Added * LINGUAS: Add pa to list 2007-04-01 Leonardo Ferreira Fontenelle * LINGUAS: Added pt_BR. * pt_BR.po: Added Brazilian Portuguese translation by Washington Ferreira Lins Neto and me, Leonardo Ferreira Fontenelle . 2007-03-29 Claudio Saavedra * LINGUAS: Add 'es'. * es.po: Added Spanish translation by Jorge González. 2007-03-29 Changwoo Ryu * LINGUAS: Added 'ko' (Korean). * ko.po: Added Korean translation. 2007-03-28 Maxim Dziumanenko * LINGUAS: Added entry 'uk' (Ukrainian). * uk.po: Added Ukrainian translation. 2007-03-24 Peter Bach * LINGUAS: Added entry 'da' (Danish). * da.po: Added Danish translation. 2007-03-21 Jovan Naumovski * mk.po: Updated Macedonian translation. 2007-03-21 Alexander Shopov * LINGUAS: Added "bg" (Bulgarian). * bg.po: Added Bulgarian translation by Alexander Shopov 2007-03-20 Stéphane Raimbault * LINGUAS: Added 'fr'. * fr.po: Added French translation by Jonathan Ernst and Claude Paroz. 2007-03-20 Djihed Afifi * ar.po: Added Arabic Translation. * LINGUAS: Added ar. 2007-03-20 Ignacio Casal Quinteiro * gl.po: Added Galician Translation. * LINGUAS: Added 'gl'. 2007-03-20 Josep Puigdemont i Casamajó * ca.po: Added Catalan translation by Gil Forcada and Sílvia Miranda . * LINGUAS: Added Catalan (ca). 2007-03-20 Ankit Patel * gu.po: Updated Gujarati Translation. 2007-03-16 Ankit Patel * gu.po: Updated Gujarati Translation. 2007-03-19 Duarte Loreto * pt.po: Added Portuguese translation. * LINGUAS: Added Portuguese (pt). 2007-03-19 Daniel Nylander * sv.po: Added Swedish translation. * LINGUAS: Added sv. 2007-02-19 Pema Geyleg * LINGUAS: Added 'dz' to the List * dz.po: Added dzongkha translation 2007-03-12 David Lodge * en_GB.po: Updated English (British) translation * LINGUAS: Added en_GB 2007-03-11 Wouter Bolsterlee * LINGUAS: Added nl. 2007-03-11 Wouter Bolsterlee * nl.po: Initial Dutch translation by Wouter Bolsterlee. 2007-03-05 Benjamin Berg Fix make distcheck: * POTFILES.in: * POTFILES.skip: List schema/*.xml.in.in in POTFILES.in and list schema/*.xml.in in POTFILES.skip. Also needed to add this ChangeLog. gtk-engines-2.20.2/po/POTFILES.skip0000644000175000017500000000031511445424675013477 00000000000000schema/clearlooks.xml.in schema/crux-engine.xml.in schema/glide.xml.in schema/hcengine.xml.in schema/industrial.xml.in schema/mist.xml.in schema/redmond95.xml.in schema/smooth.xml.in schema/thinice.xml.in gtk-engines-2.20.2/po/LINGUAS0000644000175000017500000000044311451353154012377 00000000000000# please keep this list alphabetically sorted af ar as ast be@latin bg bn bn_IN ca ca@valencia cs da de dz el en_GB en@shaw es et eu fi fr fur ga gl gu he hi hu id it ja kn ko lt lv mai mk ml mr nb nl nn oc or pa pl pt pt_BR ro ru si sl sq sr sr@latin sv ta te th tr uk vi zh_CN zh_HK zh_TW