mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 16:40:41 -05:00
b5af8fbfac
Add a recipe showing how to implement two simple effects, based on ClutterEffect: an always gray background, and a border with configurable width and color. Also explains the necessity to queue a redraw on the associated actor if the effect's properties change, and shows how to implement that. The example gives the GObject code for both effects, as well as an example application showing how to use them. The example also demonstrates how to disable/enable an effect, making the border round an actor togglable.
183 lines
5.9 KiB
Makefile
183 lines
5.9 KiB
Makefile
include $(top_srcdir)/build/autotools/Makefile.am.silent
|
|
|
|
SUBDIRS = examples
|
|
|
|
NULL =
|
|
|
|
HTML_DIR = $(datadir)/gtk-doc/html
|
|
TARGET_DIR = $(HTML_DIR)/clutter-cookbook
|
|
|
|
XML_FILES = \
|
|
$(srcdir)/actors.xml \
|
|
$(srcdir)/animations.xml \
|
|
$(srcdir)/events.xml \
|
|
$(srcdir)/introduction.xml \
|
|
$(srcdir)/text.xml \
|
|
$(srcdir)/textures.xml \
|
|
$(srcdir)/layouts.xml \
|
|
$(srcdir)/script.xml \
|
|
$(srcdir)/effects.xml \
|
|
$(NULL)
|
|
|
|
XSLTOPTS = \
|
|
--stringparam html.stylesheet style.css \
|
|
--stringparam chapter.autolabel 1 \
|
|
--stringparam appendix.autolabel 1 \
|
|
--stringparam section.autolabel 1 \
|
|
--stringparam gtkdoc.bookname "clutter-cookbook" \
|
|
--stringparam gtkdoc.version @CLUTTER_API_VERSION@ \
|
|
--stringparam callout.graphics 0 \
|
|
--path $(top_srcdir)/doc/common \
|
|
--xinclude
|
|
|
|
XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current
|
|
XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
|
|
|
|
HTML_FILES = $(top_builddir)/doc/cookbook/html/*.html
|
|
CSS_FILES = $(top_builddir)/doc/cookbook/html/*.css
|
|
IMAGE_FILES = \
|
|
$(srcdir)/images/clutter-logo.png \
|
|
$(srcdir)/images/effects-basic.png \
|
|
$(srcdir)/images/effects-basic-background.png \
|
|
$(srcdir)/images/effects-built-in.png \
|
|
$(srcdir)/images/effects-custom-deform.png \
|
|
$(srcdir)/images/effects-custom-deform-back-material.png \
|
|
$(srcdir)/images/textures-reflection.png \
|
|
$(srcdir)/images/actors-opacity.png \
|
|
$(srcdir)/images/actors-opacity-container-affects-opacity.png \
|
|
$(srcdir)/images/text-shadow.png \
|
|
$(srcdir)/images/textures-sub-texture.png \
|
|
$(srcdir)/images/layouts-stacking-diff-actor-sizes.png \
|
|
$(srcdir)/images/events-pointer-motion-stacking.png \
|
|
$(srcdir)/images/layouts-bind-constraint-stage.png \
|
|
$(NULL)
|
|
|
|
VIDEO_FILES = \
|
|
$(srcdir)/videos/animations-fading-out.ogv \
|
|
$(srcdir)/videos/animations-fading-in-then-out.ogv \
|
|
$(srcdir)/videos/animations-path.ogv \
|
|
$(srcdir)/videos/animations-rotating-x-minus-45.ogv \
|
|
$(srcdir)/videos/animations-rotating-y-45.ogv \
|
|
$(srcdir)/videos/animations-rotating-z-90.ogv \
|
|
$(srcdir)/videos/animations-rotating-x-minus-180-with-y-minus-96.ogv \
|
|
$(srcdir)/videos/animations-rotating-x-minus-180-with-z-minus-96.ogv \
|
|
$(srcdir)/videos/animations-rotating-x-centered.ogv \
|
|
$(srcdir)/videos/animations-rotating-y-centered.ogv \
|
|
$(srcdir)/videos/animations-rotating-z-centered.ogv \
|
|
$(srcdir)/videos/animations-rotating-container-reverses-direction.ogv \
|
|
$(srcdir)/videos/effects-custom-deform.ogv \
|
|
$(srcdir)/videos/textures-split-go.ogv \
|
|
$(srcdir)/videos/events-mouse-scroll.ogv \
|
|
$(srcdir)/videos/textures-crossfade-two-textures.ogv \
|
|
$(srcdir)/videos/animations-complex.ogv \
|
|
$(srcdir)/videos/animations-reuse.ogv \
|
|
$(srcdir)/videos/animations-moving-anchors.ogv \
|
|
$(srcdir)/videos/animations-moving-depth.ogv \
|
|
$(srcdir)/videos/animations-looping.ogv \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST = \
|
|
clutter-cookbook.xml.in \
|
|
recipe-template.xml \
|
|
$(IMAGE_FILES) \
|
|
$(XML_FILES) \
|
|
$(VIDEO_FILES)
|
|
|
|
CLEANFILES = \
|
|
pdf-build.stamp \
|
|
html-build.stamp \
|
|
clutter-cookbook.html
|
|
|
|
pdf-build.stamp: clutter-cookbook.xml $(XML_FILES)
|
|
SP_ENCODING=XML SP_CHARSET_FIXED=YES \
|
|
$(JW) -b pdf $(top_builddir)/doc/cookbook/clutter-cookbook.xml \
|
|
&& mv -f clutter-cookbook.pdf clutter-cookbook-@CLUTTER_API_VERSION@.pdf \
|
|
&& echo timestamp > $(@F)
|
|
|
|
html-build.stamp: clutter-cookbook.xml $(XML_FILES)
|
|
if [ ! -d html ] ; then mkdir html ; fi && \
|
|
if [ ! -d html/images ] ; then mkdir html/images ; fi && \
|
|
if [ ! -d html/videos ] ; then mkdir html/videos ; fi && \
|
|
if [ ! -d html/examples ] ; then mkdir html/examples ; fi && \
|
|
$(XSLTPROC) $(XSLTOPTS) -o clutter-cookbook.html $(XSL_XHTML_URI) $(top_builddir)/doc/cookbook/clutter-cookbook.xml && \
|
|
$(XSLTPROC) $(XSLTOPTS) -o html/ cookbook.xsl $(top_builddir)/doc/cookbook/clutter-cookbook.xml && \
|
|
cp $(top_srcdir)/doc/common/style.css html/ && \
|
|
if [[ "$(VIDEO_FILES)" != "" ]] ; then \
|
|
for file in `ls $(VIDEO_FILES)`; do \
|
|
cp $$file html/videos/ ; \
|
|
done \
|
|
fi && \
|
|
cp $(top_srcdir)/doc/cookbook/images/* html/images/ && \
|
|
cp $(top_srcdir)/doc/cookbook/examples/*.c html/examples/ && \
|
|
echo timestamp > $(@F)
|
|
|
|
if ENABLE_PDFS
|
|
#pdf_target = pdf-build.stamp
|
|
pdf_target =
|
|
else
|
|
pdf_target =
|
|
endif
|
|
|
|
if ENABLE_DOCS
|
|
all-local: html-build.stamp $(pdf_target)
|
|
else
|
|
all-local:
|
|
endif
|
|
|
|
clean-local:
|
|
@rm -rf html ; \
|
|
rm -f *.pdf ; \
|
|
rm -f *.stamp
|
|
|
|
uninstall-local:
|
|
@rm -rf $(DESTDIR)$(TARGET_DIR)
|
|
@rm -f $(DESTDIR)$(TARGET_DIR)/clutter-cookbook.devhelp
|
|
|
|
install-data-local:
|
|
installfiles=`echo $(top_builddir)/doc/cookbook/html/*`; \
|
|
if test "$$installfiles" = '$(top_builddir)/doc/cookbook/html/*'; \
|
|
then echo '-- Nothing to install' ; \
|
|
else \
|
|
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) ; \
|
|
for file in `ls $(HTML_FILES) $(CSS_FILES)`; do \
|
|
if [ -f $$file ]; then \
|
|
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(TARGET_DIR)/$$basefile; \
|
|
fi \
|
|
done; \
|
|
fi; \
|
|
if [ -d $(top_srcdir)/doc/cookbook/images ]; \
|
|
then \
|
|
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)/images ; \
|
|
for file in `ls $(IMAGE_FILES)`; do \
|
|
if [ -f $$file ]; \
|
|
then \
|
|
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(TARGET_DIR)/images/$$basefile; \
|
|
fi \
|
|
done; \
|
|
fi; \
|
|
if [ -d $(top_srcdir)/doc/cookbook/videos ]; \
|
|
then \
|
|
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)/videos ; \
|
|
for file in `ls $(VIDEO_FILES)`; do \
|
|
if [ -f $$file ]; \
|
|
then \
|
|
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(TARGET_DIR)/videos/$$basefile; \
|
|
fi \
|
|
done; \
|
|
fi; \
|
|
$(INSTALL_DATA) $(top_builddir)/doc/cookbook/html/clutter-cookbook.devhelp $(DESTDIR)$(TARGET_DIR)/clutter-cookbook.devhelp
|
|
|
|
.PHONY : doc
|
|
|
|
COOKBOOK_BASE_PATH = /home/clutter/web/docs.clutter-project.org/docs/clutter-cookbook
|
|
COOKBOOK_VERSION = $(CLUTTER_API_VERSION)
|
|
COOKBOOK_PATH = $(COOKBOOK_BASE_PATH)/$(COOKBOOK_VERSION)
|
|
|
|
publish: html-build.stamp
|
|
$(QUIET_CP)scp -r html/* clutter@clutter-project.org:$(COOKBOOK_PATH)
|
|
|
|
.PHONY : publish
|