mutter/doc/cookbook/Makefile.am
Elliot Smith b5af8fbfac docs: Add recipe about implementing a ClutterEffect
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.
2011-03-17 15:56:55 +00:00

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