CMakeLists.txt | 4 Makefile.am | 13 VERSION | 2 cmake/CompizFusion.cmake | 30 cmake/addons.cmake | 3 compiz-elements.pc.in | 12 configure.ac | 7 debian/changelog | 13 debian/control | 2 debian/gbp.conf | 8 debian/install | 1 images/autumn1.png |binary images/autumn2.png |binary images/bubbles1.png |binary images/bubbles2.png |binary images/fireflies1.svg | 75 images/fireflies2.svg | 75 images/plugin-elements.png |binary images/snow1.png |binary images/snow2.png |binary images/stars1.png |binary include/Makefile.am | 4 include/compiz-elements.h | 147 metadata/Makefile.am | 6 metadata/atlantis.xml.in | 348 +- metadata/cubemodel.xml.in | 196 + metadata/elements.xml.in | 306 ++ po/LINGUAS | 6 po/POTFILES.in | 1 po/ar.po | 1789 ++++++++---- po/bn.po | 1716 ++++++++--- po/ca.po | 1953 +++++++++---- po/cs.po | 5240 +++++++++++++++++++++++++++++++++++ po/de.po | 2096 +++++++++----- po/el.po | 2429 ++++++++++------ po/en_GB.po | 2058 +++++++++---- po/es.po | 2974 ++++++++++++------- po/eu.po | 3083 +++++++++++++------- po/fa.po | 1517 +++++++--- po/fi.po | 3014 +++++++++++++------- po/fr.po | 2131 +++++++++----- po/gl.po | 2375 ++++++++++----- po/gu.po | 1979 +++++++++---- po/he.po | 5509 +++++++++++++++++++++++++++++++++++++ po/hi.po | 1976 +++++++++---- po/hu.po | 1959 +++++++++---- po/it.po | 2103 +++++++++----- po/ja.po | 1943 ++++++++----- po/ko.po | 2216 +++++++++----- po/nb.po | 1974 +++++++++---- po/nl.po | 1991 +++++++++---- po/pl.po | 3096 ++++++++++++-------- po/pt.po | 2164 ++++++-------- po/pt_BR.po | 2016 +++++++++---- po/ru.po | 2423 ++++++++++------ po/sv.po | 2263 ++++++++++----- po/tr.po | 1930 +++++++++--- po/zh_CN.po | 4292 ++++++++++++++++------------ src/Makefile.am | 2 src/atlantis/Makefile.am | 48 src/atlantis/atlantis-internal.h | 396 ++ src/atlantis/atlantis.c | 919 ++++-- src/atlantis/bfish.c | 226 + src/atlantis/bfish.h | 536 +++ src/atlantis/bubble.c | 74 src/atlantis/chromis.c | 200 + src/atlantis/chromis.h | 293 + src/atlantis/coral.c | 75 src/atlantis/coral.h | 4559 ++++++++++++++++++++++++++++++ src/atlantis/coral2.c | 75 src/atlantis/coral2.h | 5305 +++++++++++++++++++++++++++++++++++ src/atlantis/coral2_low.h | 306 ++ src/atlantis/coral_low.h | 431 ++ src/atlantis/crab.c | 63 src/atlantis/crab.h | 283 + src/atlantis/dolphin.c | 2122 -------------- src/atlantis/dolphin.h | 1847 ++++++++++++ src/atlantis/fish.c | 314 ++ src/atlantis/fish.h | 1750 +++++++++++ src/atlantis/fish2.c | 230 + src/atlantis/fish2.h | 1293 ++++++++ src/atlantis/float.c | 110 src/atlantis/scuttle.c | 144 src/atlantis/shark.c | 1485 +-------- src/atlantis/shark.h | 1159 +++++++ src/atlantis/swim.c | 550 ++- src/atlantis/util.c | 243 + src/atlantis/water.c | 1184 ++++++- src/atlantis/whale.c | 1948 ------------- src/atlantis/whale.h | 1674 +++++++++++ src/cubemodel/CMakeLists.txt | 3 src/cubemodel/Makefile.am | 35 src/cubemodel/cubemodel-internal.h | 246 + src/cubemodel/cubemodel.c | 768 +++++ src/cubemodel/fileParser.c | 524 +++ src/cubemodel/loadModel.c | 1826 ++++++++++++ src/elements/CMakeLists.txt | 3 src/elements/Makefile.am | 38 src/elements/autumn.c | 91 src/elements/bubbles.c | 78 src/elements/elements-internal.h | 157 + src/elements/elements.c | 1786 +++++++++++ src/elements/fireflies.c | 98 src/elements/snow.c | 61 src/elements/stars.c | 57 src/fakeargb/Makefile.am | 9 src/mswitch/Makefile.am | 9 src/snow/Makefile.am | 9 src/snow/snow.c | 8 src/tile/Makefile.am | 9 110 files changed, 82315 insertions(+), 26812 deletions(-)
New commits: commit 34c91206a87c51ead0da783ca8f835859627734d Author: Sean Finney <sean...@debian.org> Date: Tue Apr 7 10:01:31 2009 +0200 update changelog diff --git a/debian/changelog b/debian/changelog index bc27511..1a3b709 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +compiz-fusion-plugins-unsupported (0.8.2-1) unstable; urgency=low + + * New upstream release + * gbp.conf for use with git-buildpackage + * bump compiz-related build-deps to >= 0.8.2 + * gbp.conf for use with git-buildpackage + * bump compiz-related build-deps to >= 0.8.2 + * add build-dep on -plugins-main + * include the compiz-elements.h header file though it may not be + necessary + + -- Sean Finney <sean...@debian.org> Tue, 07 Apr 2009 09:52:31 +0200 + compiz-fusion-plugins-unsupported (0.7.6-1) unstable; urgency=low * New upstream release. commit f235f728311a580165502bcc67634c3f845fc541 Author: Sean Finney <sean...@debian.org> Date: Tue Apr 7 10:08:58 2009 +0200 add build-dep on -plugins-main diff --git a/debian/control b/debian/control index b63643b..41aee23 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: compiz-fusion-plugins-unsupported Priority: extra Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: Sean Finney <sean...@debian.org> -Build-Depends: automake1.9, autotools-dev, compiz-dev (>= 0.8.2), compiz-fusion-bcop (>= 0.8.2), debhelper (>= 5), intltool, libgconf2-dev, libglib2.0-dev, libtool, libxml2-dev, libxslt1-dev, pkg-config, xsltproc, librsvg2-dev, libcairo2-dev, libsm-dev, libglu1-mesa-dev, libdbus-1-dev, libdecoration0-dev, libxml-parser-perl, x11proto-core-dev, libxrender-dev +Build-Depends: automake1.9, autotools-dev, compiz-dev (>= 0.8.2), compiz-fusion-bcop (>= 0.8.2), compiz-fusion-plugins-main (>= 0.8.2), debhelper (>= 5), intltool, libgconf2-dev, libglib2.0-dev, libtool, libxml2-dev, libxslt1-dev, pkg-config, xsltproc, librsvg2-dev, libcairo2-dev, libsm-dev, libglu1-mesa-dev, libdbus-1-dev, libdecoration0-dev, libxml-parser-perl, x11proto-core-dev, libxrender-dev Standards-Version: 3.7.2 Section: x11 commit ec0ddf704b82a1ada8c552f4db132160a707ca7b Author: Sean Finney <sean...@debian.org> Date: Tue Apr 7 09:52:27 2009 +0200 include the compiz-elements.h header file though it may not be necessary diff --git a/debian/install b/debian/install index dae738d..3ed88bb 100644 --- a/debian/install +++ b/debian/install @@ -2,3 +2,4 @@ usr/share/locale/*/LC_MESSAGES/*.mo usr/share/compiz/*.xml usr/share/compiz/*.png usr/lib/compiz/*.so +usr/include/compiz/compiz-elements.h commit bd5f208682bb4f47fceaa10633e6e9f0431a96dc Author: Sean Finney <sean...@debian.org> Date: Tue Apr 7 09:19:28 2009 +0200 bump compiz-related build-deps to >= 0.8.2 diff --git a/debian/control b/debian/control index 1aaed80..b63643b 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: compiz-fusion-plugins-unsupported Priority: extra Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: Sean Finney <sean...@debian.org> -Build-Depends: automake1.9, autotools-dev, compiz-dev (>= 0.7.6), compiz-fusion-bcop (>= 0.7.6), debhelper (>= 5), intltool, libgconf2-dev, libglib2.0-dev, libtool, libxml2-dev, libxslt1-dev, pkg-config, xsltproc, librsvg2-dev, libcairo2-dev, libsm-dev, libglu1-mesa-dev, libdbus-1-dev, libdecoration0-dev, libxml-parser-perl, x11proto-core-dev, libxrender-dev +Build-Depends: automake1.9, autotools-dev, compiz-dev (>= 0.8.2), compiz-fusion-bcop (>= 0.8.2), debhelper (>= 5), intltool, libgconf2-dev, libglib2.0-dev, libtool, libxml2-dev, libxslt1-dev, pkg-config, xsltproc, librsvg2-dev, libcairo2-dev, libsm-dev, libglu1-mesa-dev, libdbus-1-dev, libdecoration0-dev, libxml-parser-perl, x11proto-core-dev, libxrender-dev Standards-Version: 3.7.2 Section: x11 commit d62f31f306a2d0baeecbc77962d4d3e5e5d097f9 Author: Sean Finney <sean...@debian.org> Date: Tue Apr 7 09:17:31 2009 +0200 gbp.conf for use with git-buildpackage diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..db746ed --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,8 @@ +[DEFAULT] +debian-branch = debian-unstable +debian-tag = compiz-fusion-plugins-unsupported-%(version)s +upstream-branch = upstream-unstable +upstream-tag = %(version)s + +[git-dch] +meta = 1 commit 16d22a791c668e4b8475af3d9ac0dbae3977e8b0 Author: Guillaume Seguin <guilla...@segu.in> Date: Mon Mar 9 15:44:05 2009 +0100 * Bump version to 0.8.2 diff --git a/VERSION b/VERSION index 1357b31..2dcc312 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -VERSION=0.7.9 +VERSION=0.8.2 commit a6e34d6347e59236b393213322f1423f4614064b Author: Guillaume Seguin <guilla...@segu.in> Date: Fri Mar 6 03:19:21 2009 +0100 Fix .pc files tarball inclusion diff --git a/cmake/addons.cmake b/cmake/addons.cmake index 4590610..b5b2efb 100644 --- a/cmake/addons.cmake +++ b/cmake/addons.cmake @@ -144,7 +144,7 @@ macro (cf_add_package_generation description) list (APPEND CPACK_SOURCE_IGNORE_FILES "/autom4te.cache") list (APPEND CPACK_SOURCE_IGNORE_FILES "/aclocal.m4") list (APPEND CPACK_SOURCE_IGNORE_FILES "/autogen.sh") - list (APPEND CPACK_SOURCE_IGNORE_FILES "/*.pc") + list (APPEND CPACK_SOURCE_IGNORE_FILES "/\\\\*.pc") list (APPEND CPACK_SOURCE_IGNORE_FILES "/config*") list (APPEND CPACK_SOURCE_IGNORE_FILES "/depcomp") list (APPEND CPACK_SOURCE_IGNORE_FILES "/install-sh") @@ -168,4 +168,4 @@ macro (cf_add_package_generation description) include(CPack) file (REMOVE "${CMAKE_BINARY_DIR}/CPackConfig.cmake") -endmacro (cf_add_package_generation) \ No newline at end of file +endmacro (cf_add_package_generation) commit 5ea4a5f95e23f1c85c2cb9b6d253eba00516f7bb Author: Guillaume Seguin <guilla...@segu.in> Date: Fri Mar 6 03:19:07 2009 +0100 Remove more fusion diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fb7e0d..f4c41b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,4 +24,4 @@ cf_install_plugin_data_files (images) cf_install_plugin_data_files (data) cf_print_plugin_configure_results (src) -cf_add_package_generation ("Compiz Fusion Plugins Unsupported") +cf_add_package_generation ("Compiz Plugins Unsupported") commit 1a2c38655abd5882cab14bce2c48a89e24bac871 Author: Guillaume Seguin <guilla...@segu.in> Date: Thu Mar 5 05:06:06 2009 +0100 Fix POTFILES.in diff --git a/po/POTFILES.in b/po/POTFILES.in index 1021063..94c916d 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,5 @@ metadata/atlantis.xml.in +metadata/elements.xml.in metadata/fakeargb.xml.in metadata/mswitch.xml.in metadata/snow.xml.in commit 11e1ea2b26d35b23f7cfaa6cc0027336a70cd009 Author: Guillaume Seguin <guilla...@segu.in> Date: Thu Mar 5 04:04:17 2009 +0100 Drop -fusion- bits diff --git a/CMakeLists.txt b/CMakeLists.txt index 725d81c..8fb7e0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -project (compiz-fusion-plugins-unsupported) +project (compiz-plugins-unsupported) cmake_minimum_required (VERSION 2.4) diff --git a/configure.ac b/configure.ac index cf35efe..d61cb14 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ(2.57) m4_define([plugins_unsupported_version], [esyscmd(. ./VERSION;echo -n $VERSION)]) -AC_INIT([compiz-fusion-plugins-unsupported], [plugins_unsupported_version], [man...@opencompositing.org]) +AC_INIT([compiz-plugins-unsupported], [plugins_unsupported_version], [man...@opencompositing.org]) #AC_CONFIG_AUX_DIR(config) @@ -19,7 +19,7 @@ AC_CHECK_HEADERS([stdlib.h sys/time.h unistd.h]) IT_PROG_INTLTOOL([0.35.0]) AC_SUBST(ALL_LINGUAS) AM_GLIB_GNU_GETTEXT -GETTEXT_PACKAGE=compiz-fusion-plugins-unsupported +GETTEXT_PACKAGE=compiz-plugins-unsupported AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.]) AC_SUBST(GETTEXT_PACKAGE) commit b134e7930ce4cb42a7510c5614985eeebc3eb1bb Author: Sam Spilsbury <s...@xps-suse.site> Date: Tue Feb 17 23:50:20 2009 +0100 Merge branch 'master' of ../elements-extendable Sam Spilsbury s...@xps-suse.site Sam Spilsbury s...@xps-suse.site Remove the setupbuild file, it was only for personal use Danny Baumann dannybaum...@web.de Danny Baumann dannybaum...@web.de Added CMake build file. Danny Baumann dannybaum...@web.de Danny Baumann dannybaum...@web.de Build fix. Danny Baumann dannybaum...@web.de Danny Baumann dannybaum...@web.de Adapt for text plugin interface changes. Danny Baumann dannybaum...@web.de Danny Baumann dannybaum...@web.de Header file cleanup. diff --git a/include/compiz-elements.h b/include/compiz-elements.h index 831bcc2..3099f40 100644 --- a/include/compiz-elements.h +++ b/include/compiz-elements.h @@ -4,7 +4,11 @@ #include <compiz-core.h> -#define BIG_NUMBER 20000 /* This is the number used to make sure that elements don't get all created in one place. Bigger number, more distance. Possibly fixable later.*/ /*s->width?*/ +/* This is the number used to make sure that elements don't get all + created in one place. Bigger number, more distance. + Possibly fixable later. -> s->width? */ +#define BIG_NUMBER 20000 + #define ELEMENTS_ABIVERSION 20081215 typedef struct _ElementTypeInfo ElementTypeInfo; @@ -15,10 +19,10 @@ typedef struct _ElementTexture ElementTexture; typedef void (*ElementInitiateProc) (CompScreen *s, Element *e); -typedef void (*ElementMoveProc) (CompScreen *s, +typedef void (*ElementMoveProc) (CompScreen *s, ElementAnimation *anim, - Element *e, - int updateDelay); + Element *e, + int updateDelay); typedef void (*ElementFiniProc) (CompScreen *s, Element *e); @@ -35,84 +39,98 @@ typedef void (*ElementFiniProc) (CompScreen *s, typedef struct _ElementsBaseFunctions { - Bool (*newElementType) (CompDisplay *d, - char *name, - char *desc, + Bool (*newElementType) (CompDisplay *d, + char *name, + char *desc, ElementInitiateProc initiate, ElementMoveProc move, ElementFiniProc fini); void (*removeElementType) (CompScreen *s, - char *name); + char *name); + int (*getRand) (int min, int max); float (*mmRand) (int min, int max, float divisor); + int (*boxing) (CompScreen *s); int (*depth) (CompScreen *s); } ElementsBaseFunctions; struct _ElementTypeInfo { - char *name; - char *desc; - ElementInitiateProc initiate; - ElementMoveProc move; - ElementFiniProc fini; - struct _ElementTypeInfo *next; + char *name; + char *desc; + + ElementInitiateProc initiate; + ElementMoveProc move; + ElementFiniProc fini; + + struct _ElementTypeInfo *next; }; struct _ElementTexture { - CompTexture tex; - unsigned int width; - unsigned int height; - Bool loaded; - GLuint dList; + CompTexture tex; + + unsigned int width; + unsigned int height; + + Bool loaded; + GLuint dList; }; struct _Element { - char* type; //Follows the usual pattern, alphabetic except for bubbles, which is 4. - float x, y, z; - float dx, dy, dz; - float rSpeed; - int rDirection; - int rAngle; - float opacity; - float glowAlpha; // Needs to be painted - int nTexture; - void *ptr; // Extensions latch on to this + char *type; /* Follows the usual pattern, alphabetic + except for bubbles, which is 4. */ + float x, y, z; + float dx, dy, dz; + float rSpeed; + int rDirection; + int rAngle; + + float opacity; + float glowAlpha; /* Needs to be painted */ + int nTexture; + + void *ptr; /* Extensions latch on to this */ }; struct _ElementAnimation { - char* type; - char* desc; - int nElement; - int size; - int speed; - int id; // Uniquely idenitifies this animation - Bool active; - ElementTexture *texture; - int nTextures; - Element *elements; - ElementTypeInfo *properties; - struct _ElementAnimation *next; + char *type; + char *desc; + + int nElement; + int size; + int speed; + int id; /* Uniquely idenitifies this animation */ + + Bool active; + + ElementTexture *texture; + int nTextures; + + Element *elements; + ElementTypeInfo *properties; + + struct _ElementAnimation *next; }; /* Resets an animation to defaults */ -void initiateElement (CompScreen *s, +void initiateElement (CompScreen *s, ElementAnimation *anim, - Element *ele); + Element *ele); /* Calls the movement function pointer for an element in an element animation */ -void elementMove (CompScreen *s, - Element *e, +void elementMove (CompScreen *s, + Element *e, ElementAnimation *anim, - int updateDelay); + int updateDelay); /* Used to update all element textures and settings */ void updateElementTextures (CompScreen *s, - Bool changeTextures); + Bool changeTextures); /* Utility Functions */ int elementsGetRand (int min, int max); @@ -122,8 +140,8 @@ int elementsGetEDepth (CompScreen *s); /* Management of ElementAnimations */ ElementAnimation* elementsCreateAnimation (CompScreen *s, - char *name); -void elementsDeleteAnimation (CompScreen *s, + char *name); +void elementsDeleteAnimation (CompScreen *s, ElementAnimation *anim); #endif diff --git a/src/elements/elements-internal.h b/src/elements/elements-internal.h index 9d017cb..f5b9be6 100644 --- a/src/elements/elements-internal.h +++ b/src/elements/elements-internal.h @@ -1,17 +1,19 @@ #include "compiz-elements.h" #include "elements_options.h" +#include <compiz-text.h> #define GET_ELEMENTS_DISPLAY(d) \ - ((ElementsDisplay *) (d)->base.privates[displayPrivateIndex].ptr) + ((ElementsDisplay *) (d)->base.privates[displayPrivateIndex].ptr) #define ELEMENTS_DISPLAY(d) \ - ElementsDisplay *ed = GET_ELEMENTS_DISPLAY (d) + ElementsDisplay *ed = GET_ELEMENTS_DISPLAY (d) #define GET_ELEMENTS_SCREEN(s, ed) \ - ((ElementsScreen *) (s)->base.privates[(ed)->privateIndex].ptr) + ((ElementsScreen *) (s)->base.privates[(ed)->screenPrivateIndex].ptr) #define ELEMENTS_SCREEN(s) \ - ElementsScreen *es = GET_ELEMENTS_SCREEN (s, GET_ELEMENTS_DISPLAY (s->display)) + ElementsScreen *es = GET_ELEMENTS_SCREEN (s, \ + GET_ELEMENTS_DISPLAY (s->display)) #define GLOW_STAGES 5 #define MAX_AUTUMN_AGE 100 @@ -20,54 +22,60 @@ extern int displayPrivateIndex; typedef struct _ElementsDisplay { - int privateIndex; - Bool textAvailable; - ElementTypeInfo *elementTypes; + int screenPrivateIndex; + + TextFunc *textFunc; + + ElementTypeInfo *elementTypes; } ElementsDisplay; typedef struct _ElementsScreen { - CompTimeoutHandle timeoutHandle; - PaintOutputProc paintOutput; - DrawWindowProc drawWindow; - /* text display support */ - CompTexture textTexture; - Pixmap textPixmap; - int textWidth; - int textHeight; - Bool renderText; - /* Information texture rendering */ - ElementTexture *eTexture; - int ntTextures; - int nTexture; - Bool renderTexture; - CompTimeoutHandle renderTimeout; - CompTimeoutHandle switchTimeout; - /* position in list */ - int listIter; - /* animation number according to user set option */ - int animIter; - GLuint displayList; - Bool needUpdate; - ElementAnimation *animations; + PaintOutputProc paintOutput; + DrawWindowProc drawWindow; + + CompTimeoutHandle timeoutHandle; + + /* text display support */ + CompTextData *textData; + Bool renderText; + + /* Information texture rendering */ + ElementTexture *eTexture; + int ntTextures; + int nTexture; + Bool renderTexture; + CompTimeoutHandle renderTimeout; + CompTimeoutHandle switchTimeout; + + /* position in list */ + int listIter; + + /* animation number according to user set option */ + int animIter; + + GLuint displayList; + Bool needUpdate; + + ElementAnimation *animations; } ElementsScreen; /* autumn.c */ typedef struct _AutumnElement { - float autumnFloat[2][MAX_AUTUMN_AGE]; - int autumnAge[2]; - int autumnChange; + float autumnFloat[2][MAX_AUTUMN_AGE]; + int autumnAge[2]; + int autumnChange; } AutumnElement; void initiateAutumnElement (CompScreen *s, - Element *e); + Element *e); void -autumnMove (CompScreen *s, +autumnMove (CompScreen *s, ElementAnimation *anim, - Element *e, - int updateDelay); + Element *e, + int updateDelay); void autumnFini (CompScreen *s, @@ -76,21 +84,21 @@ autumnFini (CompScreen *s, /* fireflies.c */ typedef struct _FireflyElement { - float lifespan; - float age; - float lifecycle; - float dx[4], dy[4], dz[4]; + float lifespan; + float age; + float lifecycle; + float dx[4], dy[4], dz[4]; } FireflyElement; void initiateFireflyElement (CompScreen *s, - Element *e); + Element *e); void -fireflyMove (CompScreen *s, +fireflyMove (CompScreen *s, ElementAnimation *anim, - Element *e, - int updateDelay); + Element *e, + int updateDelay); void fireflyFini (CompScreen *s, @@ -99,13 +107,13 @@ fireflyFini (CompScreen *s, /* snow.c */ void initiateSnowElement (CompScreen *s, - Element *e); + Element *e); void -snowMove (CompScreen *s, - ElementAnimation *anim, - Element *e, - int updateDelay); +snowMove (CompScreen *s, + ElementAnimation *anim, + Element *e, + int updateDelay); void snowFini (CompScreen *s, @@ -114,13 +122,13 @@ snowFini (CompScreen *s, /* stars.c */ void initiateStarElement (CompScreen *s, - Element *e); + Element *e); void -starMove (CompScreen *s, - ElementAnimation *anim, - Element *e, - int updateDelay); +starMove (CompScreen *s, + ElementAnimation *anim, + Element *e, + int updateDelay); void starFini (CompScreen *s, @@ -129,21 +137,21 @@ starFini (CompScreen *s, /* bubbles.c */ typedef struct _BubbleElement { - float bubbleFloat[2][MAX_AUTUMN_AGE]; - int bubbleAge[2]; - int bubbleChange; + float bubbleFloat[2][MAX_AUTUMN_AGE]; + int bubbleAge[2]; + int bubbleChange; } BubbleElement; void initiateBubbleElement (CompScreen *s, - Element *e); + Element *e); void -bubbleMove (CompScreen *s, +bubbleMove (CompScreen *s, ElementAnimation *anim, - Element *e, - int updateDelay); + Element *e, + int updateDelay); void bubbleFini (CompScreen *s, - Element *e); + Element *e); diff --git a/src/elements/elements.c b/src/elements/elements.c index 57355a8..7cf402c 100644 --- a/src/elements/elements.c +++ b/src/elements/elements.c @@ -45,7 +45,6 @@ **/ #include <compiz-core.h> -#include <compiz-text.h> #include <string.h> #include <math.h> #include "elements-internal.h" @@ -161,14 +160,14 @@ static void elementsFreeTitle (CompScreen *s) { ELEMENTS_SCREEN (s); + ELEMENTS_DISPLAY (s->display); - if (!es->textPixmap) + if (!es->textData) return; - releasePixmapFromTexture (s, &es->textTexture); - initTexture (s, &es->textTexture); - XFreePixmap (s->display->display, es->textPixmap); - es->textPixmap = None; + (ed->textFunc->finiTextData) (s, es->textData); + es->textData = NULL; + damageScreen (s); } @@ -177,11 +176,10 @@ elementsRenderTitle (CompScreen *s, char *stringData) { CompTextAttrib tA; - int stride; - void *data; int ox1, ox2, oy1, oy2; ELEMENTS_SCREEN (s); + ELEMENTS_DISPLAY (s->display); elementsFreeTitle (s); @@ -190,43 +188,24 @@ elementsRenderTitle (CompScreen *s, /* 75% of the output device es maximum width */ tA.maxWidth = (ox2 - ox1) * 3 / 4; tA.maxHeight = 100; - tA.screen = s; + + tA.family = "Sans"; tA.size = elementsGetTitleFontSize (s); tA.color[0] = elementsGetTitleFontColorRed (s); tA.color[1] = elementsGetTitleFontColorGreen (s); tA.color[2] = elementsGetTitleFontColorBlue (s); tA.color[3] = elementsGetTitleFontColorAlpha (s); - tA.style = TEXT_STYLE_NORMAL | TEXT_STYLE_BACKGROUND; - tA.backgroundHMargin = 10.0f; - tA.backgroundVMargin = 10.0f; - tA.backgroundColor[0] = elementsGetTitleBackColorRed (s); - tA.backgroundColor[1] = elementsGetTitleBackColorGreen (s); - tA.backgroundColor[2] = elementsGetTitleBackColorBlue (s); - tA.backgroundColor[3] = elementsGetTitleBackColorAlpha (s); - tA.family = "Sans"; - tA.ellipsize = FALSE; - - tA.renderMode = TextRenderNormal; + tA.flags = CompTextFlagWithBackground | CompTextFlagEllipsized; - tA.data = (void *) stringData; + tA.bgHMargin = 10.0f; + tA.bgVMargin = 10.0f; + tA.bgColor[0] = elementsGetTitleBackColorRed (s); + tA.bgColor[1] = elementsGetTitleBackColorGreen (s); + tA.bgColor[2] = elementsGetTitleBackColorBlue (s); + tA.bgColor[3] = elementsGetTitleBackColorAlpha (s); - initTexture (s, &es->textTexture); - - if ((*s->display->fileToImage) (s->display, TEXT_ID, (char *)&tA, - &es->textWidth, &es->textHeight, - &stride, &data)) - { - es->textPixmap = (Pixmap)data; - bindPixmapToTexture (s, &es->textTexture, es->textPixmap, - es->textWidth, es->textHeight, 32); - } - else - { - es->textPixmap = None; - es->textWidth = 0; - es->textHeight = 0; - } + es->textData = (ed->textFunc->renderText) (s, stringData, &tA); } /* Taken from ring.c */ @@ -242,8 +221,8 @@ elementsDrawTitle (CompScreen *s) ELEMENTS_SCREEN(s); - width = es->textWidth; - height = es->textHeight; + width = es->textData->width; + height = es->textData->height; getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2); @@ -260,9 +239,9 @@ elementsDrawTitle (CompScreen *s) glColor4f(1.0f, 1.0f, 1.0f, 0.7f); - enableTexture (s, &es->textTexture, COMP_TEXTURE_FILTER_GOOD); + enableTexture (s, es->textData->texture, COMP_TEXTURE_FILTER_GOOD); - m = &es->textTexture.matrix; + m = &es->textData->texture->matrix; if (es->renderTexture && es->eTexture) { @@ -296,7 +275,7 @@ elementsDrawTitle (CompScreen *s) glEnd (); } - disableTexture (s, &es->textTexture); + disableTexture (s, es->textData->texture); if (es->renderTexture && es->eTexture) { @@ -311,7 +290,7 @@ elementsDrawTitle (CompScreen *s) (float) elementsGetTitleBackColorBlue (s) / OPAQUE, (float) elementsGetTitleBackColorAlpha (s) / OPAQUE); - glTranslatef (x + es->textWidth - width, + glTranslatef (x + es->textData->width - width, y - height + (border / 2), 0.0f); glRectf (0.0f, height, width, 0.0f); @@ -947,7 +926,7 @@ elementsNextElement (CompDisplay *d, es->animIter = lowest; } - if (ed->textAvailable && cType->nValue > 0) + if (ed->textFunc && cType->nValue > 0) { for (info = ed->elementTypes; info; info = info->next) { @@ -960,16 +939,21 @@ elementsNextElement (CompDisplay *d, if (string) { + int height; + elementsRenderTitle (s, string); + + height = es->textData ? es->textData->height : 0; + es->renderText = TRUE; es->renderTexture = createTemporaryTexture (s, cPath, cIter, - es->animIter, es->textHeight); + es->animIter, height); addDisplayTimeouts (s, es->ntTextures > 1); damageScreen (s); } } - else if (ed->textAvailable) + else if (ed->textFunc) { elementsRenderTitle (s, "No elements have been defined"); es->renderText = TRUE; @@ -1044,7 +1028,7 @@ elementsPrevElement (CompDisplay *d, es->listIter = i; } - if (ed->textAvailable && cType->nValue > 0) + if (ed->textFunc && cType->nValue > 0) { for (info = ed->elementTypes; info; info = info->next) { @@ -1057,17 +1041,22 @@ elementsPrevElement (CompDisplay *d, if (string) { + int height; + elementsRenderTitle (s, string); + + height = es->textData ? es->textData->height : 0; + es->renderText = TRUE; es->renderTexture = createTemporaryTexture (s, cPath, cIter, - es->animIter, es->textHeight); + es->animIter, height); addDisplayTimeouts (s, es->ntTextures > 1); damageScreen (s); } } - else if (ed->textAvailable) + else if (ed->textFunc) { elementsRenderTitle (s, "No elements have been defined"); es->renderText = TRUE; @@ -1122,7 +1111,7 @@ elementsToggleSelected (CompDisplay *d, if (cType->nValue < 1) { - if (ed->textAvailable) + if (ed->textFunc) { elementsRenderTitle (s, "No elements have been defined\n"); es->renderText = TRUE; @@ -1149,7 +1138,7 @@ elementsToggleSelected (CompDisplay *d, es->animIter); } - if (ed->textAvailable && elementsGetTitleOnToggle (s) && success) + if (ed->textFunc && elementsGetTitleOnToggle (s) && success) { for (info = ed->elementTypes; info; info = info->next) { @@ -1162,17 +1151,22 @@ elementsToggleSelected (CompDisplay *d, if (string) -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org